PatchSiren cyber security CVE debrief
CVE-2026-11985 zephyrproject CVE debrief
The Zephyr ARM port's handling of the hardware FPU (CONFIG_FPU) and Floating point ABI (CONFIG_FP_HARDABI or CONFIG_FP_SOFTABI) can lead to information disclosure or cross-thread FP state corruption when CONFIG_FPU_SHARING is disabled. The compiler may emit hardware FP instructions in any function, but callee-saved FP registers are not saved and restored across context switches. This issue arises because, although both FP_HARDABI and FP_SOFTABI permit the compiler to generate hardware FP instructions in any function, the callee-saved FP registers (s16-s31 / d8-d15) are only preserved across context switches if CONFIG_FPU_SHARING is enabled. In builds with FPU enabled and default ABI but CONFIG_FPU_SHARING disabled, the kernel fails to preserve callee-saved FP register state, potentially leading to information disclosure in userspace or cross-thread FP state corruption in other scenarios. The fix addresses this by making FP_HARDABI and FP_SOFTABI select CONFIG_FPU_SHARING and tagging threads with K_FP_REGS at creation, ensuring callee-saved FP state is always preserved when the compiler may emit FP instructions. Developers and users of the Zephyr ARM port, especially those who enable the hardware FPU with the default ABI but leave CONFIG_FPU_SHARING disabled, should assess the impact of this vulnerability on their projects and consider enabling CONFIG_FPU_SHARING if FPU is used in a multi-threaded environment.
- Vendor
- zephyrproject
- Product
- zephyr
- CVSS
- LOW 3.6
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-08-11
- Original CVE updated
- 2026-08-26
- Advisory published
- 2026-08-11
- Advisory updated
- 2026-08-26
Who should care
Developers and users of the Zephyr ARM port, especially those who enable the hardware FPU with the default ABI but leave CONFIG_FPU_SHARING disabled, should assess the impact of this vulnerability on their projects.
Technical summary
The Zephyr ARM port's handling of the hardware FPU (CONFIG_FPU) and Floating point ABI (CONFIG_FP_HARDABI or CONFIG_FP_SOFTABI) can lead to information disclosure or cross-thread FP state corruption when CONFIG_FPU_SHARING is disabled. The compiler may emit hardware FP instructions in any function, but callee-saved FP registers are not saved and restored across context switches. This issue is addressed by making FP_HARDABI and FP_SOFTABI select CONFIG_FPU_SHARING and tagging threads with K_FP_REGS at creation.
Defensive priority
Developers and users of the Zephyr ARM port should assess the impact of this vulnerability on their projects, especially those enabling the hardware FPU with the default ABI but leaving CONFIG_FPU_SHARING disabled.
Recommended defensive actions
- Review and apply the fix that makes FP_HARDABI and FP_SOFTABI select CONFIG_FPU_SHARING and tags every thread with K_FP_REGS at creation.
- Assess the impact on projects using the Zephyr ARM port with FPU enabled and default ABI but CONFIG_FPU_SHARING disabled.
- Consider enabling CONFIG_FPU_SHARING if FPU is used in a multi-threaded environment.
- Confirm whether affected product deployments exist in managed environments and assign an owner for follow-up.
- Review the supplied official advisory or CVE record to validate affected scope, severity, and vendor guidance.
- Plan vendor-supported updates or mitigations through normal change control where exposure is confirmed.
- Review compensating controls for exposed systems while remediation is scheduled and verified.
Evidence notes
The vulnerability arises from the Zephyr ARM port's handling of the hardware FPU and Floating point ABI. When CONFIG_FPU is enabled, the 'Floating point ABI' choice defaults to CONFIG_FP_HARDABI. Both FP_HARDABI and FP_SOFTABI allow the compiler to emit hardware FP instructions in any function. However, callee-saved FP registers are only saved and restored across context switches if CONFIG_FPU_SHARING is enabled. In builds with FPU enabled and default ABI but CONFIG_FPU_SHARING disabled, the kernel does not preserve callee-saved FP register state across thread switches. This can lead to information disclosure or cross-thread FP state corruption.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-11985 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-11985
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-11985 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-11985
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Source reference
Unverified legacy reference
URL: https://github.com/zephyrproject-rtos/zephyr/commit/3d405326a7653cba6860280e45c8734f8d3fc423
-
Source reference
Unverified legacy reference
URL: https://github.com/zephyrproject-rtos/zephyr/security/advisories/GHSA-qxr9-wh3c-hvgv
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.