CVE-2026-115883
LangGraph: Namespace labels containing `.` reach other namespaces in Postgres and SQLite stores
Fetching some sources has been requested. Reload in about a minute to see them.
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
Attack conditions and impact
Derived from the CNA (via NVD) CVSS 4.0 vector| Metric | Value | Meaning |
|---|---|---|
| Attack vector AV | N | Network |
| Attack complexity AC | L | Low (easy) |
| Attack requirements AT | P | Present |
| Privileges required PR | L | Regular user |
| User interaction UI | N | None |
| Confidentiality (vulnerable system) VC | H | High |
| Integrity (vulnerable system) VI | L | Low |
| Availability (vulnerable system) VA | N | None |
| Confidentiality (subsequent systems) SC | N | None |
| Integrity (subsequent systems) SI | N | None |
| Availability (subsequent systems) SA | N | None |
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Description
LangGraph checkpoint savers provide Postgres- and SQLite-backed state persistence for LangGraph workflows and agents. Prior to langgraph-checkpoint-postgres 3.1.3 and langgraph-checkpoint-sqlite 3.1.2, PostgresStore, AsyncPostgresStore, SqliteStore, and AsyncSqliteStore flatten namespace labels with ".".join(namespace), while BaseStore validates labels only for put and aput. Unvalidated dotted labels passed through get, search, delete, list_namespaces, their asynchronous equivalents, or direct batch and abatch operations can resolve to another tenant's stored namespace, allowing cross-namespace reads, overwrites, or deletion. InMemoryStore is not affected because it compares namespace tuples. This issue is fixed in langgraph-checkpoint-postgres 3.1.3 and langgraph-checkpoint-sqlite 3.1.2.
CVSS assessments
| Provider | Version | Score | Vector |
|---|---|---|---|
| NVD / [email protected] (Secondary) | 4.0 | 6.0 MEDIUM | CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| CNA / GitHub_M | 4.0 | 6.0 MEDIUM | CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N |
Affected products and packages
CNA (CVE.org)
| Vendor | Product | Versions |
|---|---|---|
| langchain-ai | langgraph | affected: < 1.2.15 |
| langchain-ai | langgraph-checkpoint-postgres | affected: < 3.1.3 |
| langchain-ai | langgraph-checkpoint-sqlite | affected: < 3.1.2 |
Open-source packages (GitHub Advisory / OSV)
LangGraph: Namespace labels containing `.` reach other namespaces in Postgres and SQLite stores
| Ecosystem | Package | Affected versions | Fixed in |
|---|---|---|---|
| PyPI | langgraph-checkpoint-postgres | < 3.1.3 | 3.1.3 |
| PyPI | langgraph-checkpoint-sqlite | < 3.1.2 | 3.1.2 |
Linux distribution status
References (6)
- https://github.com/advisories/GHSA-6hmw-9432-67qq GHSA
- https://github.com/langchain-ai/langgraph/commit/bfcfea554ed5c7f7be562cebf8825e911b493ab1 NVD, CNA, GHSA x_refsource_MISC
- https://github.com/langchain-ai/langgraph/pull/9217 NVD, CNA, GHSA x_refsource_MISC
- https://github.com/langchain-ai/langgraph/releases/tag/checkpointpostgres%3D%3D3.1.3 GHSA
- https://github.com/langchain-ai/langgraph/releases/tag/checkpointsqlite%3D%3D3.1.2 GHSA
- https://github.com/langchain-ai/langgraph/security/advisories/GHSA-6hmw-9432-67qq NVD, CNA, GHSA x_refsource_CONFIRM