Skip to content
OpenAdvisories
Low · 3.7 CVE-2024-0243 EUVD-2024-0652GHSA-h9j7-5xvc-qhg5PYSEC-2024-235PYSEC-2026-1509

Server-side Request Forgery In Recursive URL Loader

Published Feb 24, 2024 · Updated Apr 22, 2025 · Assigned by @huntr_ai

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

Affected products

VendorProductAffectedFixed
langchain-ai langchain-ai/langchain unspecified – < 0.1.0 0.1.0

Affected packages

EcosystemPackageAffectedFixedRecord
PyPI langchain < 0.1.0 0.1.0 GHSA-h9j7-5xvc-qhg5
PyPI langchain-exa < 0.1.0 0.1.0 PYSEC-2024-235

References