
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2025-59154 is an authentication bypass via identity spoofing vulnerability in Ignite Realtime Openfire, an open-source XMPP server. The flaw resides in the SASL EXTERNAL mechanism's handling of X.509 client certificates, allowing an attacker with a crafted certificate to impersonate another user. All Openfire versions prior to 5.0.2 are affected. The vulnerability was disclosed on September 15, 2025, with fixes available in Openfire 5.0.2 and 5.1.0. It carries a CVSS v3.1 base score of 5.9 (Medium) (Github Advisory).
The root cause is classified as CWE-290 (Authentication Bypass by Spoofing). The vulnerable code in CNCertificateIdentityMapping.java (line 43) calls X509Certificate.getSubjectDN().getName() and applies the regex (?i)(cn=)([^,]*) to extract the Common Name (CN) from the resulting string. Because getSubjectDN().getName() produces a provider-dependent, unescaped string (e.g., under SunJSSE/sun.security.x509.X500Name), special characters such as commas and equals signs within attribute values are not escaped. An attacker who can obtain or issue a certificate with a crafted subject — for example, OU="CN=admin," — causes the regex to match the embedded CN=admin substring and extract admin as the authenticated identity. Exploitation requires that SASL EXTERNAL is enabled and configured to map CNs to user accounts, and that the attacker can present a certificate trusted by the server's CA, making this primarily a risk in private CA or client certificate authentication environments (Github Advisory, Vulnerable Code).
Successful exploitation allows an attacker to impersonate any Openfire user — including administrators — whose username can be embedded as a fake CN in a crafted certificate subject. This results in high confidentiality impact (unauthorized access to XMPP messages, user data, and administrative functions) and high integrity impact (ability to send messages or perform actions as the impersonated user). Availability is not directly affected. The risk is most acute in private CA environments and deployments using client certificate mutual authentication, where CN-based identity mapping is the primary authentication mechanism (Github Advisory).
No public proof-of-concept exploit code or evidence of in-the-wild exploitation has been reported as of the disclosure date (Github Advisory). The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. The EPSS score is approximately 0.021–0.033%, indicating a low near-term exploitation probability. Exploitation requires high privileges (ability to obtain or issue a certificate trusted by the target server's CA) and high attack complexity, limiting the realistic attacker pool to insiders or those with access to a private CA.
OU="CN=admin,", CN=attacker. The actual CN field can be set to the attacker's legitimate identity.CNCertificateIdentityMapping.java will match the embedded CN=admin substring and authenticate the attacker as admin.admin) and can read messages, send messages, or perform administrative actions on behalf of that account (Github Advisory, Vulnerable Code).admin) from a certificate whose Subject DN contains unusual attribute values (e.g., OU values containing CN= substrings).CN= patterns within non-CN attributes (detectable via TLS inspection or certificate logging).The primary remediation is to upgrade Openfire to version 5.0.2 or 5.1.0, which replace the vulnerable getSubjectDN().getName() + regex approach with standards-compliant LdapName parsing of the RFC2253 representation of X500Principal. As an interim workaround without upgrading, administrators can deploy a custom drop-in JAR implementing the fixed parsing logic and configure Openfire to use it via the provider.clientCertIdentityMap.classList and provider.serverCertIdentityMap.classList system properties. A simpler but more restrictive workaround is to configure the mapper list to use only org.jivesoftware.util.cert.SANCertificateIdentityMapping (SAN-only mapping), which eliminates CN-based spoofing at the cost of breaking authentication for certificates without a SAN. Disabling SASL EXTERNAL client mutual authentication entirely via the admin console is also effective if certificate-based client auth is not required (Github Advisory).
The vulnerability was discovered by researcher onmywaytoheaven and disclosed responsibly through GitHub's security advisory process. The Openfire maintainer (guusdk) published the advisory on September 15, 2025, alongside the release of Openfire 5.0.2. The Ignite Realtime community forum announced the 5.0.2 release, which includes the fix. No significant broader media coverage or notable social media discussion has been identified beyond standard vulnerability database aggregation (Github Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."