Impact
The vulnerability allows an attacker to provide a crafted model archive whose manifest.properties specifies the fully‑qualified name of a class. The ExtensionLoader.instantiateExtension method loads that class with Class.forName(), executing its static initializer before verifying that it inherits the expected interface. If the attacker supplies a class that performs side‑effecting actions—such as JNDI lookups, outbound network traffic, or filesystem access—in its static initializer, those actions will run during model loading. The vulnerability does not automatically provide remote code execution unless the attacker can supply a class with side‑effecting code on the classpath, but the risk grows as users load models from untrusted or community‑shared repositories.
Affected Systems
Apache OpenNLP, released by the Apache Software Foundation, is affected when used in versions earlier than 2.5.9 (2.x line) and earlier than 3.0.0-M3 (3.x line). Systems that load external model archives from untrusted sources using these versions are impacted.
Risk and Exploitability
The vulnerability cannot be exploited for arbitrary code execution without a side‑effecting class already on the classpath; however, if such a class exists, the static initializer will run during model loading, potentially leaking information or performing malicious operations. Attackers who can craft a model archive represent the primary attack vector. Since the EPSS score is not available and there is no KEV listing, the observed exploit frequency is uncertain, but the potential impact remains significant for systems that load untrusted models or contain classes with unsafe static initialization.
OpenCVE Enrichment