🔍 CVE-2026-26019

4.1
CVSS Score
MEDIUM
2026-02-11
2026-06-17 10:25
✅ 완료

🇰🇷 한글 설명

LangChain의 RecursiveUrlLoader 클래스에서 URL 비교 시 단순 문자열 비교 방식을 사용하여 발생한 취약점입니다. 공격자가 대상 도메인과 접두사가 일치하는 악성 도메인 링크를 포함하거나, 내부망 및 클라우드 메타데이터 서비스(SSRF)로 연결되는 링크를 통해 비정상적인 접근을 유도할 수 있습니다. 이 문제는 1.1.14 버전에서 수정되었습니다.

💡 쉬운 설명

웹사이트를 자동으로 읽어오는 기능이 이름이 비슷한 가짜 사이트나 회사 내부의 비밀 페이지를 구분하지 못하는 문제입니다. 이를 통해 해커가 회사의 중요한 내부 정보나 서버 설정 정보를 몰래 훔쳐갈 수 있습니다.

🇺🇸 원문 (English)

LangChain is a framework for building LLM-powered applications. Prior to 1.1.14, the RecursiveUrlLoader class in @langchain/community is a web crawler that recursively follows links from a starting URL. Its preventOutside option (enabled by default) is intended to restrict crawling to the same site as the base URL. The implementation used String.startsWith() to compare URLs, which does not perform semantic URL validation. An attacker who controls content on a crawled page could include links to domains that share a string prefix with the target, causing the crawler to follow links to attacker-controlled or internal infrastructure. Additionally, the crawler performed no validation against private or reserved IP addresses. A crawled page could include links targeting cloud metadata services, localhost, or RFC 1918 addresses, and the crawler would fetch them without restriction. This vulnerability is fixed in 1.1.14.

📍 영향받는 시스템

@langchain/community RecursiveUrlLoader (1.1.14 미만 버전)

⚔️ 공격 벡터

크롤링 대상 페이지에 조작된 URL(접두사 일치 도메인 또는 내부 IP)을 포함시켜 SSRF 공격 수행

🛡️ 대응 방법

@langchain/community 패키지를 1.1.14 버전 이상으로 업데이트

🔧 검증 코드

출력된 버전 번호가 1.1.14보다 낮으면 취약한 상태이며, 1.1.14 이상이면 안전합니다.

Shell / Script
npm list @langchain/community | grep -E '@langchain/community@([0-9]+\.[0-9]+\.[0-9]+)'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:N/A:N

💻 영향받는 소프트웨어

Cloud Services