{"id":"GHSA-8h22-6qwx-q4w9","summary":"OpenStack Ironic fails to verify checksums of supplied image_source URLs","details":"In OpenStack Ironic before 21.4.4, 22.x and 23.x before 23.0.3, 23.x and 24.x before 24.1.3, and 25.x and 26.x before 26.1.0, there is a lack of checksum validation of supplied image_source URLs when configured to convert images to a raw format for streaming.","aliases":["CVE-2024-47211","PYSEC-2026-1468"],"modified":"2026-07-07T17:57:11.226033818Z","published":"2024-10-04T18:31:11Z","database_specific":{"severity":"MODERATE","github_reviewed":true,"github_reviewed_at":"2024-10-04T20:31:16Z","nvd_published_at":"2024-10-04T18:15:08Z","cwe_ids":["CWE-354"]},"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2024-47211"},{"type":"WEB","url":"https://github.com/openstack/ironic/commit/2127cc4c93770778457fde0582c1bba258c67e02"},{"type":"WEB","url":"https://github.com/openstack/ironic/commit/7a1292c569a84eb05806a57a89fca5bb6b0c4043"},{"type":"WEB","url":"https://github.com/openstack/ironic/commit/ebce0fd0845de411171127a55002ae7c9605de57"},{"type":"PACKAGE","url":"https://github.com/openstack/ironic"},{"type":"WEB","url":"https://github.com/openstack/ironic/compare/24.1.2...26.1.0"},{"type":"WEB","url":"https://github.com/openstack/ironic/security"},{"type":"WEB","url":"https://github.com/openstack/ironic/tags"},{"type":"WEB","url":"https://security.openstack.org/ossa/OSSA-2024-004.html"}],"affected":[{"package":{"name":"ironic","ecosystem":"PyPI","purl":"pkg:pypi/ironic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"25.0.0"},{"fixed":"26.1.1"}]}],"versions":["25.0.0","26.0.0","26.1.0"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/10/GHSA-8h22-6qwx-q4w9/GHSA-8h22-6qwx-q4w9.json"}},{"package":{"name":"ironic","ecosystem":"PyPI","purl":"pkg:pypi/ironic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"23.1.0"},{"fixed":"24.1.3"}]}],"versions":["23.1.0","24.0.0","24.1.0","24.1.1","24.1.2"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/10/GHSA-8h22-6qwx-q4w9/GHSA-8h22-6qwx-q4w9.json"}},{"package":{"name":"ironic","ecosystem":"PyPI","purl":"pkg:pypi/ironic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"22.0.0"},{"fixed":"23.0.3"}]}],"versions":["22.0.0","22.1.0","23.0.0","23.0.1","23.0.2"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/10/GHSA-8h22-6qwx-q4w9/GHSA-8h22-6qwx-q4w9.json"}},{"package":{"name":"ironic","ecosystem":"PyPI","purl":"pkg:pypi/ironic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"21.4.3"}]}],"versions":["0.0","10.1.10","10.1.7","10.1.8","10.1.9","11.1.1","11.1.2","11.1.3","11.1.4","12.0.0","12.1.0","12.1.1","12.1.2","12.1.3","12.1.4","12.1.5","12.1.6","12.2.0","13.0.0","13.0.1","13.0.2","13.0.3","13.0.4","13.0.5","13.0.6","13.0.7","14.0.0","15.0.0","15.0.1","15.0.2","15.1.0","15.2.0","16.0.0","16.0.1","16.0.2","16.0.3","16.0.4","16.0.5","16.1.0","16.2.0","17.0.0","17.0.1","17.0.2","17.0.3","17.0.4","17.1.0","18.0.0","18.1.0","18.2.0","18.2.1","18.2.2","18.3.0","19.0.0","20.0.0","20.1.0","20.1.1","20.1.2","20.1.3","20.2.0","21.0.0","21.1.0","21.1.1","21.1.2","21.2.0","21.3.0","21.4.0","21.4.1","21.4.2","21.4.3","9.1.6","9.1.7"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2024/10/GHSA-8h22-6qwx-q4w9/GHSA-8h22-6qwx-q4w9.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:N/I:N/A:L"},{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N"}]}