id: PYSEC-2024-235 modified: 2025-02-26T02:48:56.937312Z published: 2024-02-26T16:27:49Z aliases: - CVE-2024-0243 details: |- 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: - package: ecosystem: PyPI name: langchain-exa purl: pkg:pypi/langchain-exa ranges: - type: GIT events: - introduced: "0" - fixed: bf0b3cc0b5ade1fb95a5b1b6fa260e99064c2e22 - fixed: bf0b3cc0b5ade1fb95a5b1b6fa260e99064c2e22 repo: https://github.com/langchain-ai/langchain - type: ECOSYSTEM events: - introduced: "0" - fixed: 0.1.0 versions: - 0.0.1 severity: - type: CVSS_V3 score: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H references: - type: EVIDENCE url: https://huntr.com/bounties/370904e7-10ac-40a4-a8d4-e2d16e1ca861 - type: FIX url: https://github.com/langchain-ai/langchain/commit/bf0b3cc0b5ade1fb95a5b1b6fa260e99064c2e22 - type: FIX url: https://github.com/langchain-ai/langchain/pull/15559 - type: REPORT url: https://github.com/langchain-ai/langchain/pull/15559 - type: REPORT url: https://huntr.com/bounties/370904e7-10ac-40a4-a8d4-e2d16e1ca861 - type: WEB url: https://huntr.com/bounties/370904e7-10ac-40a4-a8d4-e2d16e1ca861