CVE-2026-118668: LangGraph JavaScript custom authentication may permit cross-user Store access
Summary
LangGraph deployments using JavaScript or TypeScript custom authentication may fail to apply Store authorization changes returned by an authorization handler. In affected deployments, an authenticated user may be able to access Store data outside their authorized namespace.
Required conditions
A deployment is affected only when all of the following conditions apply:
- It uses an affected langgraph-api version. - It runs JavaScript or TypeScript custom authentication. - Its Store authorization handler relies on rewriting the requested namespace to restrict each user to their own data. - The attacker can authenticate as an ordinary user. - Multiple users' data is stored through the affected authorization path.
Python custom authentication handlers are not affected. JavaScript or TypeScript handlers that reject unauthorized namespace requests instead of rewriting them are also not affected.
The attack does not require administrator privileges, user interaction, a race condition, or the bypass of another mitigation.
Impact
An authenticated user may be able to read, overwrite, search, or delete Store data belonging to another user.
Patches
The issue is fixed in langgraph-api version 0.15.0. The server now carries changes made by a JavaScript or TypeScript authorization handler across the runtime boundary and applies them before performing the Store operation. It validates the resulting namespace after authorization and rejects the request if an authorization change is malformed or cannot be applied safely.
Users should upgrade to langgraph-api>=0.15.0.
Workarounds
Deployments that cannot upgrade immediately should change JavaScript or TypeScript Store authorization handlers to reject requests for unauthorized namespaces rather than relying on namespace rewriting.
This workaround must be applied to every Store action exposed by the deployment.
Other sources
langgraph-api implements the LangGraph API for rapid development and testing. From 0.1.2 until 0.15.0, JavaScript or TypeScript custom authentication Store authorization handlers can return a rewritten namespace that is not carried across the runtime boundary and applied before the Store operation. An authenticated user can therefore access another user's Store namespace when a deployment relies on namespace rewriting for isolation, allowing unauthorized reads, overwrites, searches, or deletions. Python custom authentication and handlers that reject unauthorized namespaces instead of rewriting them are not affected. This issue is fixed in version 0.15.0.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
pip/langgraph-apito a version that resolves this vulnerability.Fixed in 0.15.0 - Upgrade
Upgrade
langgraph-apito a version that resolves this vulnerability.Fixed in 0.15.0 - Configuration
Change every Store action exposed by the deployment to reject requests for unauthorized namespaces rather than relying on namespace rewriting.
JavaScript or TypeScript custom authentication Store authorization handlers Unauthorized namespace handling = Reject requests for unauthorized namespaces instead of rewriting them
Event History
Frequently Asked Questions
Which deployments are affected?
Deployments using langgraph-api versions 0.1.2 through 0.15.0 with JavaScript or TypeScript custom authentication Store authorization handlers that rewrite namespaces for tenant or user isolation are affected. Python custom authentication is not affected, and handlers that reject unauthorized namespaces rather than rewriting them are not affected.
What does an attacker need to exploit this issue?
The attacker must be an authenticated user of a deployment that relies on namespace rewriting in a JavaScript or TypeScript Store authorization handler. They may then access another user's Store namespace, including reading, overwriting, searching, or deleting stored data.
What is the remediation?
Upgrade langgraph-api to version 0.15.0. If an immediate upgrade is not possible, avoid relying on namespace rewriting for Store isolation and use authorization handlers that reject unauthorized namespace requests.