CVE-2026-28277
Published: 05 March 2026
Summary
CVE-2026-28277 is a medium-severity Deserialization of Untrusted Data (CWE-502) vulnerability in Langchain Langgraph. Its CVSS base score is 6.8 (Medium).
Operationally, exploitation aligns with the MITRE ATT&CK technique Exploitation of Remote Services (T1210); ranked in the top 45.1% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog.
Threat & Defense at a Glance
Threat & Defense Details
Likely Mitigating ControlsAI
Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.
Penetration testing supplies malicious serialized objects, detecting unsafe deserialization and supporting corrective actions.
Evaluation of untrusted data handling (deserialization testing) reveals unsafe processing, which the required remediation process addresses.
Untrusted serialized data can be deserialized and observed inside the chamber, blocking gadget-chain exploitation outside the sandbox.
Validates or rejects untrusted serialized data before deserialization occurs.
Identifies and blocks malicious code introduced through deserialization of untrusted data at system boundaries.
Integrity verification of serialized information can detect tampering before deserialization occurs.
Provenance of associated data allows detection of untrusted sources before deserialization or processing occurs.
MITRE ATT&CK Enterprise TechniquesAI
Why these techniques?
Vulnerability enables exploitation of remote/internal application services via unsafe msgpack deserialization (CWE-502) to achieve Python code execution after DB write access is obtained.
NVD Description
LangGraph SQLite Checkpoint is an implementation of LangGraph CheckpointSaver that uses SQLite DB (both sync and async, via aiosqlite). In version 1.0.9 and prior, LangGraph checkpointers can load msgpack-encoded checkpoints that reconstruct Python objects during deserialization. If an attacker can…
more
modify checkpoint data in the backing store (for example, after a database compromise or other privileged write access to the persistence layer), they can potentially supply a crafted payload that triggers unsafe object reconstruction when the checkpoint is loaded. No known patch is public.
Deeper analysisAI
CVE-2026-28277 affects LangGraph SQLite Checkpoint, an implementation of LangGraph CheckpointSaver that uses SQLite databases (both synchronously and asynchronously via aiosqlite), in versions 1.0.9 and prior. The vulnerability stems from the checkpointers' ability to load msgpack-encoded checkpoints, which reconstruct Python objects during deserialization. This can lead to unsafe object reconstruction if the checkpoint data is malformed.
Exploitation requires an attacker with privileged write access to the persistence layer, such as after compromising the SQLite database or gaining other high-privilege access. The CVSS v3.1 base score of 6.8 (AV:A/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H) reflects an adjacent network attack vector with low complexity but high privileges needed, resulting in high impacts to confidentiality, integrity, and availability. A crafted payload in the modified checkpoint data can trigger arbitrary object reconstruction upon loading, potentially enabling code execution or other severe effects (CWE-502: Deserialization of Untrusted Data).
The GitHub security advisory at https://github.com/langchain-ai/langgraph/security/advisories/GHSA-g48c-2wqr-h844 provides details on the issue, but no public patch is known. Practitioners should isolate checkpoint storage, validate inputs strictly, and monitor for unauthorized modifications to the backing database until a fix is available.
LangGraph is part of the LangChain AI ecosystem, making this relevant to AI/ML workflows relying on stateful graph persistence. No real-world exploitation has been reported.
Details
- CWE(s)