CVE-2025-23195

7.5 HIGH

📋 TL;DR

An XML External Entity (XXE) vulnerability in Apache Ambari/Oozie allows attackers to inject malicious XML entities due to insecure parsing with DocumentBuilderFactory. This enables reading arbitrary server files or performing SSRF attacks. Systems running vulnerable Ambari/Oozie versions are affected.

💻 Affected Systems

Products:
  • Apache Ambari
  • Apache Oozie
Versions: All versions before Ambari 2.7.9 and Oozie trunk branch fixes
Operating Systems: All platforms running affected software
Default Config Vulnerable: ⚠️ Yes
Notes: Vulnerability exists in default XML parsing configuration without explicit security settings.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server compromise via sensitive file disclosure (passwords, keys) or internal network access through SSRF leading to lateral movement.

🟠

Likely Case

Unauthorized file system access to read configuration files, logs, or sensitive data stored on the server.

🟢

If Mitigated

Limited impact if XML input validation and proper network segmentation are implemented.

🌐 Internet-Facing: HIGH - Directly accessible services can be exploited remotely to read files or attack internal systems.
🏢 Internal Only: MEDIUM - Internal attackers could still access sensitive files but external SSRF impact is reduced.

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Requires ability to submit XML input to vulnerable endpoints; no authentication bypass mentioned.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Ambari 2.7.9, Oozie trunk branch

Vendor Advisory: https://lists.apache.org/thread/hsb6mvxd7g37dq1ygtd0pd88gs9tfcwq

Restart Required: No

Instructions:

1. Upgrade Ambari to version 2.7.9 or later. 2. For Oozie, update to the latest trunk branch. 3. Verify XML parsing now disables external entities.

🔧 Temporary Workarounds

Disable XXE in DocumentBuilderFactory

all

Configure XML parsers to disable external entity resolution before parsing untrusted XML.

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setFeature("http://xml.org/sax/features/external-general-entities", false);
dbf.setFeature("http://xml.org/sax/features/external-parameter-entities", false);
dbf.setFeature("http://apache.org/xml/features/disallow-doctype-decl", true);

🧯 If You Can't Patch

  • Implement strict XML input validation and sanitization at application boundaries.
  • Use network segmentation to limit server access and implement WAF rules to block XXE patterns.

🔍 How to Verify

Check if Vulnerable:

Review code for DocumentBuilderFactory usage without XXE protection features enabled.

Check Version:

ambari-server --version (for Ambari) or check Oozie build version

Verify Fix Applied:

Test XML endpoints with XXE payloads; successful file reads indicate vulnerability.

📡 Detection & Monitoring

Log Indicators:

  • Unusual XML parsing errors
  • File access attempts via XML entities
  • Outbound requests from server to internal systems

Network Indicators:

  • XML payloads containing external entity references
  • Unexpected outbound HTTP requests from server

SIEM Query:

source="ambari.log" OR source="oozie.log" AND (message="*DOCTYPE*" OR message="*ENTITY*" OR message="*file:*")

🔗 References

📤 Share & Export