Skip to content
Medium 6.0

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

CVE-2026-115883 First seen on SecPulse

Affected packages

EcosystemPackageAffectedFixed
langchain-ai langgraph — —
langchain-ai langgraph-checkpoint-postgres — —
langchain-ai langgraph-checkpoint-sqlite — —
pip langgraph-checkpoint-postgres
< 3.1.3
3.1.3
pip langgraph-checkpoint-sqlite
< 3.1.2
3.1.2
PyPI langgraph-checkpoint-postgres
< 3.1.3
3.1.3
PyPI langgraph-checkpoint-sqlite
< 3.1.2
3.1.2
Original description The description as published by the source.

Summary

The Postgres and SQLite stores save a namespace as its labels joined with ., so ("tenant", "bob") and ("tenant.bob",) map to the same stored namespace. put rejected labels containing ., but get, search, delete, list_namespaces, their async versions, and ops passed directly to batch/abatch did not. A caller that could pass such a label could read, overwrite or delete items in another namespace.

Details

BaseStore checked namespace labels only in put/aput. The other methods passed the namespace on unchecked, and batch/abatch checked nothing, including the PutOp items inside them. PostgresStore, AsyncPostgresStore, SqliteStore and AsyncSqliteStore turn a namespace into text with ".".join(namespace), so a label containing . resolved to the namespace whose labels it spells out:

  • get(("tenant.bob",), key), search(("tenant.bob",)) and list_namespaces(prefix=("tenant.bob",)) returned data stored under ("tenant", "bob").
  • delete(("tenant.alice",), key) deleted the item stored under ("tenant", "alice").
  • batch([PutOp(("tenant.bob",), key, value)]) overwrote the item stored under ("tenant", "bob").

All releases of langgraph-checkpoint-postgres before 3.1.3 and langgraph-checkpoint-sqlite before 3.1.2 are affected. InMemoryStore compares namespaces as tuples and is not affected.

Impact

You may be affected if you use one of these stores, rely on namespaces to keep users or tenants apart, and l…

Source: CVE.org (CVE Program・cvelistV5) NVD GitHub Advisory

References

We use cookies for analytics and ad measurement. This setting applies to all Game co., Ltd. sites. Details