CVE-2026-48776 is a medium severity flaw (CVSS 4.2) in the LangGraph Python SDK. Versions 0.3.14 and earlier put caller supplied identifiers into URL paths without encoding. Upgrade langgraph-sdk to 0.3.15, and validate identifiers such as thread IDs as UUIDs before passing them to the SDK.
What's affected
The Python package langgraph-sdk, version 0.3.14 and earlier. The patched version is 0.3.15.
The maintainers say you are at risk if identifier values passed into SDK methods come from end users or other untrusted sources without format validation. Applications that parse identifiers as UUIDs first are not affected. The risk is highest when an upstream layer, such as a proxy or gateway, authorizes by URL prefix.
The maintainers say they have no evidence of this behavior in the wild.
How to check if you're exposed
Read the installed version and search for places where request values reach SDK calls.
pip show langgraph-sdk
pip list | grep -i langgraph
Then read your code for calls that take thread, run, assistant or cron identifiers from request parameters, and check whether each is validated first.
What to do now
- Upgrade with
pip install -U langgraph-sdkand confirm the version is 0.3.15 or later. - Validate identifier values, typically as UUIDs, at the edge where input enters your application.
- Where a proxy authorizes by URL prefix, move the decision to the LangGraph server layer or to parsed and validated paths.
- Add a test that sends odd characters in an identifier and expects a rejection.
Why it matters
The classes are CWE-22, path traversal, and CWE-863, incorrect authorization. The SDK filled URL templates with identifiers as given. Characters with meaning in a URL path could make the request address a different resource than the method call suggests, so an authorization decision made on the intended path might not match the path actually sent.
The score is moderate because it needs specific conditions: untrusted identifiers and prefix based authorization upstream. That makes reachability the deciding question. A dependency scan shows the package, and the useful follow up is whether your code passes untrusted values into it.
Paste your lockfile or manifest into the free in-browser dependency scan to see whether langgraph-sdk is in your tree, including as a transitive dependency. Reachability analysis can then show whether your code calls the affected path, which helps you order the work.
Try it yourself
Click through it at your own pace, or open it full screen.
Quick check
Are UUID identifiers safe?
Yes. The maintainers say valid UUIDs pass through the request path unchanged, which is why validating them is an effective guard.
Sources
Last reviewed: 19 October 2026.