{
    "data_version": "4.0",
    "data_type": "CVE",
    "data_format": "MITRE",
    "CVE_data_meta": {
        "ID": "CVE-2024-0243",
        "ASSIGNER": "security@huntr.com",
        "STATE": "PUBLIC"
    },
    "description": {
        "description_data": [
            {
                "lang": "eng",
                "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"
            }
        ]
    },
    "problemtype": {
        "problemtype_data": [
            {
                "description": [
                    {
                        "lang": "eng",
                        "value": "CWE-918 Server-Side Request Forgery (SSRF)",
                        "cweId": "CWE-918"
                    }
                ]
            }
        ]
    },
    "affects": {
        "vendor": {
            "vendor_data": [
                {
                    "vendor_name": "langchain-ai",
                    "product": {
                        "product_data": [
                            {
                                "product_name": "langchain-ai/langchain",
                                "version": {
                                    "version_data": [
                                        {
                                            "version_affected": "<",
                                            "version_name": "unspecified",
                                            "version_value": "0.1.0"
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                }
            ]
        }
    },
    "references": {
        "reference_data": [
            {
                "url": "https://huntr.com/bounties/370904e7-10ac-40a4-a8d4-e2d16e1ca861",
                "refsource": "MISC",
                "name": "https://huntr.com/bounties/370904e7-10ac-40a4-a8d4-e2d16e1ca861"
            },
            {
                "url": "https://github.com/langchain-ai/langchain/commit/bf0b3cc0b5ade1fb95a5b1b6fa260e99064c2e22",
                "refsource": "MISC",
                "name": "https://github.com/langchain-ai/langchain/commit/bf0b3cc0b5ade1fb95a5b1b6fa260e99064c2e22"
            },
            {
                "url": "https://github.com/langchain-ai/langchain/pull/15559",
                "refsource": "MISC",
                "name": "https://github.com/langchain-ai/langchain/pull/15559"
            }
        ]
    },
    "source": {
        "advisory": "370904e7-10ac-40a4-a8d4-e2d16e1ca861",
        "discovery": "EXTERNAL"
    },
    "impact": {
        "cvss": [
            {
                "version": "3.0",
                "attackComplexity": "HIGH",
                "attackVector": "LOCAL",
                "availabilityImpact": "NONE",
                "confidentialityImpact": "LOW",
                "integrityImpact": "LOW",
                "privilegesRequired": "HIGH",
                "scope": "CHANGED",
                "userInteraction": "REQUIRED",
                "vectorString": "CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:C/C:L/I:L/A:N",
                "baseScore": 3.7,
                "baseSeverity": "LOW"
            }
        ]
    }
}