CVE-2026-61570: MPXJ: XXE Vulnerability in MerlinReader
### Impact MPXJ used the default configuration when creating a DocumentBuilder instance, which leaves doctype declarations enabled, when parsing the XML content of the ZTIMEINTERVALS column from a Merlin project SQLite file. This would allow a carefully crafted XML payload to read an arbitrary file. However, although an arbitrary file can be read, the way the resulting parsed XML is processed by MPXJ means that the data it contains is unlikely to be available for exfiltration. ### Patches The patch is included in MPXJ 16.4.1 ### Workarounds Potential workarounds include: * Avoid reading Merlin project files with MPXJ * Only accept Merlin project files from trusted sources * Preprocess Merlin SQLite databases to strip doctype declarations from the ZTIMEINTERVALS column
Recommended action
Recommended action
Upgrade affected packages to a patched version: net.sf.mpxj:mpxj 16.4.1, mpxj 16.4.1, MPXJ.Net 16.4.1, net.sf.mpxj 16.4.1, net.sf.mpxj-for-csharp 16.4.1, net.sf.mpxj-for-vb 16.4.1, mpxj 16.4.1.
Technical details
- Vendor
- Not specified
- Product
- net.sf.mpxj:mpxj, mpxj, MPXJ.Net, net.sf.mpxj, net.sf.mpxj-for-csharp, net.sf.mpxj-for-vb
- Exploitation
- none known
- Evidence
- official
Evidence and sources
This record is attributed to GitHub Advisories. Exploitation status and remediation guidance are kept separate from the vulnerability's technical severity.
Open primary source