{"id":"CVE-2024-7883","state":"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.","publishedAt":"2024-10-31T17:01:49.725Z","updatedAt":"2024-10-31T17:53:36.751Z","severity":{"score":3.7,"label":"Low","version":"3.1","vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","source":"Arm"},"assigner":"Arm","products":["Arm Ltd Arm Compiler for Embedded","Arm Ltd Arm Compiler for Embedded FuSa 6.16LTS","Arm Ltd Arm Compiler for Embedded FuSa 6.21","Arm Ltd Arm Compiler for Functional Safety 6.6","Arm Ltd CLang"],"affected":[{"vendor":"Arm Ltd","product":"Arm Compiler for Embedded","defaultStatus":"unaffected","versions":[{"version":"6.6","status":"affected","lessThanOrEqual":"6.22","changes":[{"at":"6.23","status":"unaffected"}],"versionType":"semver"}]},{"vendor":"Arm Ltd","product":"Arm Compiler for Embedded FuSa 6.16LTS","defaultStatus":"affected","versions":[{"version":"All versions","status":"affected"}],"platforms":["Windows","Linux","ARM"]},{"vendor":"Arm Ltd","product":"Arm Compiler for Embedded FuSa 6.21","defaultStatus":"affected","versions":[{"version":"All versions","status":"affected"}]},{"vendor":"Arm Ltd","product":"Arm Compiler for Functional Safety 6.6","defaultStatus":"affected","versions":[{"version":"All versions","status":"affected"}],"platforms":["Windows","Linux","ARM"]},{"vendor":"Arm Ltd","product":"CLang","defaultStatus":"unaffected","versions":[{"version":"13","status":"affected","lessThanOrEqual":"19","changes":[{"at":"20","status":"unaffected"}],"versionType":"semver"}],"platforms":["Windows","Linux","ARM"]}],"references":["https://developer.arm.com/Arm%20Security%20Center/Cortex-M%20Security%20Extensions%20Vulnerability"],"weaknesses":["CWE-226"],"ingestedAt":"2026-10-29T20:08:20.985Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2024/7xxx/CVE-2024-7883.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.1","cveMetadata":{"cveId":"CVE-2024-7883","state":"PUBLISHED","datePublished":"2024-10-31T17:01:49.725Z","dateUpdated":"2024-10-31T17:53:36.751Z","assignerShortName":"Arm","assignerOrgId":"56a131ea-b967-4a0d-a41e-5f3549952846","dateReserved":"2024-08-16T15:09:09.866Z"},"containers":{"cna":{"title":"CMSE secure state may leak from stack to floating-point registers","descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"Arm Ltd","product":"Arm Compiler for Embedded","defaultStatus":"unaffected","versions":[{"version":"6.6","status":"affected","lessThanOrEqual":"6.22","changes":[{"at":"6.23","status":"unaffected"}],"versionType":"semver"}]},{"vendor":"Arm Ltd","product":"Arm Compiler for Embedded FuSa 6.16LTS","defaultStatus":"affected","versions":[{"version":"All versions","status":"affected"}],"platforms":["Windows","Linux","ARM"]},{"vendor":"Arm Ltd","product":"Arm Compiler for Embedded FuSa 6.21","defaultStatus":"affected","versions":[{"version":"All versions","status":"affected"}]},{"vendor":"Arm Ltd","product":"Arm Compiler for Functional Safety 6.6","defaultStatus":"affected","versions":[{"version":"All versions","status":"affected"}],"platforms":["Windows","Linux","ARM"]},{"vendor":"Arm Ltd","product":"CLang","defaultStatus":"unaffected","versions":[{"version":"13","status":"affected","lessThanOrEqual":"19","changes":[{"at":"20","status":"unaffected"}],"versionType":"semver"}],"platforms":["Windows","Linux","ARM"]}],"references":[{"url":"https://developer.arm.com/Arm%20Security%20Center/Cortex-M%20Security%20Extensions%20Vulnerability"}],"metrics":[{"cvssV3_1":{"attackComplexity":"HIGH","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":3.7,"baseSeverity":"LOW","confidentialityImpact":"LOW","integrityImpact":"NONE","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"NONE","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N","version":"3.1"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-226","description":"CWE-226 Sensitive Information in Resource Not Removed Before Reuse","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"Arm","orgId":"56a131ea-b967-4a0d-a41e-5f3549952846","dateUpdated":"2024-10-31T17:01:49.725Z"},"datePublic":"2024-10-31T16:00:00.000Z","impacts":[{"capecId":"CAPEC-37","descriptions":[{"lang":"en","value":"CAPEC-37 Retrieve Embedded Sensitive Data"}]}],"solutions":[{"lang":"en","supportingMedia":[{"base64":false,"type":"text/html","value":"Recompile affected code using a fixed compiler.\n\n<br>"}],"value":"Recompile affected code using a fixed compiler."}],"source":{"discovery":"INTERNAL"},"x_generator":{"engine":"Vulnogram 0.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2024-10-31T17:53:14.089857Z","id":"CVE-2024-7883","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2024-10-31T17:53:36.751Z"}}]}}}