CVE-2023-39631 Langchain vulnerable to arbitrary code execution via the evaluate function in the numexpr library

Critical 9.8 Published Updated

Remote attackers can execute arbitrary code via the evaluate function in the numexpr library used by LangChain.

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-39631?

CVE-2023-39631 is a critical code injection vulnerability in n/a, published on 1 Sep 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

An issue in LanChain-ai Langchain v.0.0.245 allows a remote attacker to execute arbitrary code via the evaluate function in the numexpr library.

Weakness: CWE-94

Which versions are affected by CVE-2023-39631?

6 open source packages ship an affected version, including langchain and numexpr. It affects 1 product.

PackageAffectedFixed in
langchain PyPIAll versions0.0.308
langchain PyPIAll versions0.0.308
langchain PyPIAll versions0.0.308
numexpr PyPIAll versions2.8.5
numexpr PyPIAll versions2.8.5
numexpr PyPIAll versions2.8.5

Products include Langchain Langchain.

How do I fix CVE-2023-39631?

Upgrade langchain to 0.0.308 or later.

Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.

Is CVE-2023-39631 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2023-39631 exists.

Sources

Also known as GHSA-f73w-4m7g-ch9x, PYSEC-2023-162, PYSEC-2023-163, ROOT-APP-PYPI-CVE-2023-39631.

Is CVE-2023-39631 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free