CVE-2025-59154

Source
https://nvd.nist.gov/vuln/detail/CVE-2025-59154
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2025-59154.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2025-59154
Aliases
Published
2025-09-15T20:03:34.341Z
Modified
2025-12-02T20:15:28.514213Z
Severity
  • 5.9 (Medium) CVSS_V3 - CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:N CVSS Calculator
Summary
Openfire allows potential identity spoofing via unsafe CN parsing
Details

Openfire is an XMPP server licensed under the Open Source Apache License. Openfire’s SASL EXTERNAL mechanism for client TLS authentication contains a vulnerability in how it extracts user identities from X.509 certificates. Instead of parsing the structured ASN.1 data, the code calls X509Certificate.getSubjectDN().getName() and applies a regex to look for CN=. This method produces a provider-dependent string that does not escape special characters. In SunJSSE (sun.security.x509.X500Name), for example, commas and equals signs inside attribute values are not escaped. As a result, a malicious certificate can embed CN= inside another attribute value (e.g. OU="CN=admin,"). The regex will incorrectly interpret this as a legitimate Common Name and extract admin. If SASL EXTERNAL is enabled and configured to map CNs to user accounts, this allows the attacker to impersonate another user. The fix is included in Openfire 5.0.2 and 5.1.0.

Database specific
{
    "cna_assigner": "GitHub_M",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/59xxx/CVE-2025-59154.json",
    "cwe_ids": [
        "CWE-290"
    ]
}
References

Affected packages

Git / github.com/igniterealtime/openfire

Affected ranges

Type
GIT
Repo
https://github.com/igniterealtime/openfire
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
{
    "versions": [
        {
            "introduced": "0"
        },
        {
            "fixed": "5.0.2"
        }
    ]
}

Affected versions

Other

attic/origin/master
attic/pubsub_clustering
attic/trunk

v3.*

v3.10.0
v3.9.2
v3.9.3

v4.*

v4.0.0
v4.0.0.beta
v4.1.0
v4.1.0beta
v4.2.0
v4.2.0beta
v4.3.0
v4.3.0beta
v4.4.0
v4.4.0beta
v4.5.0
v4.5.0beta
v4.6.0
v4.6.0beta
v4.7.0
v4.7.0beta
v4.8.0
v4.8.0beta
v4.9.0

v5.*

v5.0.0
v5.0.0alpha
v5.0.0beta
v5.0.1