CVE-2025-54992 Overview
CVE-2025-54992 is an XML External Entity (XXE) injection vulnerability in OpenKilda, an open-source OpenFlow controller. The flaw exists in the SAML validation component of the OpenKilda UI in versions prior to 1.164.0. When combined with GHSL-2025-024, unauthenticated attackers can exfiltrate information from the instance hosting the OpenKilda UI. The vulnerability is tracked under CWE-611 (Improper Restriction of XML External Entity Reference) and was patched in version 1.164.0.
Critical Impact
Unauthenticated remote attackers can trigger XXE processing to read files and exfiltrate sensitive data from the OpenKilda UI host, leading to information disclosure.
Affected Products
- OpenKilda OpenFlow controller versions prior to 1.164.0
- OpenKilda UI SAML validation component (src-gui/src/main/java/org/openkilda/saml/validator/SamlValidator.java)
- Deployments exposing the OpenKilda UI to untrusted networks
Discovery Timeline
- 2025-08-11 - CVE-2025-54992 published to NVD
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2025-54992
Vulnerability Analysis
OpenKilda's SAML validator processes XML-formatted authentication assertions submitted through the UI. Prior to version 1.164.0, the XML parser used by the SamlValidator component did not disable external entity resolution. Attackers can craft SAML payloads containing external entity declarations that reference local files or remote URIs. When the parser resolves these entities, the referenced content is embedded into the parsed document and can be reflected back or exfiltrated out-of-band.
Because the vulnerable endpoint is reachable without authentication when chained with GHSL-2025-024, remote attackers require no valid credentials to exploit the flaw. Successful exploitation yields information disclosure but does not directly grant code execution or integrity impact.
Root Cause
The root cause is unsafe XML parsing in the SAML validation flow. The parser accepts DOCTYPE declarations and resolves external entities by default. Secure XML processing requires disabling DTDs and external entity resolution on the underlying DocumentBuilderFactory, SAXParserFactory, or equivalent parser. The absence of these hardening settings falls under [CWE-611].
Attack Vector
Exploitation occurs over the network by submitting a crafted SAML request or response containing a malicious external entity to the OpenKilda UI. The attacker leverages the chained authentication bypass (GHSL-2025-024) to reach the SAML endpoint without credentials. The XML parser resolves entities such as file:///etc/passwd or an attacker-controlled HTTP URL, returning file contents or triggering blind out-of-band data exfiltration.
// Patch context - SamlValidator.java from commit 1eddb4983a6287d083e3e99a56dc4c291abd347e
@Component
public class SamlValidator {
private static final Logger LOGGER = LoggerFactory.getLogger(SamlValidator.class);
@Autowired
private SamlRepository samlRepository;
@Autowired
private MessageUtils messageUtil;
// Source: https://github.com/telstra/open-kilda/commit/1eddb4983a6287d083e3e99a56dc4c291abd347e
The full patch in pull request #5778 hardens the XML parser configuration to disallow DOCTYPE declarations and external entity resolution.
Detection Methods for CVE-2025-54992
Indicators of Compromise
- Inbound HTTP requests to OpenKilda UI SAML endpoints containing <!DOCTYPE or <!ENTITY declarations in request bodies
- Outbound DNS or HTTP callbacks from the OpenKilda UI host to unfamiliar external domains during SAML flows
- Web server or application logs showing SAML validation activity from unauthenticated sessions
Detection Strategies
- Inspect HTTP payloads sent to /saml/ routes for XML entity declarations and SYSTEM/PUBLIC identifiers referencing file://, http://, or ftp:// URIs
- Correlate SAML request timestamps with unexpected outbound network connections from the OpenKilda UI host
- Monitor for read attempts on sensitive files (/etc/passwd, application configuration, private keys) originating from the Java process hosting the UI
Monitoring Recommendations
- Enable verbose logging on the SAML validation component and forward logs to a centralized analytics platform
- Alert on process behavior where the OpenKilda UI Java process opens local files outside its expected working directory
- Track egress traffic from the OpenKilda UI host and baseline expected destinations to surface anomalous callbacks
How to Mitigate CVE-2025-54992
Immediate Actions Required
- Upgrade OpenKilda to version 1.164.0 or later, which contains the fix from pull request #5778
- Restrict network access to the OpenKilda UI so only trusted management networks can reach SAML endpoints
- Review web server and application logs for prior SAML requests containing XML entity declarations
Patch Information
The fix is delivered in OpenKilda 1.164.0. The upstream commit 1eddb498 modifies SamlValidator.java to configure the XML parser securely. Additional context is available in the GitHub Security Advisory GHSA-43rg-6r66-6hr7.
Workarounds
- Place the OpenKilda UI behind a reverse proxy or web application firewall that inspects and blocks XML payloads containing <!DOCTYPE or <!ENTITY declarations
- Disable SAML authentication on the UI until the upgrade to 1.164.0 is completed
- Apply egress network filtering on the UI host to block outbound requests to untrusted destinations, limiting out-of-band exfiltration paths
# Example: verify installed OpenKilda version and upgrade
git -C open-kilda describe --tags
git -C open-kilda fetch --tags
git -C open-kilda checkout v1.164.0
# Rebuild and redeploy per project documentation
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

