Open-Source Security Intelligence

Know every vulnerability
before it knows you.

DevGuard continuously monitors your dependencies and alerts you when CVEs like this one affect your stack — with real-time threat intelligence built for developers.

Search

GHSA-2c9q-c2q9-qgqv

MediumCVSS 5.9 / 10
Published Aug 19, 2026·Last modified Aug 19, 2026
Affected Components(1)
PyPI logolanggraph-api
< 0.10.0
Description

Summary

In affected versions of langgraph-api (the LangGraph Server runtime), a run or cron could be created with a relative webhook target. When the server later delivers such a webhook, it routes the request back into the same application through an in-process loopback transport that the authentication middleware treats as internal and does not authenticate. As a result, a relative webhook target could reach the server's own routes that operate on threads and runs without the authentication context that applies to ordinary external requests.

In deployments that scope threads and runs by owner, this could allow a request associated with one user to reach routes operating on another user's thread, resulting in creation of a run on (or modification of the state of) a thread owned by another user, even where the corresponding direct external requests were correctly denied. Limited metadata from the targeted thread may be incorporated into the created run record.

We have no evidence of this behavior occurring in the wild.

Affected users / systems

You may be affected if you:

  • run langgraph-api (the LangGraph Server / Agent Server runtime, including via the LangGraph Platform Helm chart),
  • allow runs or crons to specify webhook targets, and
  • rely on per-user authorization to separate threads and runs between users.

Impact

  • Integrity: creation of a run on, or modification of the state of, a thread owned by another user, beyond the requesting user's authorization scope.
  • Confidentiality: limited exposure of another user's thread metadata, incorporated into the created run record.

Patches / mitigation

The webhook URL policy now denies loopback delivery by default: the webhooks.url.disable_loopback policy defaults to enabled. This covers relative webhook targets routed through the in-process transport, as well as localhost-style hostnames, loopback address ranges, and hostnames that resolve into the loopback range. Deployments that legitimately deliver webhooks to a route hosted on the same process can opt back in by setting webhooks.url.disable_loopback: false in langgraph.json (or the equivalent LANGGRAPH_WEBHOOKS configuration); do so only when you control the routes those webhooks reach, as they are delivered without authentication. Fixed in langgraph-api 0.10.0.

Operational guidance

  • Upgrade to a release containing this change and keep loopback webhook delivery disabled unless required.
  • If loopback delivery is enabled, restrict it to routes you control and apply authorization within those routes.
Risk Scores
Base Score
5.9

The vulnerability can be exploited over the network without needing physical access. It is difficult for an attacker to exploit this vulnerability and may require special conditions. An attacker needs basic access or low-level privileges. No user interaction is needed for the attacker to exploit this vulnerability. The impact is confined to the system where the vulnerability exists. There is a high impact on the integrity of the data. There is a low impact on the availability of the system.

Threat Intelligence
5.4

Exploitation attempts have been detected. Elevated vigilance and prompt remediation are advised.

EPSS
N/A

Probability that this vulnerability will be exploited in the wild within the next 30 days.

Exploit
Not available

We did not find any exploit available. Neither in GitHub repositories nor in the Exploit-Database.

Related Vulnerabilities
  • CVE-2026-55235
    Alias

Browse More

Scan your project

Continuously monitor your dependencies and get alerted when vulnerabilities like this one affect your stack.

Checkout DevGuard