What’s Vulnerable › Vulnerabilities
CVE-2026-54668: Kitodo.Production: XXE in XMLUtils EAD/XML upload parsers (parseXMLString / getNumberOfEADElements / checkIfXmlIsWellFormed lack secure JAXP config)
- Severity: high (CVSS 8.7 v4.0)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.3% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-10-23 · updated 2026-10-29
- Weakness: CWE-611
Description
Kitodo.Production is a workflow management tool for mass digitization and is part of the Kitodo Digital Library Suite. Prior to version 3.9.2, org.kitodo.production.helper.XMLUtils exposes several XML parsing helpers that construct a JAXP parser with the default, non-secure configuration. The methods parseXMLString(String), getNumberOfEADElements(String, String) and checkIfXmlIsWellFormed(String) build a DocumentBuilderFactory / XMLInputFactory / SAXParserFactory via newInstance() and parse the attacker-supplied string without disabling DOCTYPE declarations or external entity resolution. These helpers sit directly on the EAD-import path: an authenticated user who uploads an EAD/XML file through the "Create process" file-upload dialog has the uploaded bytes parsed by these methods. A crafted document with an external entity therefore yields XML External Entity (XXE) injection: local file disclosure and outbound SSRF requests from the server. This issue has been patched in version 3.9.2.
Affected products
- kitodo-production: before 3.9.2
References
- https://github.com/kitodo/kitodo-production/releases/tag/kitodo-production-3.9.2
- https://github.com/kitodo/kitodo-production/security/advisories/GHSA-mff2-fpqj-jg4q
- https://github.com/kitodo/kitodo-production/security/advisories/GHSA-mff2-fpqj-jg4q
Get alerted when CVE-2026-54668 or the next vulnerability affects your stack