All vulnerabilities
CVE-2026-104873GHSA-fvww-7h3r-vfhpPYSEC-2026-4240

langgraph-sdk: LangGraph SDK custom auth silently ignores actions= on resource decorators

langchain-ai langgraph-sdkpipLibraries & packages
CVSS
7.6High
ExploitationNo known exploitationNot in CISA KEV, which does not prove it is unexploitedCISA KEV
Exploit odds (EPSS)0.25%Chance of exploitation activity in the next 30 days, higher than 15% of CVEs. Scored 23 Oct 2026FIRST EPSS
Fixed in0.4.4Fixed versionGitHub
Published2 Oct 2026Updated 15 Oct 2026CVE List

What fixes it

  • 0.4.4langgraph-sdk, pipGitHub
  • 0.4.4langgraph-sdk, PyPIOSVpip install "langgraph-sdk>=0.4.4"

A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.

Description

Impact

_What kind of vulnerability is it? Who is impacted?_ langgraph-sdk incorrectly applies the actions= argument on resource-scoped authorization decorators, including @auth.on.threads, @auth.on.assistants, and @auth.on.crons.

In affected versions, a decorator such as:

@auth.on.threads(actions=["create"])
async def allow_thread_create(ctx, value):
    return None

intended to register a handler for selected actions instead registers that handler for every action on the resource. Because the resource-wide handler is selected before broader fallback handlers, authorization checks implemented in those fallback handlers may not run.

An authenticated user may therefore be able to perform actions the application intended to deny, such as reading, updating, or deleting another user's resource. Exploitability and impact depend on the affected handler's behavior: deployments remain protected if that handler independently enforces the necessary action, ownership, or permission checks for every request it receives.

Only Python deployments using actions= on the affected resource-scoped decorators are affected.

Patches

0.4.4

Workarounds

No.

References

N/A

Text from GitHub Advisory Database

Affected versions 53

  • langgraph-sdk, pip>= 0.1.45, <= 0.4.3GitHub
  • langgraphaffected: >= 0.1.45, < 0.4.4CVE List
  • langgraph-sdk, PyPIfrom 0.1.45, fixed in 0.4.4OSV
  • langgraph-sdk, PyPI0.1.45OSV
  • langgraph-sdk, PyPI0.1.46OSV
  • langgraph-sdk, PyPI0.1.47OSV
  • langgraph-sdk, PyPI0.1.48OSV
  • langgraph-sdk, PyPI0.1.50OSV
  • langgraph-sdk, PyPI0.1.51OSV
  • langgraph-sdk, PyPI0.1.53OSV
  • langgraph-sdk, PyPI0.1.55OSV
  • langgraph-sdk, PyPI0.1.56OSV
  • langgraph-sdk, PyPI0.1.57OSV
  • langgraph-sdk, PyPI0.1.58OSV
  • langgraph-sdk, PyPI0.1.59OSV
  • langgraph-sdk, PyPI0.1.60OSV
  • langgraph-sdk, PyPI0.1.61OSV
  • langgraph-sdk, PyPI0.1.62OSV
  • langgraph-sdk, PyPI0.1.63OSV
  • langgraph-sdk, PyPI0.1.64OSV
  • langgraph-sdk, PyPI0.1.65OSV
  • langgraph-sdk, PyPI0.1.66OSV
  • langgraph-sdk, PyPI0.1.69OSV
  • langgraph-sdk, PyPI0.1.70OSV
  • langgraph-sdk, PyPI0.1.71OSV
  • langgraph-sdk, PyPI0.1.72OSV
  • langgraph-sdk, PyPI0.1.73OSV
  • langgraph-sdk, PyPI0.1.74OSV
  • langgraph-sdk, PyPI0.2.0OSV
  • langgraph-sdk, PyPI0.2.0a1OSV
  • langgraph-sdk, PyPI0.2.1OSV
  • langgraph-sdk, PyPI0.2.10OSV
  • langgraph-sdk, PyPI0.2.12OSV
  • langgraph-sdk, PyPI0.2.14OSV
  • langgraph-sdk, PyPI0.2.15OSV
  • langgraph-sdk, PyPI0.2.2OSV
  • langgraph-sdk, PyPI0.2.3OSV
  • langgraph-sdk, PyPI0.2.4OSV
  • langgraph-sdk, PyPI0.2.5OSV
  • langgraph-sdk, PyPI0.2.6OSV
  • langgraph-sdk, PyPI0.2.7OSV
  • langgraph-sdk, PyPI0.2.8OSV
  • langgraph-sdk, PyPI0.2.9OSV
  • langgraph-sdk, PyPI0.3.0OSV
  • langgraph-sdk, PyPI0.3.1OSV
  • langgraph-sdk, PyPI0.3.10OSV
  • langgraph-sdk, PyPI0.3.11OSV
  • langgraph-sdk, PyPI0.3.12OSV
  • langgraph-sdk, PyPI0.3.13OSV
  • langgraph-sdk, PyPI0.3.14OSV
  • langgraph-sdk, PyPI0.3.15OSV
  • langgraph-sdk, PyPI0.3.2OSV
  • langgraph-sdk, PyPI0.3.3OSV

References 5