Skip to content
GitHub Security Advisories·Indexed by this site · Originally publishedSelectedAttention37

LangGraph: namespace labels containing dots can access other namespaces in Postgres and SQLite storage

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

AI summary

LangGraph's langgraph-checkpoint-postgres versions before 3.1.3 and langgraph-checkpoint-sqlite versions before 3.1.2 have a namespace privilege issue: labels containing dots can be used to read, overwrite or delete data in other namespaces. Postgres and SQLite storage join namespace labels with dots, so ("tenant.bob",) and ("tenant", "bob") point to the same storage location, while originally only put validated labels; get, search, delete, list_namespaces and operations passed directly to batch/abatch do not validate. If an application relies on namespaces to isolate users or tenants and lets untrusted input determine labels, data of other tenants may be affected; InMemoryStore compares by tuple and is not affected.

Why it was selected

The advisory gives the scope of data storage affected by cross-tenant read/write when namespace labels contain dots, and the fixed versions, so teams using LangGraph storage can check themselves and upgrade.

Read originalgithub.com