CVE-2026-115883 json
LangGraph: Namespace labels containing `.` reach other namespaces in Postgres and SQLite stores
published 17d ago modified 14d ago also EUVD-2026-109182 , GHSA-6hmw-9432-67qq
- cvss
- 6.0
- version 4.0, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.3%
- EPSS 0.3% chance of exploitation in 30 days, percentile 22%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- pypi langgraph-checkpoint-postgres 3.1.3
- pypi langgraph-checkpoint-sqlite 3.1.2
- langchain-ai langgraph 1.2.15
- langchain langgraph 1.2.15
- langchain-ai langgraph-checkpoint-postgres 3.1.3
- langchain langgraph-checkpoint-postgres 3.1.3
- langchain-ai langgraph-checkpoint-sqlite 3.1.2
- langchain langgraph-checkpoint-sqlite 3.1.2
Is CVE-2026-115883 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 14d ago
Exploit prediction
0.30% chance of exploitation in the next 30 days, higher than 22% of all scored CVEs (FIRST EPSS, 2026-11-09).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.0 | 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 |
| CNA | 4.0 | 6.0 | 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 |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | langgraph-checkpoint-postgres | <3.1.3 |
3.1.3 |
| pypi | langgraph-checkpoint-sqlite | <3.1.2 |
3.1.2 |
Affected products
- langchain-ai langgraph
- langchain-ai langgraph-checkpoint-postgres
- langchain-ai langgraph-checkpoint-sqlite
Classification
References
-
github.com
/langchain-ai/langgraph/pull/9217
web
-
github.com
/langchain-ai/langgraph/commit/bfcfea554ed5c7f7be562cebf8825e911b493ab1
web
-
github.com
/langchain-ai/langgraph/security/advisories/GHSA-6hmw-9432-67qq
web
-
github.com
/langchain-ai/langgraph
package
-
github.com
/langchain-ai/langgraph/releases/tag/checkpointpostgres%3D%3D3.1.3
web
-
github.com
/langchain-ai/langgraph/releases/tag/checkpointsqlite%3D%3D3.1.2
web
Sources
- CVE List CVE-2026-115883
- GitHub Advisory GHSA-6hmw-9432-67qq
- NVD CVE-2026-115883
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.