{"id":"CVE-2024-7883","aliases":["AZL-53888","BELL-CVE-2024-7883","CLSA-2026-1791537402","DEBIAN-CVE-2024-7883","EUVD-2024-48728","GHSA-vwj9-2733-p4wv","OESA-2026-1968","OESA-2026-2072","OESA-2026-2073","OESA-2026-2074","UBUNTU-CVE-2024-7883"],"status":"published","title":"CMSE secure state may leak from stack to floating-point registers","description":"When using Arm Cortex-M Security Extensions (CMSE), Secure stack \ncontents can be leaked to Non-secure state via floating-point registers \nwhen a Secure to Non-secure function call is made that returns a \nfloating-point value and when this is the first use of floating-point \nsince entering Secure state. This allows an attacker to read a limited \nquantity of Secure stack contents with an impact on confidentiality. \nThis issue is specific to code generated using LLVM-based compilers.","severity":{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00468,"percentile":0.40822,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-226"],"published":"2024-10-31T17:01:49Z","modified":"2026-11-05T05:40:51Z","fixes":[{"ecosystem":"Azure Linux:3","package":"clang","fixed_in":["18.1.2-4"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"clang","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"clang-analyzer","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"clang-devel","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"clang-libs","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"clang-resource-filesystem","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"clang-tools-extra","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"clang-tools-extra-devel","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"compiler-rt","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"git-clang-format","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"libomp","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"libomp-devel","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"lld","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"lld-devel","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"lld-libs","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"lldb","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"lldb-devel","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"llvm","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"llvm-cmake-utils","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"llvm-devel","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"llvm-doc","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"llvm-googletest","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"llvm-libs","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"llvm-static","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"llvm-test","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"llvm-toolset","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"python3-clang","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"python3-lit","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"TuxCare:AlmaLinux:9.6","package":"python3-lldb","fixed_in":["19.1.7-2.el9_6.tuxcare.els1"],"sources":["osv"]},{"ecosystem":"openEuler:24.03-LTS-SP3","package":"llvm","fixed_in":["17.0.6-63.oe2403sp3"],"sources":["osv"]},{"ecosystem":"openEuler:22.03-LTS-SP4","package":"llvm","fixed_in":["12.0.1-8.oe2203sp4"],"sources":["osv"]},{"ecosystem":"openEuler:24.03-LTS","package":"llvm","fixed_in":["17.0.6-15.oe2403"],"sources":["osv"]},{"ecosystem":"openEuler:24.03-LTS-SP1","package":"llvm","fixed_in":["17.0.6-29.oe2403sp1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Azure Linux:3","package":"clang","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"18.1.2-4"}]}]},{"source":"osv","ecosystem":"Alpaquita:23","package":"clang15","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"15.0.5-r2"}]}]},{"source":"osv","ecosystem":"Alpaquita:23","package":"llvm15","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"15.0.5-r1"}]}]},{"source":"osv","ecosystem":"Alpaquita:stream","package":"clang16","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"16.0.0-r13"}]}]},{"source":"osv","ecosystem":"Alpaquita:stream","package":"clang17","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"17.0.4-r1"}]}]},{"source":"osv","ecosystem":"Alpaquita:stream","package":"clang18","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"18.1.6-r0"}]}]},{"source":"osv","ecosystem":"Alpaquita:stream","package":"clang19","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"19.1.1-r1"}]}]},{"source":"osv","ecosystem":"Alpaquita:stream","package":"llvm16","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"16.0.0-r6"}]}]},{"source":"osv","ecosystem":"Alpaquita:stream","package":"llvm17","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"17.0.4-r2"}]}]},{"source":"osv","ecosystem":"Alpaquita:stream","package":"llvm18","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"18.1.6-r1"}]}]},{"source":"osv","ecosystem":"Alpaquita:stream","package":"llvm19","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"19.1.1-r1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"clang","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"clang-analyzer","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"clang-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"clang-libs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"clang-resource-filesystem","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"clang-tools-extra","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"clang-tools-extra-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"compiler-rt","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"git-clang-format","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"libomp","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"libomp-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"lld","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"lld-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"lld-libs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"lldb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"lldb-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"llvm","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"llvm-cmake-utils","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"llvm-devel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"llvm-doc","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"llvm-googletest","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"llvm-libs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"llvm-static","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"llvm-test","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"llvm-toolset","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"python3-clang","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"python3-lit","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"TuxCare:AlmaLinux:9.6","package":"python3-lldb","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"19.1.7-2.el9_6.tuxcare.els1"}]}]},{"source":"osv","ecosystem":"Debian:12","package":"llvm-toolchain-14","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:14.0.6-12","1:14.0.6-12+powerpc","1:14.0.6-13","1:14.0.6-14","1:14.0.6-16","1:14.0.6-16.1","1:14.0.6-16.1~exp1","1:14.0.6-17","1:14.0.6-18","1:14.0.6-19","1:14.0.6-20"]},{"source":"osv","ecosystem":"Debian:12","package":"llvm-toolchain-15","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:15.0.6-4","1:15.0.6-5~exp1","1:15.0.6-5~exp2","1:15.0.6-5~exp3","1:15.0.7-1","1:15.0.7-1+hurd.1","1:15.0.7-10","1:15.0.7-10.1~exp1","1:15.0.7-11","1:15.0.7-11.1","1:15.0.7-12","1:15.0.7-13","1:15.0.7-14","1:15.0.7-15","1:15.0.7-15+hurd.1","1:15.0.7-2","1:15.0.7-3","1:15.0.7-4","1:15.0.7-5","1:15.0.7-5~exp1","1:15.0.7-6","1:15.0.7-7","1:15.0.7-8","1:15.0.7-9"]},{"source":"osv","ecosystem":"Debian:12","package":"llvm-toolchain-16","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:16.0.0-1~exp1","1:16.0.0-1~exp2","1:16.0.0-1~exp3","1:16.0.0-1~exp4","1:16.0.0-1~exp5","1:16.0.0~+rc1-1~exp1","1:16.0.0~+rc2-1~exp1","1:16.0.0~+rc3-1~exp1","1:16.0.0~+rc4-1~exp1","1:16.0.1-1~exp1","1:16.0.1-1~exp2","1:16.0.2-1~exp1","1:16.0.3-1~exp1","1:16.0.4-1~exp1","1:16.0.5-1","1:16.0.5-1~exp1","1:16.0.6-1","1:16.0.6-10","1:16.0.6-11","1:16.0.6-12","1:16.0.6-13","1:16.0.6-14","1:16.0.6-15","1:16.0.6-15+x32","1:16.0.6-15exp1","1:16.0.6-15~deb11u1","1:16.0.6-15~deb11u2","1:16.0.6-15~deb12u1","1:16.0.6-16","1:16.0.6-17","1:16.0.6-17exp1","1:16.0.6-18","1:16.0.6-19","1:16.0.6-19.1~exp1","1:16.0.6-2","1:16.0.6-20","1:16.0.6-21","1:16.0.6-22","1:16.0.6-23","1:16.0.6-24","1:16.0.6-25","1:16.0.6-26","1:16.0.6-27","1:16.0.6-27+hurd.1","1:16.0.6-27+x32","1:16.0.6-3","1:16.0.6-4","1:16.0.6-5","1:16.0.6-6","1:16.0.6-7","1:16.0.6-8","1:16.0.6-9"]},{"source":"osv","ecosystem":"Debian:13","package":"llvm-toolchain-17","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:17.0.6-22","1:17.0.6-23"]},{"source":"osv","ecosystem":"Debian:13","package":"llvm-toolchain-18","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:18.1.8-18","1:18.1.8-20"]},{"source":"osv","ecosystem":"Debian:12","package":"llvm-toolchain-19","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:19.1.0-1","1:19.1.0-2","1:19.1.0-3","1:19.1.0-3.1","1:19.1.0-4","1:19.1.0~++20240724103243+7af27be6633a-1~exp1","1:19.1.0~++rc2-1~exp1","1:19.1.0~++rc3-1","1:19.1.0~++rc3-1~exp1","1:19.1.0~++rc3-2","1:19.1.0~++rc4-1","1:19.1.0~++rc4-2","1:19.1.0~++rc4-3","1:19.1.0~++rc4-4","1:19.1.0~++rc4-5","1:19.1.1-1","1:19.1.1-1+powerpc","1:19.1.2-1","1:19.1.2-1+hurd.1","1:19.1.2-1+hurd.2","1:19.1.2-1+powerpc","1:19.1.2-1+powerpc.1","1:19.1.2-2","1:19.1.3-1","1:19.1.3-2","1:19.1.4-1","1:19.1.4-1~deb12u1","1:19.1.5-1","1:19.1.6-1","1:19.1.7-1","1:19.1.7-10","1:19.1.7-10.1","1:19.1.7-11","1:19.1.7-12","1:19.1.7-13","1:19.1.7-14","1:19.1.7-15","1:19.1.7-16","1:19.1.7-17","1:19.1.7-18","1:19.1.7-19","1:19.1.7-2","1:19.1.7-20","1:19.1.7-22","1:19.1.7-3","1:19.1.7-3+hurd.1","1:19.1.7-3~deb11u1","1:19.1.7-3~deb12u1","1:19.1.7-6","1:19.1.7-6+powerpc","1:19.1.7-7","1:19.1.7-7+hurd.1","1:19.1.7-8","1:19.1.7-9"]},{"source":"osv","ecosystem":"Debian:13","package":"llvm-toolchain-19","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:19.1.7-10","1:19.1.7-10.1","1:19.1.7-11","1:19.1.7-12","1:19.1.7-13","1:19.1.7-14","1:19.1.7-15","1:19.1.7-16","1:19.1.7-17","1:19.1.7-18","1:19.1.7-19","1:19.1.7-20","1:19.1.7-22","1:19.1.7-3","1:19.1.7-3+hurd.1","1:19.1.7-6","1:19.1.7-6+powerpc","1:19.1.7-7","1:19.1.7-7+hurd.1","1:19.1.7-8","1:19.1.7-9"]},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP3","package":"llvm","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"17.0.6-63.oe2403sp3"}]}]},{"source":"osv","ecosystem":"openEuler:22.03-LTS-SP4","package":"llvm","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"12.0.1-8.oe2203sp4"}]}]},{"source":"osv","ecosystem":"openEuler:24.03-LTS","package":"llvm","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"17.0.6-15.oe2403"}]}]},{"source":"osv","ecosystem":"openEuler:24.03-LTS-SP1","package":"llvm","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"17.0.6-29.oe2403sp1"}]}]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"llvm-toolchain-11","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:11.0.0-2~ubuntu20.04.1"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"llvm-toolchain-12","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:12.0.0-3ubuntu1~20.04.3","1:12.0.0-3ubuntu1~20.04.4","1:12.0.0-3ubuntu1~20.04.5"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"llvm-toolchain-18","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:18.1.8-11~20.04.2"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"llvm-toolchain-11","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:11.0.1-2ubuntu5","1:11.1.0-6"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"llvm-toolchain-12","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:12.0.1-8build1","1:12.0.1-16","1:12.0.1-19ubuntu3"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"llvm-toolchain-13","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:13.0.0-2","1:13.0.0-9","1:13.0.1-2ubuntu1","1:13.0.1-2ubuntu2","1:13.0.1-2ubuntu2.1","1:13.0.1-2ubuntu2.2"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"llvm-toolchain-14","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:14.0.0~+rc1-1","1:14.0.0~+rc1-1ubuntu4","1:14.0.0~+rc4-1ubuntu1","1:14.0.0-1ubuntu1","1:14.0.0-1ubuntu1.1"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"llvm-toolchain-15","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:15.0.6-3~ubuntu0.22.04.2","1:15.0.7-0ubuntu0.22.04.1","1:15.0.7-0ubuntu0.22.04.2","1:15.0.7-0ubuntu0.22.04.3"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"llvm-toolchain-14","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:14.0.6-16","1:14.0.6-16build1","1:14.0.6-16build2","1:14.0.6-19build2","1:14.0.6-19build4"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"llvm-toolchain-15","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:15.0.7-10","1:15.0.7-10build1","1:15.0.7-10build2","1:15.0.7-10ubuntu1","1:15.0.7-11","1:15.0.7-14build1","1:15.0.7-14build3"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"llvm-toolchain-16","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:16.0.6-15","1:16.0.6-18","1:16.0.6-19","1:16.0.6-19build1","1:16.0.6-23ubuntu1","1:16.0.6-23ubuntu3","1:16.0.6-23ubuntu4"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"llvm-toolchain-17","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:17.0.2-1~exp1ubuntu2.1","1:17.0.5-1ubuntu1","1:17.0.5-1ubuntu2","1:17.0.6-2","1:17.0.6-3","1:17.0.6-5build1","1:17.0.6-9build2","1:17.0.6-9build3","1:17.0.6-9ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"llvm-toolchain-18","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:18.1.0~rc1-1","1:18.1.0~rc2-3","1:18.1.0~rc2-4","1:18.1.0~++20240126095841+0991d3c7b53d-1~exp1","1:18.1.2-1ubuntu2","1:18.1.2-1ubuntu3","1:18.1.3-1","1:18.1.3-1ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"llvm-toolchain-19","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:19.1.1-1ubuntu1~24.04.2"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"llvm-toolchain-14","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:14.0.6-20ubuntu1","1:14.0.6-20ubuntu3"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"llvm-toolchain-17","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:17.0.6-21","1:17.0.6-21build1","1:17.0.6-21build2","1:17.0.6-21ubuntu1","1:17.0.6-22build1"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"llvm-toolchain-18","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:18.1.8-17","1:18.1.8-18","1:18.1.8-18build1","1:18.1.8-18ubuntu1","1:18.1.8-18ubuntu2"]},{"source":"osv","ecosystem":"Ubuntu:25.10","package":"llvm-toolchain-19","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:19.1.7-3ubuntu1","1:19.1.7-3ubuntu2","1:19.1.7-5ubuntu1","1:19.1.7-5ubuntu2","1:19.1.7-6ubuntu3"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"llvm-toolchain-17","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:17.0.6-23ubuntu7","1:17.0.6-23ubuntu9","1:17.0.6-23ubuntu10"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"llvm-toolchain-17","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1:17.0.6-22build1","1:17.0.6-23ubuntu2","1:17.0.6-23ubuntu3","1:17.0.6-23ubuntu4","1:17.0.6-23ubuntu7"]}],"products":[{"vendor":"arm","product":"arm_compiler_for_embedded"},{"vendor":"arm","product":"arm_compiler_for_embedded_fusa"},{"vendor":"arm","product":"arm_compiler_for_functional_safety"},{"vendor":"arm","product":"clang"},{"vendor":"arm ltd","product":"arm compiler for embedded"},{"vendor":"arm ltd","product":"arm compiler for embedded fusa 6.16lts"},{"vendor":"arm ltd","product":"arm compiler for embedded fusa 6.21"},{"vendor":"arm ltd","product":"arm compiler for functional safety 6.6"},{"vendor":"arm ltd","product":"clang"}],"references":[{"url":"https://developer.arm.com/Arm%20Security%20Center/Cortex-M%20Security%20Extensions%20Vulnerability","tags":["Exploit","Vendor Advisory","evidence","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-7883","tags":["web","advisory"]},{"url":"https://github.com/advisories/GHSA-vwj9-2733-p4wv"},{"url":"https://docs.bell-sw.com/security/cves/CVE-2024-7883","tags":["advisory"]},{"url":"https://errata.tuxcare.com/els_os/tuxcare9.6esu/CLSA-2026-1791537402.html","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2024-7883","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-1968","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-2072","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-2073","tags":["advisory"]},{"url":"https://www.openeuler.org/zh/security/security-bulletins/detail/?id=openEuler-SA-2026-2074","tags":["advisory"]},{"url":"https://ubuntu.com/security/CVE-2024-7883","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2024-7883","tags":["report"]},{"url":"https://github.com/llvm/llvm-project/pull/114433","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2024-7883","title":"CMSE secure state may leak from stack to floating-point registers","description":"When using Arm Cortex-M Security Extensions (CMSE), Secure stack \ncontents can be leaked to Non-secure state via floating-point registers \nwhen a Secure to Non-secure function call is made that returns a \nfloating-point value and when this is the first use of floating-point \nsince entering Secure state. This allows an attacker to read a limited \nquantity of Secure stack contents with an impact on confidentiality. \nThis issue is specific to code generated using LLVM-based compilers.","status":"published","published":"2024-10-31T17:01:49.725Z","modified":"2024-10-31T17:53:36.751Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low","assessor":"cna"}],"cwes":["CWE-226"],"updated_at":"2026-11-02T14:34:21.025267Z"}],"euvd":[{"id":"EUVD-2024-48728","description":"When using Arm Cortex-M Security Extensions (CMSE), Secure stack \ncontents can be leaked to Non-secure state via floating-point registers \nwhen a Secure to Non-secure function call is made that returns a \nfloating-point value and when this is the first use of floating-point \nsince entering Secure state. This allows an attacker to read a limited \nquantity of Secure stack contents with an impact on confidentiality. \nThis issue is specific to code generated using LLVM-based compilers.","status":"published","published":"2024-10-31T17:01:49Z","modified":"2024-10-31T17:53:36Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low"}],"updated_at":"2026-11-03T00:05:13.001555Z"}],"ghsa":[{"id":"GHSA-vwj9-2733-p4wv","title":"When using Arm Cortex-M Security Extensions (CMSE), Secure stack \ncontents can be leaked to Non...","description":"When using Arm Cortex-M Security Extensions (CMSE), Secure stack \ncontents can be leaked to Non-secure state via floating-point registers \nwhen a Secure to Non-secure function call is made that returns a \nfloating-point value and when this is the first use of floating-point \nsince entering Secure state. This allows an attacker to read a limited \nquantity of Secure stack contents with an impact on confidentiality. \nThis issue is specific to code generated using LLVM-based compilers.","status":"published","published":"2024-10-31T18:31:19Z","modified":"2024-10-31T18:31:24Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low"}],"cwes":["CWE-226"],"updated_at":"2026-11-02T14:58:40.284843Z"}],"nvd":[{"id":"CVE-2024-7883","description":"When using Arm Cortex-M Security Extensions (CMSE), Secure stack \ncontents can be leaked to Non-secure state via floating-point registers \nwhen a Secure to Non-secure function call is made that returns a \nfloating-point value and when this is the first use of floating-point \nsince entering Secure state. This allows an attacker to read a limited \nquantity of Secure stack contents with an impact on confidentiality. \nThis issue is specific to code generated using LLVM-based compilers.","status":"published","published":"2024-10-31T17:15:14.013Z","modified":"2026-06-17T08:21:06.623Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low","assessor":"secondary"}],"cwes":["CWE-226"],"updated_at":"2026-11-02T14:10:35.289159Z"}],"osv":[{"id":"BELL-CVE-2024-7883","status":"published","published":"2024-11-01T06:01:20.7906Z","modified":"2026-01-26T09:37:10.439327Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low"}],"updated_at":"2026-11-02T15:28:21.227396Z"},{"id":"CVE-2024-7883","description":"When using Arm Cortex-M Security Extensions (CMSE), Secure stack \ncontents can be leaked to Non-secure state via floating-point registers \nwhen a Secure to Non-secure function call is made that returns a \nfloating-point value and when this is the first use of floating-point \nsince entering Secure state. This allows an attacker to read a limited \nquantity of Secure stack contents with an impact on confidentiality. \nThis issue is specific to code generated using LLVM-based compilers.","status":"published","published":"2024-10-31T17:15:14.013Z","modified":"2026-04-10T05:19:42.259128Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low"}],"updated_at":"2026-11-02T15:44:45.405014Z"},{"id":"DEBIAN-CVE-2024-7883","description":"When using Arm Cortex-M Security Extensions (CMSE), Secure stack  contents can be leaked to Non-secure state via floating-point registers  when a Secure to Non-secure function call is made that returns a  floating-point value and when this is the first use of floating-point  since entering Secure state. This allows an attacker to read a limited  quantity of Secure stack contents with an impact on confidentiality.  This issue is specific to code generated using LLVM-based compilers.","status":"published","published":"2024-10-31T17:15:14.013Z","modified":"2026-11-02T12:03:13.136242225Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low"}],"updated_at":"2026-11-02T15:45:44.747956Z"},{"id":"OESA-2026-1968","title":"llvm security update","description":"LLVM is a compiler infrastructure designed for compile-time, link-time, runtime, and idle-time optimization of programs from arbitrary programming languages.\r\n\r\nSecurity Fix(es):\n\nWhen using Arm Cortex-M Security Extensions (CMSE), Secure stack \ncontents can be leaked to Non-secure state via floating-point registers \nwhen a Secure to Non-secure function call is made that returns a \nfloating-point value and when this is the first use of floating-point \nsince entering Secure state. This allows an attacker to read a limited \nquantity of Secure stack contents with an impact on confidentiality. \nThis issue is specific to code generated using LLVM-based compilers.(CVE-2024-7883)","status":"published","published":"2026-04-17T11:10:58Z","modified":"2026-08-18T01:19:39.277426144Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low"}],"updated_at":"2026-11-02T15:52:46.087701Z"},{"id":"OESA-2026-2072","title":"llvm security update","description":"LLVM is a compiler infrastructure designed for compile-time, link-time, runtime, and idle-time optimization of programs from arbitrary programming languages.\r\n\r\nSecurity Fix(es):\n\nWhen using Arm Cortex-M Security Extensions (CMSE), Secure stack \ncontents can be leaked to Non-secure state via floating-point registers \nwhen a Secure to Non-secure function call is made that returns a \nfloating-point value and when this is the first use of floating-point \nsince entering Secure state. This allows an attacker to read a limited \nquantity of Secure stack contents with an impact on confidentiality. \nThis issue is specific to code generated using LLVM-based compilers.(CVE-2024-7883)","status":"published","published":"2026-04-25T11:11:04Z","modified":"2026-08-18T01:19:49.350436602Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low"}],"updated_at":"2026-11-02T15:52:46.087701Z"},{"id":"OESA-2026-2073","title":"llvm security update","description":"LLVM is a compiler infrastructure designed for compile-time, link-time, runtime, and idle-time optimization of programs from arbitrary programming languages.\r\n\r\nSecurity Fix(es):\n\nWhen using Arm Cortex-M Security Extensions (CMSE), Secure stack \ncontents can be leaked to Non-secure state via floating-point registers \nwhen a Secure to Non-secure function call is made that returns a \nfloating-point value and when this is the first use of floating-point \nsince entering Secure state. This allows an attacker to read a limited \nquantity of Secure stack contents with an impact on confidentiality. \nThis issue is specific to code generated using LLVM-based compilers.(CVE-2024-7883)","status":"published","published":"2026-04-25T11:11:04Z","modified":"2026-08-18T01:19:48.913938561Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low"}],"updated_at":"2026-11-02T15:52:46.087701Z"},{"id":"OESA-2026-2074","title":"llvm security update","description":"LLVM is a compiler infrastructure designed for compile-time, link-time, runtime, and idle-time optimization of programs from arbitrary programming languages.\r\n\r\nSecurity Fix(es):\n\nWhen using Arm Cortex-M Security Extensions (CMSE), Secure stack \ncontents can be leaked to Non-secure state via floating-point registers \nwhen a Secure to Non-secure function call is made that returns a \nfloating-point value and when this is the first use of floating-point \nsince entering Secure state. This allows an attacker to read a limited \nquantity of Secure stack contents with an impact on confidentiality. \nThis issue is specific to code generated using LLVM-based compilers.(CVE-2024-7883)","status":"published","published":"2026-04-25T11:11:04Z","modified":"2026-08-18T01:19:44.707056931Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low"}],"updated_at":"2026-11-02T15:52:46.087701Z"},{"id":"UBUNTU-CVE-2024-7883","description":"When using Arm Cortex-M Security Extensions (CMSE), Secure stack contents can be leaked to Non-secure state via floating-point registers when a Secure to Non-secure function call is made that returns a floating-point value and when this is the first use of floating-point since entering Secure state. This allows an attacker to read a limited quantity of Secure stack contents with an impact on confidentiality. This issue is specific to code generated using LLVM-based compilers.","status":"published","published":"2024-10-31T17:15:00Z","modified":"2026-10-17T12:57:00.842256038Z","cvss":[{"version":"3.1","score":3.7,"vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"low"}],"updated_at":"2026-11-02T16:55:18.664792Z"},{"id":"AZL-53888","title":"CVE-2024-7883 affecting package clang for versions less than 18.1.2-4","description":"When using Arm Cortex-M Security Extensions (CMSE), Secure stack \ncontents can be leaked to Non-secure state via floating-point registers \nwhen a Secure to Non-secure function call is made that returns a \nfloating-point value and when this is the first use of floating-point \nsince entering Secure state. This allows an attacker to read a limited \nquantity of Secure stack contents with an impact on confidentiality. \nThis issue is specific to code generated using LLVM-based compilers.","status":"published","published":"2024-10-31T17:15:14Z","modified":"2026-11-05T05:40:51Z","updated_at":"2026-11-05T16:41:20.828909Z"},{"id":"CLSA-2026-1791537402","title":"llvm: Fix of CVE-2024-7883","description":"- CVE-2024-7883: emit a vmov before the VLSTM in CMSE secure-to-non-secure calls\n  that return a floating-point value, so CONTROL_S.SFPA is set for both the VLSTM\n  and the VLLDM and the lazy save area cannot be left uninitialised","status":"published","published":"2026-10-09T09:16:54Z","modified":"2026-10-26T09:31:36.702187501Z","updated_at":"2026-11-02T15:43:50.599064Z"}]}}
