CVE-2026-47898 Overview
CVE-2026-47898 is an XML External Entity (XXE) vulnerability [CWE-611] in the Apache Lucene.Net.Analysis.Common library. The flaw affects Apache Lucene.Net versions 4.8.0-beta00005 through 4.8.0-beta00017. An attacker with local, high-privilege access can supply crafted XML input that causes the parser to resolve external entities. Successful exploitation can disclose limited confidentiality information from the parsing context. The Apache Lucene.Net project released 4.8.0-beta00018 to remediate the issue.
Critical Impact
Crafted XML input processed by vulnerable Lucene.Net analyzers can trigger external entity resolution, leading to information exposure within the host application context.
Affected Products
- Apache Lucene.Net.Analysis.Common 4.8.0-beta00005 through 4.8.0-beta00017
- Applications embedding Apache Lucene.Net search or indexing components
- .NET services that parse untrusted XML through Lucene.Net analyzers
Discovery Timeline
- 2026-07-03 - CVE-2026-47898 published to NVD
- 2026-07-08 - Last updated in NVD database
Technical Details for CVE-2026-47898
Vulnerability Analysis
The vulnerability resides in XML parsing logic within Lucene.Net.Analysis.Common. The affected components use an XML reader configuration that does not disable external entity and DTD processing. When the library processes XML data, the underlying parser resolves references to external entities defined in the document type declaration. An attacker who controls XML content passed to the analyzer can define entities that reference local files or internal network resources. The parser then substitutes those entities during processing.
The scope of impact is limited by the attack prerequisites. Exploitation requires local access and high privileges on the host running the application. The confidentiality impact is rated low, and the vulnerability does not directly affect integrity or availability. However, a subsequent system component may receive parsed output, extending the reach of any disclosed data.
Root Cause
The root cause is the failure to restrict external entity references during XML parsing, a pattern tracked as [CWE-611]. The affected code paths instantiate an XML reader without setting DtdProcessing to Prohibit or providing a null XmlResolver. As a result, the parser follows entity declarations that reference external system identifiers.
Attack Vector
An attacker supplies an XML document containing a malicious DOCTYPE declaration to a workflow that feeds XML into a vulnerable Lucene.Net analyzer. The declaration defines an external entity referencing a local file path or an intranet URL. When the analyzer parses the document, the entity is expanded and its contents are incorporated into processing results. The attacker retrieves the disclosed content through application output, log data, or downstream indexes. See the Apache Security Mailing List Thread and Openwall OSS-Security Discussion for advisory context.
Detection Methods for CVE-2026-47898
Indicators of Compromise
- XML documents submitted to Lucene.Net workflows containing <!DOCTYPE declarations with SYSTEM or PUBLIC external identifiers
- Unexpected file read operations by the host .NET process targeting sensitive paths such as /etc/passwd or Windows configuration files
- Outbound network requests from indexing services to internal or external hosts referenced inside inbound XML payloads
Detection Strategies
- Inspect application inputs for XML content containing external entity declarations before it reaches analyzer code
- Enable verbose XML parser logging in staging environments to identify unexpected entity resolution events
- Correlate indexing service telemetry with file access and network egress logs to spot XXE-style exfiltration patterns
Monitoring Recommendations
- Track versions of the Lucene.Net.Analysis.Common NuGet package deployed across build pipelines and production hosts
- Monitor process behavior for the .NET runtime reading unusual local files during XML processing
- Alert on egress connections initiated by indexing or search services to addresses not on an approved allowlist
How to Mitigate CVE-2026-47898
Immediate Actions Required
- Upgrade Apache Lucene.Net.Analysis.Common to version 4.8.0-beta00018 in all applications and container images
- Audit code paths that pass untrusted XML into Lucene.Net analyzers and restrict input sources where possible
- Restrict local and high-privilege access to hosts running vulnerable Lucene.Net versions until patching completes
Patch Information
The Apache Lucene.Net project fixed the vulnerability in 4.8.0-beta00018. Update the Lucene.Net.Analysis.Common package reference in project files and redeploy affected services. Details are available in the Apache Security Mailing List Thread.
Workarounds
- Pre-validate XML input and reject documents containing DOCTYPE declarations or external entity references
- Configure application-level XmlReaderSettings with DtdProcessing = DtdProcessing.Prohibit and XmlResolver = null where XML is parsed prior to analyzer invocation
- Isolate indexing services with network egress controls that block outbound requests to internal ranges and untrusted destinations
# Configuration example
dotnet add package Lucene.Net.Analysis.Common --version 4.8.0-beta00018
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

