---
id: CVE-2026-115883
title: >-
  LangGraph: Namespace labels containing `.` reach other namespaces in Postgres
  and SQLite stores
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, …
severity: medium
cvss: 6
cvssVector: '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'
cvssSource: cna
cwe:
  - CWE-20
  - CWE-863
vendor: langchain-ai
product: langgraph
affected:
  - langgraph < 1.2.15
  - langgraph-checkpoint-postgres < 3.1.3
  - langgraph-checkpoint-sqlite < 3.1.2
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: partial
  timestamp: '2026-10-26T15:39:07.446530Z'
published: '2026-10-23'
updated: '2026-10-26'
sourceUpdated: '2026-10-26T17:42:32.027Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-115883'
references:
  - url: >-
      https://github.com/langchain-ai/langgraph/security/advisories/GHSA-6hmw-9432-67qq
    label: >-
      https://github.com/langchain-ai/langgraph/security/advisories/GHSA-6hmw-9432-67qq
  - url: 'https://github.com/langchain-ai/langgraph/pull/9217'
    label: 'https://github.com/langchain-ai/langgraph/pull/9217'
  - url: >-
      https://github.com/langchain-ai/langgraph/commit/bfcfea554ed5c7f7be562cebf8825e911b493ab1
    label: >-
      https://github.com/langchain-ai/langgraph/commit/bfcfea554ed5c7f7be562cebf8825e911b493ab1
  - url: >-
      https://github.com/langchain-ai/langgraph/releases/tag/checkpointpostgres%3D%3D3.1.3
  - url: >-
      https://github.com/langchain-ai/langgraph/releases/tag/checkpointsqlite%3D%3D3.1.2
  - url: 'https://github.com/advisories/GHSA-6hmw-9432-67qq'
  - url: 'https://github.com/langchain-ai/langgraph'
tags:
  - cve.org
  - ghsa
  - pip
  - osv
epss: 0.00298
epssPercentile: 0.22378
aliases:
  - GHSA-6hmw-9432-67qq
ecosystem: pip
patched:
  - langgraph-checkpoint-postgres 3.1.3
  - langgraph-checkpoint-sqlite 3.1.2
ingestedAt: '2026-10-23T21:38:13.053Z'
---

## Overview

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.

## Affected

- `langgraph < 1.2.15`
- `langgraph-checkpoint-postgres < 3.1.3`
- `langgraph-checkpoint-sqlite < 3.1.2`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Package advisory (CVE-2026-115883)

Affected packages:

- `langgraph-checkpoint-postgres < 3.1.3`
- `langgraph-checkpoint-sqlite < 3.1.2`

Patched in:

- `langgraph-checkpoint-postgres 3.1.3`
- `langgraph-checkpoint-sqlite 3.1.2`

Source: https://github.com/advisories/GHSA-6hmw-9432-67qq
