CVE-2026-54668
Beschrijving NL
Kitodo.Production is een workflow management tool voor massadigitalisering en maakt deel uit van de Kitodo Digital Library Suite. Voorafgaand aan versie 3.9.2, stelt org.kitodo.production.helper.XMLUtils verschillende XML-parsing-helpers bloot die een JAXP-parser bouwen met de standaard, niet-beveiligde configuratie. De methoden parseXMLString(String), getNumberOfEADElements (String, String) en checkIfXmlIsWellFormed (String) bouwen een DocumentBuilderFactory/XMLInputFactory/SAXParserFactory via newInstance () en ontleden de door de aanvaller geleverde string zonder DOCTYPE-verklaringen of externe entiteitresolutie uit te schakelen. Deze helpers bevinden zich direct op het EAD-importpad: een geverifieerde gebruiker die een EAD/XML-bestand uploadt via het dialoogvenster "Create process" file-upload heeft de geüploade bytes geparseerd door deze methoden. Een vervaardigd document met een externe entiteit levert daarom XML External Entity (XXE) injectie op: openbaarmaking van lokale bestanden en uitgaande SSRF-verzoeken van de server. Dit probleem is gepatcht in versie 3.9.2.
Origineel (Engels) tonen
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.