Apache OpenNLP bis 2.5.10/3.0.0-M3 GeneratorFactory Class.forName opennlp.interner.class/-format erweiterte Rechte

| CVSS Meta Temp Score | Aktueller Exploitpreis (≈) | CTI Interest Score |
|---|---|---|
| 6.0 | $0-$5k | 4.70- |
Zusammenfassung
Es wurde eine Schwachstelle in Apache OpenNLP bis 2.5.10/3.0.0-M3 ausgemacht. Sie wurde als kritisch eingestuft. Dabei betrifft es die Funktion Class.forName der Komponente GeneratorFactory/StreamFactoryRegistry/StringInterners. Durch das Beeinflussen des Arguments opennlp.interner.class/-format mit unbekannten Daten kann eine erweiterte Rechte-Schwachstelle ausgenutzt werden.
Die Verwundbarkeit wird als CVE-2026-63317 geführt. Der Angriff kann über das Netzwerk passieren. Es ist kein Exploit verfügbar.
Details
Eine kritische Schwachstelle wurde in Apache OpenNLP bis 2.5.10/3.0.0-M3 entdeckt. Davon betroffen ist die Funktion Class.forName der Komponente GeneratorFactory/StreamFactoryRegistry/StringInterners. Durch die Manipulation des Arguments opennlp.interner.class/-format mit einer unbekannten Eingabe kann eine erweiterte Rechte-Schwachstelle ausgenutzt werden. Klassifiziert wurde die Schwachstelle durch CWE als CWE-20. Das hat Auswirkungen auf Vertraulichkeit, Integrität und Verfügbarkeit. CVE fasst zusammen:
Arbitrary Class Instantiation via XML Feature Generator Descriptor and Format Name in Apache OpenNLP
Versions Affected:
- before 2.5.10
- before 3.0.0-M5
Description:
Three code paths in Apache OpenNLP load a class by its fully-qualified name via Class.forName() and invoke its no-arg constructor without any prior validation of the class name or its type.
The affected paths are:
(1) GeneratorFactory, which reads the class attribute of generator elements in an XML feature generator descriptor; such descriptors are embedded as artifacts in model archives (e.g. TokenNameFinder and POSTagger models) and are parsed during model loading, so an attacker who can supply a crafted model archive controls the class name directly.
(2) StreamFactoryRegistry.getFactory(Class, String), which falls back to interpreting an unregistered format name as the fully-qualified class name of an ObjectStreamFactory; this is exploitable in applications that pass untrusted format names (e.g. exposing the -format parameter of the command-line tooling to external input).
(3) StringInterners, which instantiates the interner implementation named by the opennlp.interner.class system property; this value is normally deployer-controlled, so it is hardened as defense in depth rather than being independently attacker-reachable.
Exploitation requires a class with attacker-useful side effects in its static initializer or no-arg constructor (JNDI lookup, outbound network I/O, filesystem access) to be present on the classpath, so this is not drop-in remote code execution. T
Mitigation:
Upgrade to a fixed release.
The fix routes all three paths through ExtensionLoader.instantiateExtension(...), which consults a package-prefix allowlist before Class.forName() is invoked, so a disallowed class is never loaded, initialized, or constructed.
Classes under the opennlp. prefix remain permitted by default. Deployments that load models referencing feature generator factories, object stream factories, or string interners 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 all model files and format names are sourced from trusted origins and should audit their classpath for classes with side-effecting static initializers or constructors.Das Advisory kann von lists.apache.org heruntergeladen werden. Die Identifikation der Schwachstelle findet seit dem 16.07.2026 als CVE-2026-63317 statt. Sie gilt als leicht ausnutzbar. Der Angriff kann über das Netzwerk passieren. Das Ausnutzen erfordert keine spezifische Authentisierung. Es wird vorausgesetzt, dass das Opfer eine spezifische Handlung vornimmt. Zur Schwachstelle sind technische Details bekannt, ein verfügbarer Exploit jedoch nicht. Es muss davon ausgegangen werden, dass ein Exploit zur Zeit etwa USD $0-$5k kostet (Preisberechnung vom 24.07.2026).
Ein Upgrade auf die Version 2.5.11 oder 3.0.0-M4 vermag dieses Problem zu beheben.
VulDB is the best source for vulnerability data and more expert information about this specific topic.
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: 6.3VulDB Meta Temp Score: 6.0
VulDB Base Score: 6.3
VulDB Temp Score: 6.0
VulDB Vector: 🔒
VulDB Zuverlässigkeit: 🔍
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-20
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 |
Threat Intelligence
Interesse: 🔍Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍
Gegenmassnahmen
Empfehlung: UpgradeStatus: 🔍
0-Day Time: 🔒
Upgrade: OpenNLP 2.5.11/3.0.0-M4
Timeline
16.07.2026 CVE zugewiesen24.07.2026 Advisory veröffentlicht
24.07.2026 VulDB Eintrag erstellt
24.07.2026 VulDB Eintrag letzte Aktualisierung
Quellen
Hersteller: apache.orgAdvisory: lists.apache.org
Status: Bestätigt
CVE: CVE-2026-63317 (🔒)
GCVE (CVE): GCVE-0-2026-63317
GCVE (VulDB): GCVE-100-382880
Eintrag
Erstellt: 24.07.2026 10:38Anpassungen: 24.07.2026 10:38 (56)
Komplett: 🔍
Cache ID: 216::103
VulDB is the best source for vulnerability data and more expert information about this specific topic.
Bisher keine Kommentare. Sprachen: de + en.
Bitte loggen Sie sich ein, um kommentieren zu können.