SSRF in Langchain
CVE-2024-0243
With the following crawler configuration: ```python from bs4 import BeautifulSoup as Soup url = "https://example.com" loader = RecursiveUrlLoader( url=url, max_depth=2, extractor=lambda x: Soup(x, "html.parser").text ) docs = loader.load() ``` An attacker in control of the contents of `https://example.com` could place a malicious HTML file in there with links like "https://example.completely.different/my_file.html" and the crawler would proceed to download that file as well even though `prevent_outside=True`. https://github.com/langchain-ai/langchain/blob/bf0b3cc0b5ade1fb95a5b1b6fa260e99064c2e22/libs/community/langchain_community/document_loaders/recursive_url_loader.py#L51-L51 Resolved in https://github.com/langchain-ai/langchain/pull/15559
Vulnerability class: SSRF (Server-Side Request Forgery)
Published · last modified .
CVSS v3 metric
CVSS v3 base score 8.1 (High). Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H.
EPSS exploit prediction
EPSS: 0.005 (41.7th percentile), scored .
Very low probability of exploitation in the next 30 days; routine patching cadence is appropriate. 42nd percentile — 41.7% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.
EPSS over last 30 days · oldest: 0.005 · newest: 0.005 · change: 0.000
Affected products
- Langchain
- Langchain-Ai Langchain-Ai/langchain — versions unspecified
Weakness classification (CWE)
References
- huntr.com/bounties/370904e7-10ac-40a4-a8d4-e2d16e1ca861 (Exploit, Third Party Advisory, Issue Tracking)
- github.com/langchain-ai/langchain/commit/bf0b3cc0b5ade1fb95a5b1b6fa260e99064c2e… (Patch)
- github.com/langchain-ai/langchain/pull/15559 (Patch, Issue Tracking)
Frequently asked questions
- What is CVE-2024-0243?
- CVE-2024-0243 is a high-severity vulnerability in Langchain, classified under Server-Side Request Forgery (SSRF). CVSS score: 8.1/10. Published 2024-02-26.
- How severe is CVE-2024-0243?
- High severity. CVSS v3 base score is 8.1 out of 10.