CVE-2026-42027CRITICAL 9.8EPSS p48.3%

CVE-2026-42027CVE-2026-42027

apache / opennlp

Description

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 cla

Scoring

CVSS 3.19.8 (CRITICAL)
VectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
EPSS0.67% probability of exploitation · percentile 48.3% · 2026-08-03T12:00:16Z
Published2026-05-04
Last modified2026-07-15

Underlying weaknesses· 1

CWE-470

References

  1. https://lists.apache.org/thread/ltlo4powjfc0w2w2yyl1o5tc7q1gcb2y
  2. http://www.openwall.com/lists/oss-security/2026/05/01/20

1

TypeTargetConfidenceTier
WeaknessUse of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')cwe-4700%live

Related by meaning· 6

Nearest entities by semantic similarity across the cs-graph corpus.

CVE
CVE-2026-40682
CVE
CVE-2026-0848
CVE
CVE-2026-4372
CVE
CVE-2026-5241
CVE
CVE-2026-47117
CVE
CVE-2026-31224
Sourced from NVD + FIRST.org EPSS. Curated for EU compliance use cases by Adam Lundqvist, Founder at SQUR.