MediumVulnerability
GHSA-mhr3-j7m5-c7c9: LangGraph: BaseCache Deserialization of Untrusted Data may lead to Remote Code Execution
- Identifiers
- CVE-2026-27794GHSA-mhr3-j7m5-c7c9
- Published
- Record updated
- Affected
- langgraph-checkpoint < 4.0.0
- Fixed in
- 4.0.0
- released January 12, 2026, 44 days before disclosure
- Known exploitation
- Not listed in the CISA Known Exploited Vulnerabilities catalog at the last check.
- EPSS
- 0.8%
Summary
LangGraph's caching layer can deserialize attacker-controlled cache entries with pickle.loads when msgpack serialization fails. Before langgraph-checkpoint 4.0.0, BaseCache defaults to JsonPlusSerializer(pickle_fallback=True), so exploitation leads to remote code execution in the LangGraph process. Exploitation requires that caching is enabled and that the attacker can write to the cache backend, making it a post-compromise escalation vector.
Mitigation
Upgrade to langgraph-checkpoint>=4.0.0.
Affected packages in the Exposure Registry
Matched by package name and ecosystem. Each entry shows whether the package delegates to a language model and how many tracked packages depend on it.
- langgraph-checkpointPyPILLM dependency since 2024-08-02 · 7 tracked dependents
Related items
- MediumGHSA-8prr-f582-jqq3: LangGraph CLI prints the registry push token in `langgraph deploy --verbose` outputSame vendor · GitHub Advisory Database
- HighGHSA-4hm6-w6qq-w73v: LangGraph JavaScript custom authentication may permit cross-user Store accessSame vendor · GitHub Advisory Database
- MediumGHSA-3fx2-cqw9-xr3c: LangGraph: Unencoded identifiers in LangGraph SDK v3 streaming can redirect authenticated GET requestsSame vendor · GitHub Advisory Database
- MediumGHSA-6hmw-9432-67qq: LangGraph: Namespace labels containing `.` reach other namespaces in Postgres and SQLite storesSame vendor · GitHub Advisory Database
- MediumCVE-2026-108575: BerriAI LiteLLM improper authorization in secret resolution via api_keySame vendor · NVD/CVE Database