PatchSiren cyber security CVE debrief
CVE-2026-63317 Apache Software Foundation CVE debrief
Apache OpenNLP is vulnerable to arbitrary class instantiation via XML feature generator descriptor and format name, affecting versions before 2.5.10 and before 3.0.0-M5. The vulnerability allows an attacker to load a class by its fully-qualified name via Class.forName() and invoke its no-arg constructor without prior validation. This requires a class with attacker-useful side effects in its static initializer or no-arg constructor to be present on the classpath. Users should upgrade to a fixed release and ensure all model files and format names are sourced from trusted origins.
- Vendor
- Apache Software Foundation
- Product
- Apache OpenNLP
- CVSS
- MEDIUM 5.6
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-07-24
- Original CVE updated
- 2026-08-06
- Advisory published
- 2026-07-24
- Advisory updated
- 2026-08-06
Who should care
Apache OpenNLP users, administrators, and developers who use OpenNLP in their applications should be aware of this vulnerability and take necessary actions to mitigate it. They should prioritize upgrading to a fixed release and ensure all model files and format names are sourced from trusted origins. Additionally, they should audit their classpath for classes with side-effecting static initializers or constructors and review compensating controls for exposed systems while remediation is scheduled and verified. Users should also track exceptions, retest remediated assets, and close the item only after evidence is documented. This involves confirming whether affected product deployments exist in managed environments and assigning an owner for follow-up, reviewing the supplied official advisory or CVE record to validate affected scope, severity, and vendor guidance, and planning vendor-supported updates or mitigations through normal change control where exposure is confirmed. Users should also check relevant monitoring, detection, and logs for exposed assets that need extra review. This requires coordination between operators, platforms, vulnerability management, and security teams to ensure comprehensive mitigation and response. Users must ensure that all model files are from trusted sources and that the classpath is audited regularly for potential vulnerabilities. This vulnerability can be mitigated by ensuring that all model files and format names are sourced from trusted origins and by auditing the classpath for classes with side-effecting static initializers or constructors. Users should also consider implementing compensating controls for exposed systems while remediation is scheduled and verified. The vulnerability requires a class with attacker-useful side effects in its static initializer or no-arg constructor to be present on the classpath, which can be achieved through various means such as JNDI lookup, outbound network I/O, or filesystem access. Therefore, users must be cautious when loading classes and ensure that they are from trusted sources. The Apache OpenNLP community has provided guidance on how to mitigate this vulnerability, including upgrading
Technical summary
Apache OpenNLP is vulnerable to arbitrary class instantiation via XML feature generator descriptor and format name. Three code paths are affected: GeneratorFactory, StreamFactoryRegistry.getFactory(Class, String), and StringInterners. Exploitation requires a class with attacker-useful side effects in its static initializer or no-arg constructor to be present on the classpath. The fix routes all three paths through ExtensionLoader.instantiateExtension(...), which consults a package-prefix allowlist before Class.forName() is invoked.
Defensive priority
Apache OpenNLP users should prioritize upgrading to a fixed release to mitigate arbitrary class instantiation via XML feature generator descriptor and format name.
Recommended defensive actions
- Upgrade to Apache OpenNLP version 2.5.10 or later
- Upgrade to Apache OpenNLP version 3.0.0-M5 or later
- Ensure all model files and format names are sourced from trusted origins
- Audit classpath for classes with side-effecting static initializers or constructors
- Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up
- Review the supplied official advisory or CVE record to validate affected scope, severity, and vendor guidance
- Plan vendor-supported updates or mitigations through normal change control where exposure is confirmed
Evidence notes
The CVE-2026-63317 record indicates that Apache OpenNLP is vulnerable to arbitrary class instantiation via XML feature generator descriptor and format name. Three code paths are affected: GeneratorFactory, StreamFactoryRegistry.getFactory(Class, String), and StringInterners. Exploitation requires a class with attacker-useful side effects in its static initializer or no-arg constructor to be present on the classpath.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-63317 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-63317
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-63317 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-63317
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://lists.apache.org/thread/myr446n8t3gv8gq8wbpxm41olx16d8yj
[email protected] - Mailing List, Vendor Advisory
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.