CVE-2026-71433: LangGraph: Namespace prefix matching crosses segment boundaries in Postgres and SQLite stores
The Postgres and SQLite stores persist hierarchical namespaces as a dot-joined string (("memories", "alice") becomes memories.alice) and scoped reads by matching that string with LIKE '<path>%'. Because LIKE has no notion of the . separator, a scoped search or list_namespaces also matched sibling namespaces whose flattened form shares leading characters.
Applications commonly use the namespace as a tenant boundary. Where they do, a read scoped to one namespace could return items belonging to another, without any crafted input — an ordinary scoped request was sufficient.
We have no evidence of this behavior being exploited in the wild.
References
- github.com/advisories/GHSA-47pj-3jcm-6whg
- github.com/langchain-ai/langgraph/commit/66ebe1a0da921e73f0f9f879ba105d314c079f7c
- github.com/langchain-ai/langgraph/pull/8478
- github.com/langchain-ai/langgraph/releases/tag/checkpointpostgres%3D%3D3.1.1
- github.com/langchain-ai/langgraph/releases/tag/checkpointsqlite%3D%3D3.1.1
- github.com/langchain-ai/langgraph/security/advisories/GHSA-47pj-3jcm-6whg
- nvd.nist.gov/vuln/detail/CVE-2026-71433
Code Behaviors & Features
Detect and mitigate CVE-2026-71433 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →