{"id":"CVE-2024-45409","summary":"The Ruby SAML library vulnerable to a SAML authentication bypass via Incorrect XPath selector","details":"The Ruby SAML library is for implementing the client side of a SAML authorization. Ruby-SAML in \u003c= 12.2 and 1.13.0 \u003c= 1.16.0 does not properly verify the signature of the SAML Response. An unauthenticated attacker with access to any signed saml document (by the IdP) can thus forge a SAML Response/Assertion with arbitrary contents. This would allow the attacker to log in as arbitrary user within the vulnerable system. This vulnerability is fixed in 1.17.0 and 1.12.3.","aliases":["BIT-gitlab-2024-45409","GHSA-jw9c-mfg7-9rx2"],"modified":"2026-07-08T08:10:18.088375317Z","published":"2024-09-10T18:50:12.965Z","related":["CGA-j736-fpjh-3jx2","GHSA-cvp8-5r8g-fhvq","GHSA-jw9c-mfg7-9rx2"],"database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/45xxx/CVE-2024-45409.json","cna_assigner":"GitHub_M","cwe_ids":["CWE-347"]},"references":[{"type":"WEB","url":"https://lists.debian.org/debian-lts-announce/2024/11/msg00006.html"},{"type":"WEB","url":"https://news.ycombinator.com/item?id=41586031"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/45xxx/CVE-2024-45409.json"},{"type":"ADVISORY","url":"https://github.com/SAML-Toolkits/ruby-saml/security/advisories/GHSA-jw9c-mfg7-9rx2"},{"type":"ADVISORY","url":"https://github.com/omniauth/omniauth-saml/security/advisories/GHSA-cvp8-5r8g-fhvq"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2024-45409"},{"type":"ADVISORY","url":"https://security.netapp.com/advisory/ntap-20240926-0008/"},{"type":"FIX","url":"https://github.com/SAML-Toolkits/ruby-saml/commit/1ec5392bc506fe43a02dbb66b68741051c5ffeae"},{"type":"FIX","url":"https://github.com/SAML-Toolkits/ruby-saml/commit/4865d030cae9705ee5cdb12415c654c634093ae7"},{"type":"ARTICLE","url":"https://ssoready.com/blog/engineering/ruby-saml-pwned-by-xml-signature-wrapping-attacks/"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/omniauth/omniauth-saml","events":[{"introduced":"0"},{"last_affected":"7a7ad49ad425f7ec17d77078bf4bd2dd46e918c5"},{"introduced":"ed52758c272f5afe81e3304d1f4e436e30021a2a"},{"last_affected":"f2a7a8459a77f9901750d43460f33d5a095ac28a"}],"database_specific":{"source":["CPE_RANGE","CPE_STRING"],"cpe":["cpe:2.3:a:omniauth:omniauth_saml:*:*:*:*:*:ruby:*:*","cpe:2.3:a:omniauth:omniauth_saml:2.0.0:*:*:*:*:ruby:*:*","cpe:2.3:a:omniauth:omniauth_saml:2.1.0:*:*:*:*:ruby:*:*"],"extracted_events":[{"introduced":"0"},{"last_affected":"1.10.3"},{"introduced":"2.0.0"},{"last_affected":"2.0.0"},{"introduced":"2.1.0"},{"last_affected":"2.1.0"}]}},{"type":"GIT","repo":"https://github.com/saml-toolkits/ruby-saml","events":[{"introduced":"0"},{"fixed":"1ec5392bc506fe43a02dbb66b68741051c5ffeae"},{"introduced":"5da850c36bbf678674f9321032df428139d7e434"},{"fixed":"1bc447f297b769d1a9abeb619ce074bd9c410a72"},{"fixed":"4865d030cae9705ee5cdb12415c654c634093ae7"}],"database_specific":{"source":["CPE_RANGE","REFERENCES"],"cpe":"cpe:2.3:a:onelogin:ruby-saml:*:*:*:*:*:*:*:*","extracted_events":[{"introduced":"0"},{"fixed":"1.12.3"},{"introduced":"1.13.0"},{"fixed":"1.17.0"}]}}],"versions":["2.0.0","2.1.0","v1.10.3","v2.1.0","v2.0.0","v1.10.2","v1.10.1","v1.10.0","v1.9.0","v1.8.1","v1.8.0","v1.7.0","v1.6.0","v1.5.0","v1.4.2","v1.4.1","v1.4.0","v1.3.1","v1.3.0","v1.2.0","v1.1.0","v1.0.0","v0.9.2","v0.9.1","v0.9.0","v1.12.2","v1.16.0","v1.15.0","v1.14.0","v1.12.1","v1.12.0","v1.11.0","v1.7.2","v1.7.1","v1.6.2","v1.6.1","1.4.3","1.5.0","1.4.2","1.4.1","1.4.0","1.3.1","v1.1.2","v1.1.1","v0.9","0.8.1","0.8.0","0.7.3","v0.7.1","v0.6.0","v0.5.3","v0.5.2","v0.5.1","v0.5.0","v0.4.7","v0.4.6","v0.4.5","v0.4.4","v0.4.3","v0.4.2","v0.4.1","v0.4.0","v0.3.4","v0.3.3","v0.3.2","v0.3.1","v0.3.0","v0.2.3","v0.2.2","v0.2.1","v0.2.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-45409.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N"}]}