Bug 2520844 (CVE-2026-72848)

Summary: CVE-2026-72848 langchain-community: langchain-community: Server-Side Request Forgery and Information Disclosure via nested sitemap entries
Product: [Other] Security Response Reporter: OSIDB Bzimport <bzimport>
Component: vulnerabilityAssignee: Product Security DevOps Team <prodsec-dev>
Status: NEW --- QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: unspecifiedCC: anpicker, bbrownin, bparees, dfreiber, drow, dschmidt, hasun, jburrell, jfula, jlanda, jowilson, kshier, nyancey, ometelka, ptisnovs, rbobbitt, rjohnson, simaishi, stcannon, syedriko, teagle, vkumar, xdharmai, yguenane
Target Milestone: ---Keywords: Security
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
A flaw was found in langchain-community. An attacker who controls or influences an ingested sitemap can bypass domain restrictions in the `SitemapLoader` component by pointing a nested sitemap entry at an internal address. This allows the server to fetch internal resources even when `restrict_to_same_domain` is enabled. This leads to Server-Side Request Forgery (SSRF) and information disclosure, as internal server responses are parsed and returned to the attacker.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description OSIDB Bzimport 2026-08-20 22:12:29 UTC
SitemapLoader.parse_sitemap in langchain_community/document_loaders/sitemap.py applies the documented restrict_to_same_domain control only to leaf url entries. The loop over url elements filters cross-domain locations, but the loop over nested sitemap elements passes the child loc straight to self.scrape_all([loc.text], "xml"), which reaches WebBaseLoader.scrape_all and an aiohttp GET, with no domain comparison and no check for private, loopback or link-local destinations. An attacker who controls or influences an ingested sitemap can therefore point a nested sitemap entry at an internal address and make the server fetch it even when the deploying application set restrict_to_same_domain to True specifically to confine outbound requests. The fetched content is parsed and surfaces in the returned Documents, so internal responses are disclosed to the caller rather than merely requested.