GitHub Advisoryadvisory · Maven
GHSA-xm28-xvqc-gxxg Copernik XML Factory (stock JDK provider) has Improper restriction of XInclude resource resolution
HIGH
Official page ↗
- Aliases
- CVE-2026-61586
- Ecosystem
- Maven
- Packages
- eu.copernik:copernik-xml-factory
- Severity
- High
- CVSS vector
- CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
- Weaknesses
- CWE-611
- Reviewed
- 2026-10-02
Affected packages
• Maven eu.copernik:copernik-xml-factory: < 0.1.2 → fixed in 0.1.2
Description
Copernik XML Factory through `0.1.1`, when running on its stock JDK provider, does not block XInclude resource resolution after an application enables XInclude on a factory returned by `XmlFactories.newDocumentBuilderFactory()` or `XmlFactories.newSAXParserFactory()`, or on an `XMLReader` passed through `XmlFactories.harden()`. The library's documented guarantee that XInclude resolution stays disabled therefore does not hold on that provider.
An application that parses untrusted XML in this configuration can be made to resolve `xi:include` references, allowing an attacker to read local files (information disclosure) or, through `http` hrefs, reach internal network endpoints (SSRF).
All of the following conditions must hold for an application to be affected:
• it obtains a factory from `XmlFactories.newDocumentBuilderFactory()` or `XmlFactories.newSAXParserFactory()`, or hardens an externally obtained `XMLReader` with `XmlFactories.harden()`;
• the stock JDK provider is in effect, that is, Apache Xerces is not on the classpath;
• XInclude is enabled, by calling `setXIncludeAware(true)` or the equivalent reader feature;
• it parses XML from an untrusted source.
The Xerces provider (selected when Xerces is on the classpath) and the Android provider are not affected.
Applications are advised to upgrade to `0.1.2`, which fixes the defect. As a workaround add Apache Xerces (`xercesImpl`) to the classpath so the library selects its unaffected Xerces provider.
Acknowledgements
The maintainer thank the following people for finding, reporting, and helping to remediate this issue:
• Finders: Ta Duc Thien and Duc Anh Nguyen (Danzation)
• Remediation developer: Ta Duc Thien
• Tooling: Claude Code (Anthropic), Claude Opus 4.8
Related
Alias · CVE (1)
- CVE-2026-61586 Copernik XML Factory provides secure-by-default JAXP factory creation for Java. vulnerability
Weakness · CWE (1)
- CWE-611 Improper Restriction of XML External Entity Reference weakness
References
- https://github.com/copernik-eu/copernik-xml-factory/security/advisories/GHSA-xm28-xvqc-gxxg web
- https://github.com/copernik-eu/copernik-xml-factory/commit/2fa042c44931b0a4ddd585d62b97a8a987efd6c6 web
- https://github.com/copernik-eu/copernik-xml-factory/commit/e5febc6039ed4b0088245acb80ed7d6d6a7f5537 web
- https://github.com/copernik-eu/copernik-xml-factory package
- https://github.com/copernik-eu/copernik-xml-factory/releases/tag/v0.1.2 web