CVE-2023-36281 langchain vulnerable to arbitrary code execution
Remote attackers can execute arbitrary code via crafted JSON files in LangChain's load_prompt function, requiring library upgrades.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2023-36281?
CVE-2023-36281 is a critical code injection vulnerability in n/a, published on 22 Aug 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
An issue in langchain v.0.0.171 allows a remote attacker to execute arbitrary code via a JSON file to load_prompt. This is related to __subclasses__ or a template.
Weakness: CWE-94
Which versions are affected by CVE-2023-36281?
3 open source packages ship an affected version, including langchain. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
langchain PyPI | All versions | 0.0.171 |
langchain PyPI | All versions | 0.0.312 |
langchain PyPI | All versions | 0.0.312 |
Products include Langchain Langchain.
How do I fix CVE-2023-36281?
Upgrade langchain to a fixed version for your release line: 0.0.171 or 0.0.312.
Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.
Is CVE-2023-36281 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2023-36281 exists.
Public exploit code: 1 proofs of concept on GitHub.
Other vulnerabilities in n/a
- CVE-2023-39631 Langchain vulnerable to arbitrary code execution via the evaluate function in the numexpr library
- CVE-2023-38860 LangChain vulnerable to arbitrary code execution
- CVE-2023-38896 LangChain vulnerable to arbitrary code execution
- CVE-2023-39659 LangChain vulnerable to arbitrary code execution
- CVE-2023-36095 langchain Code Injection vulnerability
Sources
Also known as GHSA-7gfq-f96f-g85j, PYSEC-2023-151.