REDHAT-BUG-2481695: High severity LangChain vulnerability
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 allowedobjects="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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
langchainto a version that resolves this vulnerability.Fixed in 0.3.85 - Upgrade
Upgrade
langchainto a version that resolves this vulnerability.Fixed in 1.3.3
Event History
Frequently Asked Questions
What is the severity of REDHAT-BUG-2481695?
The severity of REDHAT-BUG-2481695 is classified as high with a score of 7.
What vulnerabilities are present in LangChain prior to versions 0.3.85 and 1.3.3 according to REDHAT-BUG-2481695?
According to REDHAT-BUG-2481695, the vulnerabilities involve overly broad object allowlists used in deserialization of run inputs and outputs.
How do I fix REDHAT-BUG-2481695?
To fix REDHAT-BUG-2481695, you should upgrade LangChain to version 0.3.85 or later, or to version 1.3.3 or later.
What is the main risk associated with REDHAT-BUG-2481695?
The main risk associated with REDHAT-BUG-2481695 is that it allows potential remote code execution due to insecure deserialization.
What applications are affected by REDHAT-BUG-2481695?
Applications built using LangChain versions prior to 0.3.85 and 1.3.3 are affected by REDHAT-BUG-2481695.