Описание
LangChain's XMLOutputParser vulnerable to XML Entity Expansion
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
Ссылки
- https://nvd.nist.gov/vuln/detail/CVE-2024-1455
- https://github.com/langchain-ai/langchain/pull/17250
- https://github.com/langchain-ai/langchain/pull/19653
- https://github.com/langchain-ai/langchain/pull/19660
- https://github.com/langchain-ai/langchain/commit/727d5023ce88e18e3074ef620a98137d26ff92a3
- https://huntr.com/bounties/4353571f-c70d-4bfd-ac08-3a89cecb45b6
Пакеты
langchain-core
< 0.1.35
0.1.35
Связанные уязвимости
A vulnerability in the langchain-ai/langchain repository allows for a Billion Laughs Attack, a type of XML External Entity (XXE) exploitation. By nesting multiple layers of entities within an XML document, an attacker can cause the XML parser to consume excessive CPU and memory resources, leading to a denial of service (DoS).