CVE-2026-27794 in langgraph-checkpoint
요약
\~에 의해 VulDB • 2026. 06. 08.
LangGraph Checkpoint는 LangGraph 체크포인터를 위한 기본 인터페이스를 정의합니다. 버전 4.0.0 이전의 LangGraph에는, 애플리케이션이 `BaseCache`를 상속하는 캐시 백엔드를 활성화하고 `CachePolicy`를 통해 노드를 캐싱에 참여시키도록 설정할 경우, 캐싱 레이어에서 원격 코드 실행(RCE) 취약점이 존재합니다. `langgraph-checkpoint` 4.0.0 이전 버전에서는 `BaseCache`가 기본적으로 `JsonPlusSerializer(pickle_fallback=True)`를 사용합니다. msgpack 직렬화가 실패할 경우, 캐시된 값이 `pickle.loads(...)`를 통해 역직렬화될 수 있습니다. 캐싱은 기본적으로 활성화되어 있지 않습니다. 애플리케이션은 명시적으로 캐시 백엔드를 활성화하는 경우(예: `StateGraph.compile(...)`에 `cache=...`를 전달하거나 `BaseCache` 구현체를 구성하는 경우), 하나 이상의 노드가 `CachePolicy`를 통해 캐싱에 참여하도록 설정되며, 공격자가 캐시 백엔드에 데이터를 쓸 수 있는 경우에만 영향을 받습니다(예: 인증이 약하거나 없는 네트워크 접근 가능한 Redis 인스턴스, 다른 테넌트나 서비스에서 접근 가능한 공유 캐시 인프라, 또는 쓰기 가능한 SQLite 캐시 파일). 공격자는 LangGraph 프로세스가 나중에 읽고 역직렬화할 수 있도록 캐시 백엔드에 공격자가 제어하는 바이트를 쓸 수 있어야 합니다. 이는 일반적으로 네트워크에 연결된 캐시에 대한 쓰기 접근 권한(예: 인증이 약하거나 없는 네트워크 접근 가능한 Redis 인스턴스 또는 다른 테넌트나 서비스에서 접근 가능한 공유 캐시 인프라) 또는 로컬 캐시 저장소에 대한 쓰기 접근 권한(예: 관대한 파일 권한을 가진 쓰기 가능한 SQLite 캐시 파일 또는 공유 쓰기 가능한 볼륨)을 필요로 합니다. 공격에 캐시 저장 계층에 대한 쓰기 접근 권한이 필요하므로, 이는 컴프로마이즈 또는 접근 이후의 권한 상승(escalation) 벡터입니다. LangGraph Checkpoint 4.0.0은 해당 문제를 패치합니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.