CVE-2026-55235
langgraph-api: Relative webhook targets in LangGraph Server can reach in-process routes without authentication
langgraph-api implements the LangGraph API for rapid development and testing. Prior to 0.10.0, langgraph-api permits a run or cron to specify a relative webhook target that is delivered through an in-process loopback transport, and the authentication middleware treats that transport as internal without applying the authentication context used for external requests. In deployments that rely on per-user authorization to separate threads and runs, an authenticated user can direct a webhook to the server's own thread and run routes, allowing creation of a run on or modification of another user's thread and limited incorporation of the targeted thread's metadata into the created run record. The affected path requires webhook targets and per-user authorization boundaries; deployments that deliberately re-enable loopback delivery should restrict it to controlled same-process routes because those webhooks remain unauthenticated. This issue is fixed in version 0.10.0.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- High
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- Low
Exploit likelihood
What each source reports
CVE List Score used
5.9
langgraph-api: Relative webhook targets in LangGraph Server can reach in-process routes without authentication
langgraph-api implements the LangGraph API for rapid development and testing. Prior to 0.10.0, langgraph-api permits a run or cron to specify a relative webhook target that is delivered through an in-process loopback transport, and the authentication middleware treats that transport as internal without applying the authentication context used for external requests. In deployments that rely on per-user authorization to separate threads and runs, an authenticated user can direct a webhook to the server's own thread and run routes, allowing creation of a run on or modification of another user's thread and limited incorporation of the targeted thread's metadata into the created run record. The affected path requires webhook targets and per-user authorization boundaries; deployments that deliberately re-enable loopback delivery should restrict it to controlled same-process routes because those webhooks remain unauthenticated. This issue is fixed in version 0.10.0.
- Record
CVE-2026-55235- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L - Weakness
- CWE-287
- Updated
- 2026-11-02
EUVDEUVD-2026-77585
5.9
langgraph-api implements the LangGraph API for rapid development and testing. Prior to 0.10.0, langgraph-api permits a run or cron to specify a relative webhook target that is delivered through an in-process loopback transport, and the authentication middleware treats that transport as internal without applying the authentication context used for external requests. In deployments that rely on per-user authorization to separate threads and runs, an authenticated user can direct a webhook to the server's own thread and run routes, allowing creation of a run on or modification of another user's thread and limited incorporation of the targeted thread's metadata into the created run record. The affected path requires webhook targets and per-user authorization boundaries; deployments that deliberately re-enable loopback delivery should restrict it to controlled same-process routes because those webhooks remain unauthenticated. This issue is fixed in version 0.10.0.
- Record
EUVD-2026-77585- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L - Updated
- 2026-11-02
GitHub AdvisoriesGHSA-2c9q-c2q9-qgqv
5.9
langgraph-api: Relative webhook targets in LangGraph Server can reach in-process routes without authentication
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.
- Record
GHSA-2c9q-c2q9-qgqv- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L - Weakness
- CWE-287
- Updated
- 2026-11-02
NVD
5.9
langgraph-api implements the LangGraph API for rapid development and testing. Prior to 0.10.0, langgraph-api permits a run or cron to specify a relative webhook target that is delivered through an in-process loopback transport, and the authentication middleware treats that transport as internal without applying the authentication context used for external requests. In deployments that rely on per-user authorization to separate threads and runs, an authenticated user can direct a webhook to the server's own thread and run routes, allowing creation of a run on or modification of another user's thread and limited incorporation of the targeted thread's metadata into the created run record. The affected path requires webhook targets and per-user authorization boundaries; deployments that deliberately re-enable loopback delivery should restrict it to controlled same-process routes because those webhooks remain unauthenticated. This issue is fixed in version 0.10.0.
- Record
CVE-2026-55235- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L - Weakness
- CWE-287
- Updated
- 2026-11-02
OSV
5.9
langgraph-api: Relative webhook targets in LangGraph Server can reach in-process routes without authentication
langgraph-api implements the LangGraph API for rapid development and testing. Prior to 0.10.0, langgraph-api permits a run or cron to specify a relative webhook target that is delivered through an in-process loopback transport, and the authentication middleware treats that transport as internal without applying the authentication context used for external requests. In deployments that rely on per-user authorization to separate threads and runs, an authenticated user can direct a webhook to the server's own thread and run routes, allowing creation of a run on or modification of another user's thread and limited incorporation of the targeted thread's metadata into the created run record. The affected path requires webhook targets and per-user authorization boundaries; deployments that deliberately re-enable loopback delivery should restrict it to controlled same-process routes because those webhooks remain unauthenticated. This issue is fixed in version 0.10.0.
- Record
CVE-2026-55235- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L - Weakness
- CWE-287
- Updated
- 2026-11-02
OSVGHSA-2c9q-c2q9-qgqv
5.9
langgraph-api: Relative webhook targets in LangGraph Server can reach in-process routes without authentication
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.
- Record
GHSA-2c9q-c2q9-qgqv- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L - Weakness
- CWE-287
- Updated
- 2026-11-02
OSVPYSEC-2026-3857
5.9
langgraph-api: Relative webhook targets in LangGraph Server can reach in-process routes without authentication
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.
- Record
PYSEC-2026-3857- CVSS 3.1
- 5.9 Medium
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:L - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
langgraph-apiPyPI |
before 0.10.0 | 0.10.0 |
langgraph-apiPyPI |
before 0.10.0, plus listed versions 0.0.10.0.100.0.110.0.120.0.13 Show 45 moreShow less0.0.140.0.150.0.160.0.170.0.180.0.190.0.20.0.200.0.210.0.220.0.230.0.240.0.250.0.260.0.270.0.280.0.28rc10.0.30.0.300.0.310.0.320.0.330.0.340.0.360.0.370.0.380.0.390.0.40.0.400.0.410.0.420.0.430.0.440.0.450.0.460.0.470.0.480.0.50.0.60.0.70.0.80.0.90.1.00.1.120.1.13 |
0.10.0 |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-55235 is a medium vulnerability (CVSS 5.9) in Langchain-ai Langgraph-api, published August 19, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.36%, the 30th percentile. Fixed in langgraph-api 0.10.0.
References
github.com/langchain-ai/helm/security/advisories/GHSA-2c9q-c2q9-qgqv
github.com/langchain-ai/docs/blob/7b70fbacab21f84d9c6f9848f86cdeb471adbb50/src/langsmith/agent-server-changelog.mdx
nvd.nist.gov/vuln/detail/CVE-2026-55235
github.com/pypa/advisory-database/tree/main/vulns/langgraph-api/PYSEC-2026-3857.yaml
github.com/advisories/GHSA-2c9q-c2q9-qgqv
github.com/CVEProject/cvelistV5/tree/main/cves/2026/55xxx/CVE-2026-55235.json
github.com/langchain-ai/helm
pypi.org/project/langgraph-api
Left out here: 360 versions. The JSON record has them.