왜 중요한가
LangGraph 체크포인트는 전체 에이전트 상태를 보유 — 대화 기록, 중간 추론, 도구 출력. LangGraph+MongoDB에 구축된 멀티-테넌트 SaaS에서, 이는 인증된 한 테넌트가 다른 테넌트의 에이전트 세션 데이터를 읽도록 허용하며, 널리 사용되는 에이전트 오케스트레이션 스택에서 직접적인 교차-고객 데이터 누출.
공격 경로
MongoDBSaver.list()/alist()와 MongoDBStore.search()는 필터 딕셔너리를 MongoDB 쿼리에 포함시키며 재귀적으로 $-접두사 키를 거부하지 않음. 필터 인수를 제어하는 인증된 호출자 (HTTP 파라미터, 요청 본문, 또는 에이전트 도구 인수를 통해)는 $regex/$where과 같은 연산자를 주입하여 테넌트-격리 동등성 필터를 우회하고 다른 테넌트의 LangGraph 체크포인트/스토어 데이터를 읽을 수 있음.
영향받는 시스템
langgraph-checkpoint-mongodb < 0.3.0; langgraph-store-mongodb < 0.4.0
완화 방안
langgraph-checkpoint-mongodb 0.3.0과 langgraph-store-mongodb 0.4.0으로 업그레이드.