CVE-2024-0243
langchain Server-Side Request Forgery vulnerability
Description
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
How to fix CVE-2024-0243
To remediate CVE-2024-0243, upgrade the affected package to a fixed version below.
- —upgrade to 0.1.0 or later
- —upgrade to bf0b3cc0b5ade1fb95a5b1b6fa260e99064c2e22 or later
Is CVE-2024-0243 being exploited?
Low — EPSS is 0.1%, meaning exploitation activity has not been observed at scale.
Affected packages (2)
- from 0, < 0.1.0
- from 0, < bf0b3cc0b5ade1fb95a5b1b6fa260e99064c2e22, < bf0b3cc0b5ade1fb95a5b1b6fa260e99064c2e22 | from 0, < 0.1.0
CVSS scores
| Source | Version | Severity | Vector |
|---|---|---|---|
| osv | CVSS 3.1 | LOW3.7 | CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:C/C:L/I:L/A:N |