Skip to main content
← All vulnerabilities
CVE-2026-44843GHSA-PJWX-R37V-7724PYSEC-2026-2564

LangChain: Unsafe deserialization of attacker-controlled LangChain objects through overly broad `load()` allowlists

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 0.3.85, 1.3.3
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

LangChain is a framework for building agents and LLM-powered applications. Prior to 0.3.85 and 1.3.3, LangChain contains older runtime code paths that deserialize run inputs, run outputs, or other application-controlled payloads using overly broad object allowlists. These paths may call load() with allowed_objects="all". This does not enable arbitrary Python object deserialization, but it does allow any trusted LangChain-serializable object to be revived, which is broader than these runtime paths require. As a result, attacker-supplied LangChain serialized constructor dictionaries may cause trusted runtime paths to instantiate classes with untrusted constructor arguments. This vulnerability is fixed in 0.3.85 and 1.3.3.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  3. Record last updated

Affected versions

  • langchain-ai langchain

    fixed in 0.3.85; From 1.0.0a1 · fixed in 1.3.3

  • langchain-corePyPI

    From 1.0.0 · fixed in 1.3.3

  • langchain-corePyPI

    fixed in 0.3.85

  • langchain-corePyPI

    fixed in 0.3.85; From 1.0.0 · fixed in 1.3.3

References 1

GitHub · langchain-ai/langchain