Your RSA-2048 keys break in 2030. Find every one of them before attackers do.
☕ Maven
Not in CISA KEV

CVE-2026-61586 — copernik-xml-factory

Fix: copernik-eu/copernik-xml-factory@2fa042c

CVE-2026-61586 is a security vulnerability in eu.copernik:copernik-xml-factory. A fix is available for eu.copernik:copernik-xml-factory — see the affected versions and patch details below.

Copernik XML Factory (stock JDK provider) has Improper restriction of XInclude resource resolution

Published
Updated
Affected
1 pkg
Patched
1 / 1
Exploits
None indexed
Exploitation data as of Oct 2, 2026 · OSV.dev, FIRST.org (EPSS)

Real-World Exposure

1 pkg affected
☕eu.copernik:copernik-xml-factory

Real-time download stats are indexed for npm and PyPI packages. This vulnerability affects Maven packages — download data is not available via public APIs for these ecosystems.

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

Affected Packages

1 total 1 fixed
EcosystemPackageVulnerable rangeFix
☕Maveneu.copernik:copernik-xml-factoryall versions0.1.2eu.copernik:copernik-xml-factory:0.1.2

Detection & mitigation playbook

Open-source dependency
  1. Detect

    Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for eu.copernik:copernik-xml-factory, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.

  2. Fix

    Update eu.copernik:copernik-xml-factory to 0.1.2 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms CVE-2026-61586 is resolved across your whole dependency graph.

  3. Workarounds

    Restrict outbound requests from the affected component to an allowlist of hosts, block access to link-local and internal address ranges at the network layer, and require authentication on internal services so a forged request cannot reach them unauthenticated.

Frequently Asked Questions

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
O3 Security · Impact-Aware SCA

Is CVE-2026-61586 in your dependencies?

Find it across Maven, including transitive dependencies.