🔍 CVE-2026-44843

8.2
CVSS Score
HIGH
2026-05-26
2026-07-24 11:10
✅ 완료

🇰🇷 한글 설명

LangChain 프레임워크의 역직렬화 취약점으로, 과도하게 넓은 객체 allowlist를 사용하여 신뢰할 수 없는 LangChain 직렬화 객체가 로드될 수 있습니다. 공격자가 조작된 생성자 딕셔너리를 전송하면 신뢰할 수 없는 인자로 클래스가 인스턴스화되어 임의의 코드 실행으로 이어질 수 있습니다.

💡 쉬운 설명

LangChain이 외부에서 받은 데이터를 검증 없이 실행 가능한 코드로 변환합니다. 공격자가 조작된 데이터를 보내면 예상치 못한 위험한 코드가 실행될 수 있습니다.

🇺🇸 원문 (English)

LangChain is a framework for building agents and LLM-powered applications. Prior to 0.3.85 and 1.3.3, LangChain contains older runtime code paths that deserialize run inputs, run outputs, or other application-controlled payloads using overly broad object allowlists. These paths may call load() with allowed_objects="all". This does not enable arbitrary Python object deserialization, but it does allow any trusted LangChain-serializable object to be revived, which is broader than these runtime paths require. As a result, attacker-supplied LangChain serialized constructor dictionaries may cause trusted runtime paths to instantiate classes with untrusted constructor arguments. This vulnerability is fixed in 0.3.85 and 1.3.3.

📍 영향받는 시스템

LangChain 0.3.85 미만 및 1.3.3 미만 버전 모두

⚔️ 공격 벡터

LangChain 직렬화 형식의 조작된 생성자 딕셔너리를 application-controlled payload로 주입

🛡️ 대응 방법

LangChain을 0.3.85 이상 또는 1.3.3 이상으로 즉시 업그레이드

🔧 검증 코드

명령어가 버전을 반환하면 그 버전이 0.3.85 미만 또는 1.3.3 미만인지 확인하여 취약 여부 판단

Shell / Script
python -c "import langchain; print(langchain.__version__)" 2>/dev/null | grep -E '^[0-3]\.[0-2]\.[0-9]+|^0\.3\.[0-8][0-9]|^1\.[0-3]\.0|^1\.3\.[0-2]'

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Python