CVE-2025-25291

Source
https://nvd.nist.gov/vuln/detail/CVE-2025-25291
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-25291.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2025-25291
Aliases
Downstream
Related
Published
2025-03-12T20:16:12Z
Modified
2025-10-22T18:50:47.548960Z
Severity
  • 9.3 (Critical) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N CVSS Calculator
Summary
ruby-saml vulnerable to SAML authentication bypass due to DOCTYPE handling (parser differential)
Details

ruby-saml provides security assertion markup language (SAML) single sign-on (SSO) for Ruby. An authentication bypass vulnerability was found in ruby-saml prior to versions 1.12.4 and 1.18.0 due to a parser differential. ReXML and Nokogiri parse XML differently; the parsers can generate entirely different document structures from the same XML input. That allows an attacker to be able to execute a Signature Wrapping attack. This issue may lead to authentication bypass. Versions 1.12.4 and 1.18.0 fix the issue.

Database specific
{
    "cwe_ids": [
        "CWE-347",
        "CWE-436"
    ]
}
References

Affected packages

Git / github.com/omniauth/omniauth-saml

Affected ranges

Type
GIT
Repo
https://github.com/omniauth/omniauth-saml
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed

Affected versions

v0.*

v0.9.0
v0.9.1
v0.9.2

v1.*

v1.0.0
v1.1.0
v1.10.0
v1.10.1
v1.10.2
v1.10.3
v1.10.4
v1.10.5
v1.2.0
v1.3.0
v1.3.1
v1.4.0
v1.4.1
v1.4.2
v1.5.0
v1.6.0
v1.7.0
v1.8.0
v1.8.1
v1.9.0

Git / github.com/omniauth/omniauth-saml

Affected ranges

Type
GIT
Repo
https://github.com/onelogin/ruby-saml
Events

Affected versions

v1.*

v1.13.0
v1.14.0
v1.15.0
v1.16.0
v1.17.0

Git / github.com/omniauth/omniauth-saml

Affected ranges

Type
GIT
Repo
https://github.com/saml-toolkits/ruby-saml
Events

Affected versions

0.*

0.7.3
0.8.0
0.8.1

1.*

1.3.1
1.4.0
1.4.1
1.4.2
1.4.3
1.5.0

v0.*

v0.2.0
v0.2.1
v0.2.2
v0.2.3
v0.3.0
v0.3.1
v0.3.2
v0.3.3
v0.3.4
v0.4.0
v0.4.1
v0.4.2
v0.4.3
v0.4.4
v0.4.5
v0.4.6
v0.4.7
v0.5.0
v0.5.1
v0.5.2
v0.5.3
v0.6.0
v0.7.1
v0.9
v0.9.1
v0.9.2

v1.*

v1.0.0
v1.1.0
v1.1.1
v1.1.2
v1.10.0
v1.10.1
v1.10.2
v1.11.0
v1.12.0
v1.12.1
v1.12.2
v1.12.3
v1.13.0
v1.14.0
v1.15.0
v1.16.0
v1.17.0
v1.2.0
v1.3.0
v1.6.0
v1.6.1
v1.6.2
v1.7.0
v1.7.1
v1.7.2
v1.8.0
v1.9.0