Read the docs
TI-2026-79929 Aliases CVE-2026-54668

XXE injection in Kitodo.Production EAD/XML upload parsing

Priority HIGH 73CWE-611Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
—
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA.

Summary

Kitodo.Production before 3.9.2 parses uploaded EAD/XML files with XML parsers that keep the default, non-secure configuration, so the XMLUtils helpers resolve external entities (CWE-611). An authenticated user with low privileges who uploads a crafted EAD/XML file through the Create process dialog can read local files and make outbound requests from the server.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

Description from the CNA

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00304 23rd percentileScored 2026-11-07
Fix Fixed kitodo-production (kitodo): 3.9.2

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
kitodokitodo-productionbefore 3.9.23.9.2Patch availableCNA
  • kitodo-production Vendorkitodo Affected before 3.9.2 Fixed in 3.9.2 Patch available CNA

Remediation

Update Kitodo.Production to version 3.9.2, where this issue is patched.

Written with Claude Haiku 5.5 from the sources below · 2026-10-29

  • Fix · CNA kitodo-production (kitodo) Fixed in 3.9.2

Timeline

  1. 2026-10-23 Threatist record created from CVE-2026-54668
  2. 2026-10-24 Priority changed: MEDIUM → LOW
  3. 2026-10-29 CISA SSVC decision points changed
  4. 2026-10-29 Priority changed: LOW → HIGH

References

  • TI-2022-08774 An issue was discovered in the Kitodo.Presentation (aka dif) extension before 2.3.2, 3.x… CVSS 3.1HIGH 7.5
  • TI-2020-12665 The dlf (aka Kitodo.Presentation) extension before 3.1.2 for TYPO3 allows XSS. CVSS 3.1MEDIUM 6.1

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences