{"id":"GHSA-754f-8gm6-c4r2","summary":"Ruby SAML allows a SAML authentication bypass due to namespace handling (parser differential)","details":"### Summary\nAn authentication bypass vulnerability was found in ruby-saml due to a parser differential.\nReXML 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.\n\n### Impact\nThis issue may lead to authentication bypass.","aliases":["BIT-gitlab-2025-25292","CVE-2025-25292"],"modified":"2026-02-04T02:52:36.998732Z","published":"2025-03-12T20:54:42Z","related":["CVE-2025-25292","CVE-2025-66567"],"database_specific":{"github_reviewed_at":"2025-03-12T20:54:42Z","nvd_published_at":"2025-03-12T21:15:42Z","cwe_ids":["CWE-347","CWE-436"],"severity":"CRITICAL","github_reviewed":true},"references":[{"type":"WEB","url":"https://github.com/SAML-Toolkits/ruby-saml/security/advisories/GHSA-754f-8gm6-c4r2"},{"type":"WEB","url":"https://github.com/omniauth/omniauth-saml/security/advisories/GHSA-hw46-3hmr-x9xv"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2025-25292"},{"type":"WEB","url":"https://github.com/SAML-Toolkits/ruby-saml/commit/e76c5b36bac40aedbf1ba7ffaaf495be63328cd9"},{"type":"WEB","url":"https://github.com/SAML-Toolkits/ruby-saml/commit/e9c1cdbd0f9afa467b585de279db0cbd0fb8ae97"},{"type":"WEB","url":"https://about.gitlab.com/releases/2025/03/12/patch-release-gitlab-17-9-2-released"},{"type":"WEB","url":"https://github.blog/security/sign-in-as-anyone-bypassing-saml-sso-authentication-with-parser-differentials"},{"type":"PACKAGE","url":"https://github.com/SAML-Toolkits/ruby-saml"},{"type":"WEB","url":"https://github.com/SAML-Toolkits/ruby-saml/releases/tag/v1.12.4"},{"type":"WEB","url":"https://github.com/SAML-Toolkits/ruby-saml/releases/tag/v1.18.0"},{"type":"WEB","url":"https://github.com/rubysec/ruby-advisory-db/blob/master/gems/ruby-saml/CVE-2025-25292.yml"},{"type":"WEB","url":"https://lists.debian.org/debian-lts-announce/2025/04/msg00011.html"},{"type":"WEB","url":"https://news.ycombinator.com/item?id=43374519"},{"type":"WEB","url":"https://portswigger.net/research/saml-roulette-the-hacker-always-wins"},{"type":"WEB","url":"https://security.netapp.com/advisory/ntap-20250314-0009"},{"type":"ADVISORY","url":"https://securitylab.github.com/advisories/GHSL-2024-329_GHSL-2024-330_ruby-saml"}],"affected":[{"package":{"name":"ruby-saml","ecosystem":"RubyGems","purl":"pkg:gem/ruby-saml"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.13.0"},{"fixed":"1.18.0"}]}],"versions":["1.13.0","1.14.0","1.15.0","1.16.0","1.17.0"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/03/GHSA-754f-8gm6-c4r2/GHSA-754f-8gm6-c4r2.json"}},{"package":{"name":"ruby-saml","ecosystem":"RubyGems","purl":"pkg:gem/ruby-saml"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.12.4"}]}],"versions":["0.0.5","0.0.6","0.0.7","0.0.8","0.2.1","0.2.2","0.2.3","0.3.0","0.3.1","0.3.2","0.3.3","0.3.4","0.4.0","0.4.1","0.4.2","0.4.3","0.4.4","0.4.5","0.4.6","0.4.7","0.5.0","0.5.1","0.5.2","0.5.3","0.6.0","0.7.0","0.7.1","0.7.2","0.7.3","0.8.0","0.8.1","0.8.10","0.8.11","0.8.12","0.8.13","0.8.14","0.8.15","0.8.16","0.8.17","0.8.18","0.8.2","0.8.3","0.8.4","0.8.5","0.8.6","0.8.7","0.8.8","0.8.9","0.9","0.9.1","0.9.2","0.9.3","0.9.4","1.0.0","1.1.0","1.1.1","1.1.2","1.10.0","1.10.1","1.10.2","1.11.0","1.12.0","1.12.1","1.12.2","1.12.3","1.2.0","1.3.0","1.3.1","1.4.0","1.4.1","1.4.2","1.4.3","1.5.0","1.6.0","1.6.1","1.6.2","1.7.0","1.7.1","1.7.2","1.8.0","1.9.0"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2025/03/GHSA-754f-8gm6-c4r2/GHSA-754f-8gm6-c4r2.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"},{"type":"CVSS_V4","score":"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"}]}