CVE-2026-48776: LangGraph SDK Path Traversal & Authorization Bypass
A path traversal vulnerability in LangGraph Python SDK versions 0.3.14 and earlier allows authenticated users to manipulate resource identifiers in HTTP requests, potentially accessing or modifying resources they shouldn't have permission to reach. The vulnerability stems from unsafe construction of URL paths using caller-supplied identifiers without proper sanitization. An attacker with valid credentials could craft specially formatted identifier values containing URL path characters to bypass authorization checks, particularly in deployments where access control relies on URL-prefix validation rather than application-level authorization.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 4.2 MEDIUM · CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N
- Weaknesses (CWE)
- CWE-22, CWE-863
- Affected products
- 1 configuration(s)
- Published / Modified
- 2026-06-17 / 2026-06-26
NVD description (verbatim)
LangGraph Python SDK is used to connect to running LangGraph API servers, manage assistants, threads and stream runs from Python applications. Versions 0.3.14 and prior have unsafe URL path construction through unsanitized caller-supplied identifier values used in HTTP request paths for resource operations. Without sanitization of those values, identifiers that contain characters with special meaning in URL paths could cause the resulting request to address a different resource (and potentially a different resource type) than the SDK method's call site indicates. In deployments where the SDK receives identifier values that originate from untrusted sources, this could result in unintended access, modification, or deletion of resources beyond the calling user's authorization scope. This issue is most consequential in deployments that forward end-user-supplied values directly into SDK identifier parameters without first validating them against an expected format (such as a UUID), and rely on URL-prefix-based authorization at an upstream layer (reverse proxy, edge gateway, WAF), where the authorization decision is made on the SDK call's intended path rather than on the final delivered request path. The issue has been fixed in version 0.3.15.
2 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-48776 is a path traversal vulnerability (CWE-22) combined with an authorization bypass issue (CWE-863) in LangGraph Python SDK. The SDK constructs HTTP request paths by directly interpolating user-supplied identifier values without URL encoding or validation. Special characters in these identifiers—such as slashes, dots, or encoded sequences—can alter the request path structure, causing the HTTP request to target a different resource endpoint than intended by the SDK caller. This is particularly problematic in multi-tenant or role-based access control environments where upstream authorization layers make access decisions based on the initial request path rather than inspecting the final resolved endpoint. The vulnerability requires authentication (PR:L) and involves high complexity to exploit reliably (AC:H), limiting the attack surface but maintaining real risk in vulnerable deployments.
Business impact
Organizations using LangGraph SDK in production face potential unauthorized data access or modification depending on deployment architecture. If your infrastructure relies on reverse proxies, API gateways, or WAF solutions to enforce access control based on URL path patterns, this vulnerability could allow authenticated users to circumvent those controls. The impact ranges from information disclosure to unintended resource modification. The risk is highest in multi-user SaaS deployments or internal platforms where LangGraph manages sensitive assistant configurations, thread data, or user-specific resources. Remediation is straightforward (upgrade to 0.3.15), making this a manageable but urgent priority for affected deployments.
Affected systems
LangGraph Python SDK versions 0.3.14 and earlier are affected. The vulnerability applies to any Python application using the SDK to communicate with LangGraph API servers, particularly those accepting identifier values from external sources (API parameters, databases, user input). Deployments forwarding end-user identifiers directly to SDK methods without validation are at highest risk. Fixed in version 0.3.15.
Exploitability
Exploitation requires valid authentication credentials (logged-in user), making this an insider-risk or compromised-account scenario. An attacker must understand the target resource structure and craft identifiers containing path traversal characters that the SDK will then embed into HTTP requests. The complexity is elevated (AC:H) because successful exploitation depends on specific deployment architectures where authorization is enforced at the URL-path level upstream of the application. This is not remotely exploitable by unauthenticated actors and is not known to be actively exploited in the wild (not on CISA KEV list).
Remediation
Upgrade LangGraph Python SDK to version 0.3.15 or later, which implements safe URL path construction through proper identifier sanitization and encoding. Organizations should also audit deployments to identify whether identifier values originate from untrusted sources and are passed directly to SDK methods. Where feasible, implement input validation on identifiers (e.g., enforce UUID format) at the application layer before they reach the SDK. Consider shifting authorization enforcement from URL-prefix-based controls to application-aware access control if currently relying on gateway-level path matching.
Patch guidance
Update the LangGraph SDK dependency to version 0.3.15 or newer. In Python environments, this typically involves running 'pip install --upgrade langgraph-sdk' or updating your requirements.txt/pyproject.toml to reflect version ≥0.3.15. Test the upgrade in a staging environment to confirm compatibility with your existing LangGraph API server version. No database migrations or configuration changes are required; the fix is purely in the SDK's request construction logic. After patching, restart any applications or services using the SDK.
Detection guidance
Monitor HTTP requests to LangGraph API endpoints for anomalous path patterns, particularly those containing URL-encoded special characters (%2F, %2E, %252F) or unusual path segments in identifier positions. Log all SDK method calls that accept user-supplied identifiers and correlate them with the actual HTTP requests sent by the SDK. In upstream gateways or WAFs, inspect the full request path after any path normalization or decoding steps. Search application logs for failed authorization attempts or unexpected resource access patterns. If you have access to SDK debug logging, enable it to capture the actual HTTP paths being constructed.
Why prioritize this
While the CVSS score is moderate (4.2), this vulnerability merits prompt attention because it directly undermines authorization assumptions in many modern deployment patterns. The fix is trivial (a version bump), and the window for exploitation requires credentials plus specific deployment architecture. Prioritize this for teams using LangGraph in multi-tenant SaaS, internal platforms managing user resources, or any environment where identifiers originate from untrusted sources. Organizations using simple, flat resource models or strictly application-level authorization may face lower practical risk.
Risk score, explained
The CVSS 3.1 score of 4.2 (MEDIUM) reflects the requirement for prior authentication (PR:L) and high attack complexity (AC:H), which together constrain exploitability. However, the potential for confidentiality and integrity impact (C:L/I:L) acknowledges that successful exploitation could leak or modify data. The score does not account for deployment-specific factors; organizations relying heavily on URL-prefix-based access control should treat this as higher-priority than the base score suggests.
Frequently asked questions
Does this affect my LangGraph API server, or just the Python SDK?
Only the Python SDK (the client library) is affected. If you run a LangGraph API server and interact with it via REST directly or through other language SDKs, you are not vulnerable to this particular issue. However, the underlying API server design does support client-side path manipulation if the client constructs unsafe paths, so defense-in-depth is recommended.
What if I validate all identifier inputs before passing them to the SDK?
Input validation is a strong mitigation. If you restrict identifiers to a safe format (e.g., UUIDs only, alphanumeric plus hyphens), you can prevent path traversal payloads from being injected even with the vulnerable SDK. However, upgrading to 0.3.15 is still recommended to eliminate the root cause and reduce reliance on external validation.
Is this vulnerability exploitable without valid credentials?
No. The vulnerability requires an authenticated session (PR:L in the CVSS vector). An unauthenticated attacker cannot trigger it. However, any user with valid access to the LangGraph SDK could potentially exploit it to access resources beyond their authorization scope.
How does this differ from a typical path traversal vulnerability?
This is path traversal in an HTTP client library rather than a server. Instead of a web server mishandling user input in a URL path, the SDK client unsafely constructs paths that it then sends to the server. If the server or upstream gateway makes authorization decisions based on the path before it reaches application logic, the attacker can bypass those controls by manipulating the path structure.
This analysis is based on the published CVE record and vendor advisory as of the modification date. Security posture varies by deployment; your organization's risk may differ based on architecture, data sensitivity, and use of LangGraph identifiers in your environment. Always verify patch applicability and test in staging before deploying to production. This information is provided for informational purposes and should not be construed as professional security advice; engage your security team or a qualified consultant for remediation decisions specific to your infrastructure. Source: NVD (public-domain), retrieved 2026-07-26. Analysis generated by SEC.co (claude-haiku-4-5).
Related vulnerabilities
- CVE-2026-49219MEDIUMImageMagick Policy Bypass via Symlink Path Traversal
- CVE-2018-25393MEDIUMNavigate CMS 2.8.5 Path Traversal Vulnerability (CVSS 6.5)
- CVE-2018-25421MEDIUMOpen STA Manager 2.3 Path Traversal File Download Vulnerability
- CVE-2019-25734MEDIUMContact Form by WD CSRF & Local File Inclusion Vulnerability
- CVE-2019-25740MEDIUMJoomla com_jsjobs Arbitrary File Deletion Vulnerability
- CVE-2022-50953MEDIUMWordPress admin-word-count-column Plugin Local File Read Vulnerability
- CVE-2024-47263MEDIUMSynology Hyper Backup Path Traversal – Admin Privilege Required
- CVE-2024-47273MEDIUMSynology Hyper Backup Path Traversal Vulnerability (4.3 MEDIUM)