Safeguard
Vulnerability Analysis•

CVE-2026-48776: Medium URL Path Flaw in LangGraph Python SDK

LangGraph Python SDK 0.3.14 and earlier builds request paths from unsanitized IDs (CVSS 4.2). Validate IDs as UUIDs and upgrade langgraph-sdk to 0.3.15.

Safeguard Security Team
3 min read

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

  1. Upgrade with pip install -U langgraph-sdk and confirm the version is 0.3.15 or later.
  2. Validate identifier values, typically as UUIDs, at the edge where input enters your application.
  3. Where a proxy authorizes by URL prefix, move the decision to the LangGraph server layer or to parsed and validated paths.
  4. 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.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.