Skip to content
VulniPulse
Critical9.1Apache Software Foundation

Critical [CVE-2026-40682] Apache OpenNLP DictionaryEntryPersistor: XML External Entity (XXE)

This critical-severity Apache Software Foundation advisory covers CVE-2026-40682 affecting Apache OpenNLP DictionaryEntryPersistor.

CVE-2026-40682 Published May 4, 2026Updated by vendor Jun 30, 2026
Affected products & platforms
Apache Software FoundationUnclassified
Open vendor advisory

Android app · Google Play

Monitor future Apache Software Foundation CVEs from your phone.

Choose a whole vendor or a precise platform, then receive matching security advisories by phone notification, email, or both. Coverage follows 32 official vendor sources and 160+ reviewed platform categories.

Matching phone alertsOptional email delivery

Summary

XML External Entity (XXE) via Unsanitized Dictionary Parsing in Apache OpenNLP DictionaryEntryPersistor

Versions Affected: before 2.5.9, before 3.0.0-M3

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.

Affected versions
  • 2.5.9
  • 3.0.0

Official advisory · high-confidence parse· fetched 1 month ago·verify at source

Fixed versions
  • 2.5.9
  • 3.0.0-M3

Official advisory · high-confidence parse· fetched 1 month ago·verify at source

Mitigation

Upgrade to a fixed release: 2.5.9, 3.0.0-M3. That is the remediation for this advisory.

The vendor advisory may list additional interim mitigations or workarounds not captured here — review it before change work.

Official advisory · high-confidence parse· fetched 1 month ago·verify at source

Discussion(0)

No comments yet. Share field notes, upgrade gotchas, or questions — verify against the vendor advisory before acting on community advice.

Sign in to join the discussion.