Skip to content

← Public intelligence

PyPI package

langgraph-checkpoint-postgres

Open actionable advisories and recorded vendor fixes. This public package view has no inventory attached and cannot establish whether your deployment is affected. A vendor fix never resolves your finding; verify your installed version and the source guidance.

Open advisories

2 actionable advisories, newest first. Withdrawn advisories and news are excluded. Coverage is partial.

  1. Medium, CVSS 6.0PyPIAmendedPublished

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

    CVE-2026-115883 · GHSA-6hmw-9432-67qq

    Affected
    • PyPI langgraph-checkpoint-postgres < 3.1.3
    Fixed in
    3.1.3· Vendor fix available
    Issue
    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, listnamespaces, 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 listnamespaces(prefix=("tenant.bob",)) returned data stored under ("tenant", "bob"). - delete(("tenant.alice",), key) deleted the item stored under…

    Recommended action: Upgrade to 3.1.3 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.com (1)osv.dev (2)Source checked Evidence →
  2. Medium, CVSS 5.3PyPIPublished

    LangGraph: Namespace prefix matching crosses segment boundaries in Postgres and SQLite stores

    CVE-2026-71433 · GHSA-47pj-3jcm-6whg

    Affected
    • PyPI langgraph-checkpoint-postgres < 3.1.1
    Fixed in
    3.1.1· Vendor fix available
    Issue
    The Postgres and SQLite stores persist hierarchical namespaces as a dot-joined string (("memories", "alice") becomes memories.alice) and scoped reads by matching that string with LIKE '<path%'. Because LIKE has no notion of the . separator, a scoped search or listnamespaces also matched sibling namespaces whose flattened form shares leading characters. Applications commonly use the namespace as a tenant boundary. Where they do, a read scoped to one namespace could return items belonging to another, without any crafted input — an ordinary scoped request was sufficient. We have no evidence of this behavior being exploited in the wild. Affected users / systems You may be affected if you: - use PostgresStore/AsyncPostgresStore or SqliteStore/AsyncSqliteStore, and - rely on the namespace to separate data between users or tenants, and - have namespace labels where one is a prefix of another (1 and 12, alice and alice2), or labels containing or % Applications whose namespace labels…

    Recommended action: Upgrade to 3.1.1 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.

    Sources:github.comSource checked Evidence →