Copernik XML Factory (stock JDK provider) has Improper restriction of XInclude resource resolution
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()orXmlFactories.newSAXParserFactory(), or hardens an externally obtainedXMLReaderwithXmlFactories.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
Czego dotyczy
Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.
| Platforma | Paczka | Podatne wersje | Poprawka w wersji |
|---|---|---|---|
| Java / Kotlin (Maven) | eu.copernik:copernik-xml-factory | < 0.1.2 | 0.1.2 |
Odnośniki
- https://github.com/copernik-eu/copernik-xml-factory/security/advisories/GHSA-xm28-xvqc-gxxg
- https://github.com/copernik-eu/copernik-xml-factory/commit/2fa042c44931b0a4ddd585d62b97a8a987efd6c6
- https://github.com/copernik-eu/copernik-xml-factory/commit/e5febc6039ed4b0088245acb80ed7d6d6a7f5537
- https://github.com/copernik-eu/copernik-xml-factory
- https://github.com/copernik-eu/copernik-xml-factory/releases/tag/v0.1.2
- Wektor CVSS
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- Słabość (CWE)
CWE-611- Platforma
- Java / Kotlin (Maven)
- Paczka
eu.copernik:copernik-xml-factory- Ujawniono
- 02.10.2026
- Aktualizacja
- 11.10.2026 13:20
Źródła i licencje
OSV / GitHub Advisory Database - GHSA-xm28-xvqc-gxxg - CC BY 4.0
Historia podatności: eu.copernik:copernik-xml-factory
Wszystkie opisane podatności tej paczki (Java / Kotlin (Maven)), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.
To jedyna znana podatność tej paczki.
Dowiedz się, które podatności dotyczą Twojej aplikacji
Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.