CVE-2026-115883

LangGraph: Namespace labels containing `.` reach other namespaces in Postgres and SQLite stores

State
Published
Severity
6.0 Medium
Published
Oct 23, 2026
Updated
Oct 26, 2026
Reserved
Oct 23, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
4.06.0 MediumCVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:NGitHub_M

Weaknesses

Affected Products

ProductVersions
langgraphlangchain-ai
  • < 1.2.15Affected
langgraph-checkpoint-postgreslangchain-ai
  • < 3.1.3Affected
langgraph-checkpoint-sqlitelangchain-ai
  • < 3.1.2Affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.