{ "id": "CVE-2024-0243", "sourceIdentifier": "security@huntr.dev", "published": "2024-02-26T16:27:49.670", "lastModified": "2024-03-13T21:15:55.173", "vulnStatus": "Awaiting Analysis", "descriptions": [ { "lang": "en", "value": "With the following crawler configuration:\n\n```python\nfrom bs4 import BeautifulSoup as Soup\n\nurl = \"https://example.com\"\nloader = RecursiveUrlLoader(\n url=url, max_depth=2, extractor=lambda x: Soup(x, \"html.parser\").text\n)\ndocs = loader.load()\n```\n\nAn 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`.\n\nhttps://github.com/langchain-ai/langchain/blob/bf0b3cc0b5ade1fb95a5b1b6fa260e99064c2e22/libs/community/langchain_community/document_loaders/recursive_url_loader.py#L51-L51\n\nResolved in https://github.com/langchain-ai/langchain/pull/15559" }, { "lang": "es", "value": "Con la siguiente configuraci\u00f3n del rastreador: ```python de 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() ``` Un atacante que controle el contenido de `https://example.com` podr\u00eda colocar un archivo HTML malicioso all\u00ed con enlaces como \"https:/example.completely.different/my_file.html\" y el rastreador proceder\u00eda a descargar ese archivo tambi\u00e9n aunque `prevent_outside=True`. https://github.com/langchain-ai/langchain/blob/bf0b3cc0b5ade1fb95a5b1b6fa260e99064c2e22/libs/community/langchain_community/document_loaders/recursive_url_loader.py#L51-L51 Resuelto en https://github.com/langchain-ai/langchain/pull /15559" } ], "metrics": { "cvssMetricV30": [ { "source": "security@huntr.dev", "type": "Secondary", "cvssData": { "version": "3.0", "vectorString": "CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:C/C:L/I:L/A:N", "attackVector": "LOCAL", "attackComplexity": "HIGH", "privilegesRequired": "HIGH", "userInteraction": "REQUIRED", "scope": "CHANGED", "confidentialityImpact": "LOW", "integrityImpact": "LOW", "availabilityImpact": "NONE", "baseScore": 3.7, "baseSeverity": "LOW" }, "exploitabilityScore": 0.6, "impactScore": 2.7 } ] }, "weaknesses": [ { "source": "security@huntr.dev", "type": "Primary", "description": [ { "lang": "en", "value": "CWE-918" } ] } ], "references": [ { "url": "https://github.com/langchain-ai/langchain/commit/bf0b3cc0b5ade1fb95a5b1b6fa260e99064c2e22", "source": "security@huntr.dev" }, { "url": "https://github.com/langchain-ai/langchain/pull/15559", "source": "security@huntr.dev" }, { "url": "https://huntr.com/bounties/370904e7-10ac-40a4-a8d4-e2d16e1ca861", "source": "security@huntr.dev" } ] }