CVE-2026-40682 Vulnerability Analysis & Exploit Details

CVE-2026-40682
Vulnerability Scoring

9.1
/10
Critical Risk

As a catastrophic security flaw, CVE-2026-40682 has severe implications, demanding immediate intervention.

Attack Complexity Details

  • Attack Complexity: Low
    Exploits can be performed without significant complexity or special conditions.
  • Attack Vector: Network
    Vulnerability is exploitable over a network without physical access.
  • Privileges Required: None
    No privileges are required for exploitation.
  • Scope: Unchanged
    Exploit remains within the originally vulnerable component.
  • User Interaction: None
    No user interaction is necessary for exploitation.

CVE-2026-40682 Details

Status: Analyzed

Last updated: 🕕 06 May 2026, 18:00 UTC
Originally published on: 🕔 04 May 2026, 17:16 UTC

Time between publication and last update: 2 days

CVSS Release: version 3

CVSS3 Source

134c704f-9b21-4f2e-91b3-4a467353bcc0

CVSS3 Type

Secondary

CVSS3 Vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N

CVE-2026-40682 Vulnerability Summary

CVE-2026-40682: XML External Entity (XXE) via Unsanitized Dictionary Parsing in Apache OpenNLP DictionaryEntryPersistor Versions Affected: before 2.5.9, before 3.0.0-M3 Description: The DictionaryEntryPersistor class initializes a static SAXParserFactory at class-load time without enabling FEATURE_SECURE_PROCESSING or disabling DTD processing. When create(InputStream, EntryInserter) is invoked, the only feature set on the XMLReader is namespace support — external entity resolution and DOCTYPE declarations remain fully enabled. An attacker who can supply a crafted dictionary file (e.g., a stop-word list or domain dictionary) containing a malicious DOCTYPE declaration can trigger local file disclosure via file:// entity references or server-side request forgery via http:// entity references during SAX parsing, before the application processes a single dictionary entry. This is inconsistent with the project's own XmlUtil.createSaxParser() helper, which correctly sets FEATURE_SECURE_PROCESSING and disallow-doctype-decl and is used by all other XML parsing paths in the codebase. The public Dictionary(InputStream) constructor delegates directly to this method and is the documented API for loading user-supplied dictionaries, making untrusted input a realistic scenario. Mitigation: 2.x users should upgrade to 2.5.9. 3.x users should upgrade to 3.0.0-M3. Users who cannot upgrade immediately should ensure that all dictionary files are sourced from trusted origins and should consider wrapping the Dictionary(InputStream) constructor with input validation that rejects any XML containing a DOCTYPE declaration before it reaches the parser.

Assessing the Risk of CVE-2026-40682

Access Complexity Graph

The exploitability of CVE-2026-40682 depends on two key factors: attack complexity (the level of effort required to execute an exploit) and privileges required (the access level an attacker needs).

Exploitability Analysis for CVE-2026-40682

With low attack complexity and no required privileges, CVE-2026-40682 is an easy target for cybercriminals. Organizations should prioritize immediate mitigation measures to prevent unauthorized access and data breaches.

Understanding AC and PR

A lower complexity and fewer privilege requirements make exploitation easier. Security teams should evaluate these aspects to determine the urgency of mitigation strategies, such as patch management and access control policies.

Attack Complexity (AC) measures the difficulty in executing an exploit. A high AC means that specific conditions must be met, making an attack more challenging, while a low AC means the vulnerability can be exploited with minimal effort.

Privileges Required (PR) determine the level of system access necessary for an attack. Vulnerabilities requiring no privileges are more accessible to attackers, whereas high privilege requirements limit exploitation to authorized users with elevated access.

CVSS Score Breakdown Chart

Above is the CVSS Sub-score Breakdown for CVE-2026-40682, illustrating how Base, Impact, and Exploitability factors combine to form the overall severity rating. A higher sub-score typically indicates a more severe or easier-to-exploit vulnerability.

CIA Impact Analysis

Below is the Impact Analysis for CVE-2026-40682, showing how Confidentiality, Integrity, and Availability might be affected if the vulnerability is exploited. Higher values usually signal greater potential damage.

  • Confidentiality: High
    Exploiting CVE-2026-40682 can result in unauthorized access to sensitive data, severely compromising data privacy.
  • Integrity: High
    CVE-2026-40682 could allow unauthorized modifications to data, potentially affecting system reliability and trust.
  • Availability: None
    CVE-2026-40682 does not impact system availability.

CVE-2026-40682 References

External References

CWE Common Weakness Enumeration

CWE-611

CAPEC Common Attack Pattern Enumeration and Classification

  • Data Serialization External Entities Blowup CAPEC-221 This attack takes advantage of the entity replacement property of certain data serialization languages (e.g., XML, YAML, etc.) where the value of the replacement is a URI. A well-crafted file could have the entity refer to a URI that consumes a large amount of resources to create a denial of service condition. This can cause the system to either freeze, crash, or execute arbitrary code depending on the URI.

Vulnerable Configurations

  • cpe:2.3:a:apache:opennlp:1.5.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:1.5.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:1.5.1:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:1.5.1:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:1.5.2:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:1.5.2:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:1.5.3:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:1.5.3:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:1.6.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:1.6.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:1.7.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:1.7.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:1.7.1:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:1.7.1:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:1.7.2:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:1.7.2:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:1.8.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:1.8.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:1.8.1:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:1.8.1:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:1.8.2:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:1.8.2:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:1.8.3:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:1.8.3:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:1.8.4:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:1.8.4:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:1.9.0:rc1:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:1.9.0:rc1:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:1.9.0:rc2:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:1.9.0:rc2:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:1.9.1:rc1:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:1.9.1:rc1:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:1.9.1:rc2:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:1.9.1:rc2:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:1.9.2:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:1.9.2:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:1.9.3:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:1.9.3:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:1.9.4:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:1.9.4:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:2.0.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:2.0.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:2.1.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:2.1.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:2.1.1:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:2.1.1:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:2.2.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:2.2.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:2.3.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:2.3.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:2.3.1:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:2.3.1:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:2.3.2:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:2.3.2:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:2.3.3:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:2.3.3:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:2.4.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:2.4.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:2.5.0:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:2.5.0:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:2.5.1:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:2.5.1:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:2.5.2:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:2.5.2:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:2.5.3:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:2.5.3:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:2.5.4:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:2.5.4:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:2.5.5:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:2.5.5:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:2.5.6:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:2.5.6:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:2.5.6.1:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:2.5.6.1:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:2.5.7:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:2.5.7:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:2.5.8:*:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:2.5.8:*:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:3.0.0:m1:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:3.0.0:m1:*:*:*:*:*:*
  • cpe:2.3:a:apache:opennlp:3.0.0:m2:*:*:*:*:*:*
    cpe:2.3:a:apache:opennlp:3.0.0:m2:*:*:*:*:*:*

Protect Your Infrastructure against CVE-2026-40682: Combat Critical CVE Threats

Stay updated with real-time CVE vulnerabilities and take action to secure your systems. Enhance your cybersecurity posture with the latest threat intelligence and mitigation techniques. Develop the skills necessary to defend against CVEs and secure critical infrastructures. Join the top cybersecurity professionals safeguarding today's infrastructures.

Other 5 Recently Published CVEs Vulnerabilities

  • CVE-2026-48777 – FileBrowser Quantum is a free, self-hosted, web-based file manager. Versions prior to 1.3.2-stable, 1.4.0-beta and 1.4.1-beta are vulnerable to Pat...
  • CVE-2026-47750 – stable-diffusion.cpp is a pure C/C++ library for running diffusion model (Stable Diffusion, Flux, Wan, Qwen Image, Z-Image, and more) inference. In...
  • CVE-2026-47747 – stable-diffusion.cpp is a pure C/C++ library for running diffusion model (Stable Diffusion, Flux, Wan, Qwen Image, Z-Image, and more) inference. In...
  • CVE-2026-46448 – In OpenStack Nova before 33.0.2, the server create API does not strip certain hint data. The resulting instance has no Placement allocation.
  • CVE-2026-22313 – The device has a webserver that exposes a REST API authenticated with a token on the management network. By exploiting an OS command injection vuln...