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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2026-40682— Apache OpenNLP: XXE via Dictionary Parsing in DictionaryEntryPersistor

EPSS 0.11% · P29
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2026-40682

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: XXE via Dictionary Parsing in DictionaryEntryPersistor
Source: NVD (National Vulnerability Database)
Vulnerability Description
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.
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
XML外部实体引用的不恰当限制(XXE)
Source: NVD (National Vulnerability Database)
Vulnerability Title
Apache OpenNLP 代码问题漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Apache OpenNLP是Apache基金会的一个自然语言处理工具库。 Apache OpenNLP 2.5.9之前版本和3.0.0-M3之前版本存在代码问题漏洞,该漏洞源于初始化SAXParserFactory时未启用FEATURE_SECURE_PROCESSING或禁用DTD处理,可能导致攻击者通过特制字典文件触发本地文件泄露或服务端请求伪造。
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

VendorProductAffected VersionsCPESubscribe
Apache Software FoundationApache OpenNLP 0 ~ 2.5.9 -

II. Public POCs for CVE-2026-40682

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-40682

登录查看更多情报信息。

Same Patch Batch · Apache Software Foundation · 2026-05-04 · 17 CVEs total

CVE-2026-428109.9 CRITICALApache Polaris: could broaden vended S3 credentials through wildcard-bearing namespace or
CVE-2026-428119.9 CRITICALApache Polaris: could broaden vended GCS credentials through unescaped identifier content
CVE-2026-428099.9 CRITICALApache Polaris: staged table creation could vend storage credentials for unvalidated locat
CVE-2026-428129.9 CRITICALApache Polaris: No protection on `write.metadata.path`
CVE-2026-42027Apache OpenNLP: Arbitrary Class Instantiation via Model Manifest in ExtensionLoader
CVE-2026-42440Apache OpenNLP: OOM DoS via Unbounded Array Allocation in AbstractModelReader
CVE-2026-40563Apache Atlas: Script injection allows access to unintended data
CVE-2026-29169Apache HTTP Server: mod_dav_lock indirect lock crash
CVE-2026-23918Apache HTTP Server: http2: double free and possible RCE on early reset
CVE-2026-33006Apache HTTP Server: mod_auth_digest timing attack
CVE-2026-33007Apache HTTP Server: mod_authn_socache crash
CVE-2026-33523Apache HTTP Server: multiple modules: HTTP response splitting forwarding malicious status
CVE-2026-33857Apache HTTP Server: Off-by-one OOB reads in AJP getter functions
CVE-2026-34032Apache HTTP Server: mod_proxy_ajp: Heap Buffer Over-Read Due to Missing Null-Termination C
CVE-2026-34059Apache HTTP Server: mod_proxy_ajp: Heap Over-Read and memory disclosure in ajp_parse_data
CVE-2026-24072Apache HTTP Server: mod_rewrite elevation of privileges via ap_expr

IV. Related Vulnerabilities

V. Comments for CVE-2026-40682

No comments yet


Leave a comment