Apache OpenNLP bis 2.5.8/3.0.0-M2 Model Manifest ExtensionLoader erweiterte Rechte

| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 7.9 | $0-$5k | 0.00 |
Zusammenfassung
Es wurde eine Schwachstelle in Apache OpenNLP bis 2.5.8/3.0.0-M2 entdeckt. Sie wurde als kritisch eingestuft. Dabei geht es um die Funktion ExtensionLoader der Komponente Model Manifest. Durch das Manipulieren mit unbekannten Daten kann eine Remote Privilege Escalation-Schwachstelle ausgenutzt werden.
Diese Sicherheitslücke ist unter CVE-2026-42027 bekannt. Der Angriff lässt sich über das Netzwerk starten. Es steht kein Exploit zur Verfügung.
Es wird geraten, die betroffene Komponente zu aktualisieren.
Details
Es wurde eine Schwachstelle in Apache OpenNLP bis 2.5.8/3.0.0-M2 gefunden. Sie wurde als kritisch eingestuft. Hiervon betroffen ist die Funktion ExtensionLoader der Komponente Model Manifest. Durch Manipulieren mit einer unbekannten Eingabe kann eine Remote Privilege Escalation-Schwachstelle ausgenutzt werden. Im Rahmen von CWE wurde eine Klassifizierung als CWE-470 vorgenommen. Dies wirkt sich aus auf Vertraulichkeit, Integrität und Verfügbarkeit. CVE fasst zusammen:
Arbitrary Class Instantiation via Model Manifest in Apache OpenNLP ExtensionLoader
Versions Affected: before 1.9.5, before 2.5.9, before 3.0.0-M3
Description:
The ExtensionLoader.instantiateExtension(Class, String) method loads a class by its fully-qualified name via Class.forName() and invokes its no-arg constructor, with the class name sourced from the manifest.properties entry of a model archive. The existing isAssignableFrom check correctly rejects classes that are not subtypes of the expected extension interface (BaseToolFactory for factory=, ArtifactSerializer for serializer-class-*), but the check runs after Class.forName() has already loaded and initialized the named class.
Class.forName() with default initialization semantics executes the target class's static initializer before returning, so an attacker who can supply a crafted model archive can cause the static initializer of any class on the classpath to run during model loading, regardless of whether that class passes the subsequent type check.
Exploitation requires a class with attacker-useful side effects in its static initializer (for example, JNDI lookup, outbound network I/O, or filesystem access) to be present on the classpath, so this is not a drop-in remote code execution; however, the attack surface grows as third-party model distribution becomes more common (community model repositories, Hugging Face-style sharing), where users routinely load model files from origins they do not control. A secondary, narrower vector affects deployments that ship legitimate BaseToolFactory or ArtifactSerializer subclasses with side-effecting no-arg constructors: a malicious manifest can name such a class and force its constructor to run during model load.
Mitigation:
* 2.x users should upgrade to 2.5.9.
* 3.x users should upgrade to 3.0.0-M3.
Note: The fix introduces a package-prefix allowlist that is consulted before Class.forName() is invoked, so the static initializer of a disallowed class is never executed. Classes under the opennlp. prefix remain permitted by default. Deployments that load models referencing factories or serializers outside opennlp.* must opt those packages in, either programmatically via ExtensionLoader.registerAllowedPackage(String) before the first model load, or by setting the OPENNLP_EXT_ALLOWED_PACKAGES system property to a comma-separated list of allowed package prefixes.
Users who cannot upgrade immediately should ensure that all model files are sourced from trusted origins and should audit their classpath for classes with side-effecting static initializers or constructors, particularly any that perform JNDI lookups, network requests, or filesystem operations during class initialization.Auf lists.apache.org kann das Advisory eingesehen werden. Die Verwundbarkeit wird unter CVE-2026-42027 geführt. Die Ausnutzbarkeit ist als leicht bekannt. Der Angriff kann über das Netzwerk erfolgen. Es sind zwar technische Details, jedoch kein verfügbarer Exploit zur Schwachstelle bekannt. Als Preis für einen Exploit ist zur Zeit ungefähr mit USD $0-$5k zu rechnen (Preisberechnung vom 29.06.2026).
Für den Vulnerability Scanner Nessus wurde ein Plugin mit der ID 312234 (Linux Distros Unpatched Vulnerability : CVE-2026-42027) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann.
Ein Upgrade auf die Version 2.5.9 oder 3.0.0-M3 vermag dieses Problem zu beheben.
Unter anderem wird der Fehler auch in den Datenbanken von Tenable (312234) und EUVD (EUVD-2026-27005) dokumentiert. If you want to get best quality of vulnerability data, you may have to visit VulDB.
Produkt
Hersteller
Name
Version
Lizenz
Webseite
- Hersteller: https://www.apache.org/
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vector: 🔒VulDB Zuverlässigkeit: 🔍
CVSSv3
VulDB Meta Base Score: 8.0VulDB Meta Temp Score: 7.9
VulDB Base Score: 6.3
VulDB Temp Score: 6.0
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍
ADP CISA Base Score: 9.8
ADP CISA Vector: 🔒
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vektor | Komplexität | Authentisierung | Vertraulichkeit | Integrität | Verfügbarkeit |
|---|---|---|---|---|---|
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
| freischalten | freischalten | freischalten | freischalten | freischalten | freischalten |
VulDB Base Score: 🔒
VulDB Temp Score: 🔒
VulDB Zuverlässigkeit: 🔍
Exploiting
Klasse: Erweiterte RechteCWE: CWE-470
CAPEC: 🔒
ATT&CK: 🔒
Physisch: Nein
Lokal: Nein
Remote: Ja
Verfügbarkeit: 🔒
Status: Nicht definiert
EPSS Score: 🔒
EPSS Percentile: 🔒
Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔒
| 0-Day | freischalten | freischalten | freischalten | freischalten |
|---|---|---|---|---|
| Heute | freischalten | freischalten | freischalten | freischalten |
Nessus ID: 312234
Nessus Name: Linux Distros Unpatched Vulnerability : CVE-2026-42027
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: OpenNLP 2.5.9/3.0.0-M3
Timeline
01.05.2026 Advisory veröffentlicht01.05.2026 VulDB Eintrag erstellt
29.06.2026 VulDB Eintrag letzte Aktualisierung
Quellen
Hersteller: apache.orgAdvisory: lists.apache.org
Status: Bestätigt
CVE: CVE-2026-42027 (🔒)
GCVE (CVE): GCVE-0-2026-42027
GCVE (VulDB): GCVE-100-360786
EUVD: 🔒
Eintrag
Erstellt: 01.05.2026 22:19Aktualisierung: 29.06.2026 23:57
Anpassungen: 01.05.2026 22:19 (51), 04.05.2026 20:21 (1), 06.05.2026 07:34 (2), 29.06.2026 23:57 (13)
Komplett: 🔍
Cache ID: 216::103
If you want to get best quality of vulnerability data, you may have to visit VulDB.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.