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.
| Software | From | Fixed in |
|---|---|---|
| arm / arm_compiler_for_embedded | 6.6 | 6.23 |
| arm / arm_compiler_for_embedded_fusa | 6.16 | 6.16.x |
| arm / arm_compiler_for_embedded_fusa | 6.21 | 6.21.x |
| arm / arm_compiler_for_functional_safety | 6.6 | 6.6.x |
| arm / clang | 11.0.0 | 20.1.0 |