Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-63317— Apache OpenNLP: Arbitrary Class Instantiation in GeneratorFactory via Feature Descriptor XML

Quick assessment

Affected
Apache Software Foundation Apache OpenNLP
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Apache Software Foundation Apache OpenNLP是Apache Software Foundation基金会的自然语言处理库。 Apache OpenNLP 2.5.10之前版本和3.0.0-M5之前版本存在代码注入漏洞,该漏洞源于通过XML特征生成器描述符和格式名称加载类时未对类名和类型进行验证,可能导致任意类实例化,进而可能被利用实现远程代码执行。

AI Predicted 8.1 Difficulty: Moderate EPSS 0.85% · P57

Possible ATT&CK Techniques 1 AI

T1195.002 · Compromise Software Supply Chain

Affected Version Matrix 2

VendorProduct Version RangeStatus
Apache Software Foundation Apache OpenNLP 3.0.0-M1< 3.0.0-M4 affected
< 2.5.11 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-63317

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Apache OpenNLP: Arbitrary Class Instantiation in GeneratorFactory via Feature Descriptor XML
Source: CVE Program / CVE List V5
Vulnerability Description
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.
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
使用外部可控制的输入来选择类或代码(不安全的反射)
Source: CVE Program / CVE List V5
Vulnerability Title
Apache OpenNLP 代码注入漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Apache Software Foundation Apache OpenNLP是Apache Software Foundation基金会的自然语言处理库。 Apache OpenNLP 2.5.10之前版本和3.0.0-M5之前版本存在代码注入漏洞,该漏洞源于通过XML特征生成器描述符和格式名称加载类时未对类名和类型进行验证,可能导致任意类实例化,进而可能被利用实现远程代码执行。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Apache Software Foundation Apache OpenNLP 3.0.0-M1 ~ 3.0.0-M4 -

II. Public POCs for CVE-2026-63317

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-63317

请登录查看更多情报信息。

Mailing List Discussions for CVE-2026-63317 (1)

Same Patch Batch · Apache Software Foundation · 2026-07-24 · 11 CVEs total

CVE-2026-49326 Apache HBase: Missing scanner instance owner check in thrift delegation service
CVE-2026-46452 Apache NimBLE: Mesh Proxy SAR reassembly unbounded append and unchecked failure
CVE-2026-45816 Apache NimBLE: NULL pointer dereference vulnerability in SMP LTK request
CVE-2026-45815 Apache NimBLE: Remote reachable assertion in ATT Read Multiple Variable Response handler
CVE-2026-45813 Apache NimBLE: Incorrect data validation in BASS add/modify source operation
CVE-2026-45812 Apache NimBLE: OOB Read via sizeof(pointer) in Legacy Advertising Report Handler
CVE-2026-45811 Apache NimBLE: Buffer overflow in socket HCI transport
CVE-2026-66144 Apache Neethi: Remote PolicyReference fetch lacks resource bounds
CVE-2026-66143 Apache Neethi: Missing global alternative-output budget across policy computation paths
CVE-2026-66142 Apache Neethi: Uncontrolled recursion in policy processing

IV. Related Vulnerabilities

V. Comments for CVE-2026-63317

No comments yet


Leave a comment