Skip to content
Heist/ feed
UnratedFix available

DEBIAN-CVE-2026-42027

Type: advisorySource: OSV1 source record

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, na

Announced Source revision 1
Original source ↗

DEBIAN-CVE-2026-42027

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:DEBIAN-CVE-2026-42027

apache-opennlp

Source reference: /affected/0/package/name

Affected versions
2.1.0-1

Source reference: /affected/0/versions

2.2.0-1

Source reference: /affected/0/versions

2.2.0-1~exp

Source reference: /affected/0/versions

2.3.0-1

Source reference: /affected/0/versions

2.3.1-1

Source reference: /affected/0/versions

2.3.1-2

Source reference: /affected/0/versions

2.3.2-1

Source reference: /affected/0/versions

2.3.3-1

Source reference: /affected/0/versions

2.4.0-1

Source reference: /affected/0/versions

2.5.0-1

Source reference: /affected/0/versions

2.5.1-1

Source reference: /affected/0/versions

2.5.12-1

Source reference: /affected/0/versions

2.5.2-1

Source reference: /affected/0/versions

2.5.3-1

Source reference: /affected/0/versions

2.5.9-1

Source reference: /affected/0/versions

Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

apache-opennlp

Source reference: /affected/1/package/name

Affected versions
2.5.12-1

Source reference: /affected/1/versions

2.5.3-1

Source reference: /affected/1/versions

2.5.9-1

Source reference: /affected/1/versions

Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

apache-opennlp

Source reference: /affected/2/package/name

Affected versions
2.5.3-1

Source reference: /affected/2/versions

Fixed versions
2.5.9-1

Source reference: /affected/2/ranges

Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "ranges": [
      {
        "type": "ECOSYSTEM",
        "events": [
          {
            "introduced": "0"
          }
        ]
      }
    ],
    "package": {
      "name": "apache-opennlp",
      "purl": "pkg:deb/debian/apache-opennlp?arch=source&distro=bookworm",
      "ecosystem": "Debian:12"
    },
    "versions": [
      "2.1.0-1",
      "2.2.0-1",
      "2.2.0-1~exp",
      "2.3.0-1",
      "2.3.1-1",
      "2.3.1-2",
      "2.3.2-1",
      "2.3.3-1",
      "2.4.0-1",
      "2.5.0-1",
      "2.5.1-1",
      "2.5.12-1",
      "2.5.2-1",
      "2.5.3-1",
      "2.5.9-1"
    ],
    "database_specific": {
      "source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-42027.json"
    },
    "ecosystem_specific": {
      "urgency": "not yet assigned"
    }
  },
  {
    "ranges": [
      {
        "type": "ECOSYSTEM",
        "events": [
          {
            "introduced": "0"
          }
        ]
      }
    ],
    "package": {
      "name": "apache-opennlp",
      "purl": "pkg:deb/debian/apache-opennlp?arch=source&distro=trixie",
      "ecosystem": "Debian:13"
    },
    "versions": [
      "2.5.12-1",
      "2.5.3-1",
      "2.5.9-1"
    ],
    "database_specific": {
      "source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-42027.json"
    },
    "ecosystem_specific": {
      "urgency": "not yet assigned"
    }
  },
  {
    "ranges": [
      {
        "type": "ECOSYSTEM",
        "events": [
          {
            "introduced": "0"
          },
          {
            "fixed": "2.5.9-1"
          }
        ]
      }
    ],
    "package": {
      "name": "apache-opennlp",
      "purl": "pkg:deb/debian/apache-opennlp?arch=source&distro=forky",
      "ecosystem": "Debian:14"
    },
    "versions": [
      "2.5.3-1"
    ],
    "database_specific": {
      "source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-42027.json"
    },
    "ecosystem_specific": {
      "urgency": "not yet assigned"
    }
  }
]

Publisher severity

No explicit severity was provided.

Event
#56961 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement