langchain-ai/langchain · Security
LangChain's XMLOutputParser vulnerable to XML Entity Expansion
- GHSA ID
- GHSA-q84m-rmw3-4382
- CVE ID
- CVE-2024-1455
- Severity
- medium
- Published
- Updated
- CVSS
- 5.9 · CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
- CVSS v3
- 5.9 · CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Description
The XMLOutputParser in LangChain uses the etree module from the XML parser in the standard python library which has some XML vulnerabilities; see: https://docs.python.org/3/library/xml.html
This primarily affects users that combine an LLM (or agent) with the XMLOutputParser and expose the component via an endpoint on a web-service.
This would allow a malicious party to attempt to manipulate the LLM to produce a malicious payload for the parser that would compromise the availability of the service.
A successful attack is predicated on:
- Usage of XMLOutputParser
- Passing of malicious input into the XMLOutputParser either directly or by trying to manipulate an LLM to do so on the users behalf
- Exposing the component via a web-service
CWEs
- CWE-776 · Improper Restriction of Recursive Entity References in DTDs ('XML Entity Expansion')
References
- https://nvd.nist.gov/vuln/detail/CVE-2024-1455 ↗
- https://huntr.com/bounties/4353571f-c70d-4bfd-ac08-3a89cecb45b6 ↗
- https://github.com/langchain-ai/langchain/pull/17250 ↗
- https://github.com/langchain-ai/langchain/commit/727d5023ce88e18e3074ef620a98137d26ff92a3 ↗
- https://github.com/langchain-ai/langchain/pull/19653 ↗
- https://github.com/langchain-ai/langchain/pull/19660 ↗
- https://github.com/advisories/GHSA-q84m-rmw3-4382 ↗