Quick answers
- Is CVE-2024-46455 exploited in the wild?
- No. Junglewise Threat Intelligence has no report of CVE-2024-46455 being exploited in the wild.
- How severe is CVE-2024-46455?
- Medium severity, with a CVSS score of 4, published 10 December 2024.
- Which products and versions are affected?
- github.com/Unstructured-IO/unstructured (Go) SEMVER:introduced=0; unstructured (PyPI) ECOSYSTEM:introduced=0,fixed=0.14.3.
- Is there a fix for CVE-2024-46455?
- Yes. unstructured (PyPI): upgrade to 0.14.3 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
- How is CVE-2024-46455 attacked?
- It is attacked over the network, in a software library.
- Am I affected by CVE-2024-46455?
- Check whether you run github.com/Unstructured-IO/unstructured (Go) or unstructured (PyPI) at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.
How to fix
- unstructured (PyPI): upgrade to 0.14.3 or later
pip install "unstructured>=0.14.3"
Technical details
The vulnerability is a classic XML External Entity (XXE) injection in the XMLParser component of the Unstructured library (CWE-611). The root cause was that the lxml parser was not configured to disable entity resolution, allowing external entities to be processed during XML parsing. The vulnerability requires no authentication and can be triggered over the network by sending a malicious XML file to the partition_xml function. An attacker can exploit this to read arbitrary local files (information disclosure) or perform denial-of-service attacks. The fix, released in version 0.14.3, sets resolve_entities=False when parsing XML to prevent external entity processing.
Affected products
- Unstructured-IO unstructured 0.14.2 and earlier
Identifiers
- CVE-2024-46455
- GHSA-32r8-54hf-c9p3
- GO-2024-3315
- PYSEC-2026-1993
Timeline
- 2024-12-09: disclosed
- 2024-12-09: patched: Fixed in version 0.14.3