{"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-04-16T03:46:58.760290Z","published":"2024-09-10T18:50:12.965Z","related":["CGA-j736-fpjh-3jx2","GHSA-cvp8-5r8g-fhvq","GHSA-jw9c-mfg7-9rx2"],"database_specific":{"cna_assigner":"GitHub_M","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/45xxx/CVE-2024-45409.json","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":"0"},{"last_affected":"ed52758c272f5afe81e3304d1f4e436e30021a2a"},{"introduced":"0"},{"last_affected":"f2a7a8459a77f9901750d43460f33d5a095ac28a"}],"database_specific":{"versions":[{"introduced":"0"},{"last_affected":"1.10.3"},{"introduced":"0"},{"last_affected":"2.0.0"},{"introduced":"0"},{"last_affected":"2.1.0"}]}},{"type":"GIT","repo":"https://github.com/onelogin/ruby-saml","events":[{"introduced":"0"},{"fixed":"1ec5392bc506fe43a02dbb66b68741051c5ffeae"},{"introduced":"5da850c36bbf678674f9321032df428139d7e434"},{"fixed":"1bc447f297b769d1a9abeb619ce074bd9c410a72"}],"database_specific":{"versions":[{"introduced":"0"},{"fixed":"1.12.3"},{"introduced":"1.13.0"},{"fixed":"1.17.0"}]}},{"type":"GIT","repo":"https://github.com/saml-toolkits/ruby-saml","events":[{"introduced":"0"},{"fixed":"1ec5392bc506fe43a02dbb66b68741051c5ffeae"},{"fixed":"4865d030cae9705ee5cdb12415c654c634093ae7"}]},{"type":"GIT","repo":"https://gitlab.com/gitlab-org/gitlab","events":[{"introduced":"0"},{"fixed":"f6896a3182abc8fa52bb9798c7be35adc0458657"},{"introduced":"8c75d0bf4a4190d94326f1a854d0a102ceca4392"},{"fixed":"65eb2ddfb64f0b0098cdd693c58b243290a002d4"},{"introduced":"b7514f9c21c09a9ed2b258f5cfdd56c88f43864a"},{"fixed":"e95b84d953509f0235f606865d3738e2f7efce58"},{"introduced":"f1ebbe522423b514610449d0f6dc7a262f855314"},{"fixed":"18473c203a58f41d4af7a643dd7dada902cba80a"},{"introduced":"5aad128b1defa01641e69fdcd5a2ec16bd1d4c2c"},{"fixed":"f2789346710c02e9dae2b74802f4b9397538129e"}],"database_specific":{"versions":[{"introduced":"0"},{"fixed":"16.11.10"},{"introduced":"17.0.0"},{"fixed":"17.0.8"},{"introduced":"17.1.0"},{"fixed":"17.1.8"},{"introduced":"17.2.0"},{"fixed":"17.2.7"},{"introduced":"17.3.0"},{"fixed":"17.3.3"}]}}],"versions":["0.7.3","0.8.0","0.8.1","1.3.1","1.4.0","1.4.1","1.4.2","1.4.3","1.5.0","11-10-0cfa69752d8-0d9531c80-ee","11-10-0cfa69752d8-74ffd66ae-ee","11-10-119f9509d50-6d7537235-ee","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.0","v0.9.1","v0.9.2","v1.0.0","v1.1.0","v1.1.1","v1.1.2","v1.10.0","v1.10.1","v1.10.2","v1.10.3","v1.11.0","v1.12.0","v1.12.1","v1.12.2","v1.14.0","v1.15.0","v1.16.0","v1.2.0","v1.2.0pre","v1.2.1","v1.2.2","v1.3.0","v1.3.1","v1.4.0","v1.4.1","v1.4.2","v1.5.0","v1.6.0","v1.6.1","v1.6.2","v1.7.0","v1.7.1","v1.7.2","v1.8.0","v1.8.1","v1.9.0","v16.11.0-ee","v16.11.0-rc42-ee","v16.11.3-rc42-ee","v16.11.7-ee","v16.11.8-ee","v16.11.9-ee","v17.0.0-ee","v17.0.1-rc42-ee","v17.0.7-ee","v17.1.0-ee","v17.2.0-ee","v17.2.6-ee","v17.3.0-ee","v2.0.0","v2.1.0","v2.3.0","v2.3.0pre","v2.3.1","v2.4.0","v2.4.0pre","v2.4.1","v2.5.0","v2.6.0","v2.6.0pre","v2.6.1","v2.6.2","v2.6.3","v2.7.0","v2.7.0pre","v2.8.0","v2.8.0pre","v2.8.1","v2.8.2","v2.9.0","v2.9.1","v3.0.0","v3.0.1","v3.0.2","v3.0.3","v3.1.0","v4.0.0","v4.0.0rc1","v4.0.0rc2","v5.0.0","v5.1.0","v5.2.0","v6.0.0-ee","v6.0.0-ee.beta","v6.0.0-ee.rc1","v6.1.0-ee","v6.3.0-ee","v6.3.1-ee","v6.4.0-ee","v6.5.0-ee","v6.6.0-ee","v6.7.0-ee","v6.7.0.rc1-ee","v6.8.0-ee","v7.0.0-ee","v7.1.0-ee","v7.1.0.rc1-ee","v7.2.0.rc1-ee","v7.2.0.rc2-ee","v7.2.0.rc3-ee","v7.2.0.rc4-ee","v7.2.0.rc5-ee","v7.3.0-ee","v7.3.0.rc1-ee"],"database_specific":{"source":"https://storage.googleapis.com/osv-test-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"}]}