Impact
Apache OpenNLP allows a user-supplied XML descriptor or untrusted format name to specify any fully‑qualified class that the Java runtime will load and instantiate through a no‑argument constructor. The loaded class is not validated against a whitelist before construction, enabling an attacker to execute arbitrary code during model loading or object stream creation. The vulnerability does not directly provide remote code execution; it requires that a malicious class with side‑effecting static initializers or constructors be present on the application’s classpath, but if such a class is available it can perform JNDI lookups, outbound network traffic, or file‑system operations, compromising confidentiality, integrity, or availability.
Affected Systems
The flaw exists in all Apache OpenNLP releases prior to 2.5.10 and all releases before 3.0.0-M5. The product is released by the Apache Software Foundation under the Apache OpenNLP project.
Risk and Exploitability
The CVSS score of 5.6 indicates a moderate impact level. The EPSS score of less than 1% implies a very low probability of exploitation in the wild, and the vulnerability is not listed in the CISA KEV catalog. The attack vector is inferred to be through the ingestion of a malicious model archive or an externally supplied format name; a successful exploit requires the attacker to supply a crafted model file or control the value of the command-line -format option so that the runtime can construct a disallowed class from the classpath.
OpenCVE Enrichment