GHSA-57fc-8q82-gfp3 CVE-2023-36188 PYSEC-2023-109
langchain vulnerable to arbitrary code execution
- Severity
- 9.8 / 10
- Critical · CVSS 3.1
- Exploit chance (EPSS)
- 1.90%
- Chance of exploitation in the next 30 days. Higher than 79.62% of scored vulnerabilities.
- Known exploited
- No
- Not in CISA's catalog
- Weakness
- CWE-74 Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')
- Fix
0.0.247- Upgrade langchain to this version or later
Description
An issue in langchain allows a remote attacker to execute arbitrary code via the PALChain parameter in the Python exec method.
Affected versions
PyPI
| Package | Vulnerable | Fixed in |
|---|---|---|
| langchain | < 0.0.247 |
0.0.247 |
How to fix
Move to the fixed version or later with your package manager, update the lockfile, and run your tests. If the package only arrives through another dependency, upgrade that dependency first. If none of its releases pulls a fixed version yet, force the version with your package manager's override.
langchain PyPI → 0.0.247
- pip
pip install --upgrade "langchain>=0.0.247"- poetry
poetry add "langchain>=0.0.247"- uv
uv add "langchain>=0.0.247"
Severity breakdown
CVSS 3.1 9.8
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Attack vector
- Network
- Attack complexity
- Low
- Privileges required
- None
- User interaction
- None
- Scope
- Unchanged
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Weakness
CWE-74: Improper Neutralization of Special Elements in Output Used by a Downstream Component ('Injection')
The product constructs all or part of a command, data structure, or record using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify how it is parsed or interpreted when it is sent to a downstream component.
How to prevent it
- Requirements: Programming languages and supporting technologies might be chosen which are not subject to these issues.
- Implementation: Utilize an appropriate mix of allowlist and denylist parsing to filter control-plane syntax from all input.
References
Advisories
Packages
Other links
Timeline
- Published
- Last updated by the source
- Latest EPSS score
Related advisories
| Advisory | Severity | Why it's related |
|---|---|---|
| GHSA-gr75-jv2w-4656 LangChain: Path traversal and sandbox escape in LangChain file-search middleware and loaders | Medium | Also affects langchain |
| GHSA-3644-q5cj-c5c7 LangSmith SDK: Public prompt pull deserializes untrusted manifests without trust boundary warning | High | Also affects langchain |
| GHSA-45pg-36p6-83v9 Langchain SQL Injection vulnerability | Critical | Also affects langchain |
| PYSEC-2024-323 LangChain pickle deserialization of untrusted data | High | Also affects langchain |
| GHSA-3hjh-jh2h-vrg6 Denial of service in langchain-community | Medium | Also affects langchain |
| GHSA-rgp8-pm28-3759 langchain vulnerable to path traversal | High | Also affects langchain |
| GHSA-h59x-p739-982c LangChain directory traversal vulnerability | High | Also affects langchain |
| GHSA-h9j7-5xvc-qhg5 langchain Server-Side Request Forgery vulnerability | High | Also affects langchain |
MergeHarbor checks every repository's dependencies against this database, ranks what matters by exploitability and reachability, routes it to the owning team and opens the fix pull request.
Check your repos with MergeHarbor