Description
@langchain/langgraph-checkpoint-mongodb provides a LangGraph.js CheckpointSaver implementation that uses MongoDB for storage. Versions 1.3.0 and below are vulnerable to NoSQL injection: checkpoint identifiers (thread_id, checkpoint_ns, checkpoint_id) from config.configurable are passed into MongoDB find() queries in MongoDBSaver.getTuple() without type enforcement. If an attacker supplies an object payload (such as MongoDB operators $gt or $ne) instead of a string, it can be interpreted as a query operator, bypassing thread scoping and leaking checkpoints, including pending writes, across tenants. Applications are at risk if they forward untrusted input into config.configurable without coercing it to strings or validating it against a schema, particularly in multi-tenant or user-isolated setups. Apps that only use server-issued, string-typed identifiers with schema validation rejecting non-string fields are not affected. This issue has been fixed in version 1.3.1.
Published: 2026-08-04
Score: 6.7 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

LangChain’s MongoDB checkpoint saver accepts untrusted configuration values for thread and checkpoint identifiers without type enforcement. If an attacker supplies an object that contains MongoDB query operators such as $gt or $ne, the query is interpreted as a NoSQL operator, bypassing the intended tenant isolation and allowing enumeration and retrieval of checkpoints from other users. The impact is data theft and leakage of pending writes across tenants, compromising confidentiality and potentially data integrity.

Affected Systems

The vulnerability affects the @langchain/langgraph-checkpoint-mongodb component of the langgraphjs library from langchain-ai. Versions 1.3.0 and older are susceptible; community and production deployments using those releases are impacted.

Risk and Exploitability

The CVSS score of 6.7 indicates moderate severity. EPSS is unavailable, so exploitation likelihood is unknown, and the issue is not listed in CISA KeV. Attackers can exploit the flaw by supplying crafted configuration values in a multi‑tenant or user‑isolated environment, where input is forwarded without coercion to string or validation. If an application uses only server‑issued, validated string identifiers, it remains safe.

Generated by OpenCVE AI on August 4, 2026 at 19:26 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to langgraphjs version 1.3.1 or newer where the injection issue is resolved
  • If an upgrade is not immediately possible, validate all checkpoint identifiers at runtime and coerce them to plain strings before passing them to MongoDBSaver.getTuple()
  • Enforce a JSON schema or equivalent validation that rejects any non‑string fields in the configuration to prevent injection objects from reaching the database

Generated by OpenCVE AI on August 4, 2026 at 19:26 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-98xf-r82g-9mhx LangGraph has NoSQL parameter injection in MongoDBSaver, allowing cross-tenant state access
History

Tue, 04 Aug 2026 20:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Tue, 04 Aug 2026 19:00:00 +0000

Type Values Removed Values Added
First Time appeared Langchain-ai
Langchain-ai langgraphjs
Vendors & Products Langchain-ai
Langchain-ai langgraphjs

Tue, 04 Aug 2026 17:15:00 +0000

Type Values Removed Values Added
Description @langchain/langgraph-checkpoint-mongodb provides a LangGraph.js CheckpointSaver implementation that uses MongoDB for storage. Versions 1.3.0 and below are vulnerable to NoSQL injection: checkpoint identifiers (thread_id, checkpoint_ns, checkpoint_id) from config.configurable are passed into MongoDB find() queries in MongoDBSaver.getTuple() without type enforcement. If an attacker supplies an object payload (such as MongoDB operators $gt or $ne) instead of a string, it can be interpreted as a query operator, bypassing thread scoping and leaking checkpoints, including pending writes, across tenants. Applications are at risk if they forward untrusted input into config.configurable without coercing it to strings or validating it against a schema, particularly in multi-tenant or user-isolated setups. Apps that only use server-issued, string-typed identifiers with schema validation rejecting non-string fields are not affected. This issue has been fixed in version 1.3.1.
Title @langchain/langgraph-checkpoint-mongodb: NoSQL parameter injection in MongoDBSaver allows cross-tenant state access
Weaknesses CWE-943
References
Metrics cvssV3_1

{'score': 6.7, 'vector': 'CVSS:3.1/AV:A/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N'}


Subscriptions

Langchain-ai Langgraphjs
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-04T19:51:50.111Z

Reserved: 2026-05-20T18:46:58.290Z

Link: CVE-2026-48121

cve-icon Vulnrichment

Updated: 2026-08-04T19:16:00.559Z

cve-icon NVD

Status : Received

Published: 2026-08-04T17:16:55.267

Modified: 2026-08-04T20:16:51.900

Link: CVE-2026-48121

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-04T19:30:05Z

Weaknesses
  • CWE-943

    Improper Neutralization of Special Elements in Data Query Logic