linux: In the Linux kernel, the following vulnerability has been resolved: x86/fpu: Ensure shadow stack is active before "g...
CVE-2025-21632 is fixed in 61 products on 1 platform, first by DEBIAN-CVE-2025-21632, released January 19, 2025. It is not reported as exploited. Patch Radar priority: Routine.
In the Linux kernel, the following vulnerability has been resolved: x86/fpu: Ensure shadow stack is active before "getting" registers The x86 shadow stack support has its own set of registers. Those registers are XSAVE-managed, but they are "supervisor state components" which means that userspace can not touch them with XSAVE/XRSTOR. It also means that they are not accessible from the existing ptrace ABI for XSAVE state. Thus, there is a new ptrace get/set interface for it. The regset code that ptrace uses provides an ->active() handler in addition to the get/set ones. For shadow stack this ->active() handler verifies that shadow stack is enabled via the ARCH_SHSTK_SHSTK bit in the thread struct. The ->active() handler is checked from some call sites of the regset get/set handlers, but not the ptrace ones. This was not understood when shadow stack support was put in place. As a result, both the set/get handlers can be called with XFEATURE_CET_USER in its init state, which would cause get_xsave_addr() to return NULL and trigger a WARN_ON(). The ssp_set() handler luckily has an ssp_active() check to avoid surprising the kernel with shadow stack behavior when the kernel is not ready for it (ARCH_SHSTK_SHSTK==0). That check just happened to avoid the warning. But the ->get() side wasn't so lucky. It can be called with shadow stacks disabled, triggering the warning in practice, as reported by Christina Schimpe: WARNING: CPU: 5 PID: 1773 at arch/x86/kernel/fpu/regset.c:198 ssp_get+0x89/0xa0 [...] Call Trace: <TASK> ? show_regs+0x6e/0x80 ? ssp_get+0x89/0xa0 ? __warn+0x91/0x150 ? ssp_get+0x89/0xa0 ? report_bug+0x19d/0x1b0 ? handle_bug+0x46/0x80 ? exc_invalid_op+0x1d/0x80 ? asm_exc_invalid_op+0x1f/0x30 ? __pfx_ssp_get+0x10/0x10 ? ssp_get+0x89/0xa0 ? ssp_get+0x52/0xa0 __regset_get+0xad/0xf0 copy_regset_to_user+0x52/0xc0 ptrace_regset+0x119/0x140 ptrace_request+0x13c/0x850 ? wait_task_inactive+0x142/0x1d0 ? do_syscall_64+0x6d/0x90 arch_ptrace+0x102/0x300 [...] Ensure that shadow stacks are active in a thread before looking them up in the XSAVE buffer. Since ARCH_SHSTK_SHSTK and user_ssp[SHSTK_EN] are set at the same time, the active check ensures that there will be something to find in the XSAVE buffer. [ dhansen: changelog/subject tweaks ]
Where it's fixed
| Product | Fixed in | Fix | Released |
|---|---|---|---|
| Linux | |||
| dtb-aarch64 · opensuse-leap 15.6 | 6.4.0-150600.23.38.1 | SUSE-SU-2025:0499-1 | Feb 13, 2025 |
| kernel-64kb · opensuse-leap 15.6 | 6.4.0-150600.23.38.1 | SUSE-SU-2025:0499-1 | Feb 13, 2025 |
| kernel-64kb · sles 15.6 | 6.4.0-150600.23.38.1 | SUSE-SU-2025:0499-1 | Feb 13, 2025 |
| kernel-azure · opensuse-leap 15.6 | 6.4.0-150600.8.26.1 | SUSE-SU-2025:0428-1 | Feb 11, 2025 |
| kernel-azure · sles 15.6 | 6.4.0-150600.8.26.1 | SUSE-SU-2025:0428-1 | Feb 11, 2025 |
| kernel-coco · sles 15.6 | 6.4.0-15061.12.coco15sp6.1 | SUSE-SU-2025:0289-1 | Jan 29, 2025 |
| kernel-coco_debug · sles 15.6 | 6.4.0-15061.12.coco15sp6.1 | SUSE-SU-2025:0289-1 | Jan 29, 2025 |
| kernel-debug · opensuse-leap 15.6 | 6.4.0-150600.23.38.1 | SUSE-SU-2025:0499-1 | Feb 13, 2025 |
| kernel-default · opensuse-leap 15.6 | 6.4.0-150600.23.38.1 | SUSE-SU-2025:0499-1 | Feb 13, 2025 |
| kernel-default · sles 15.6 | 6.4.0-150600.23.38.1 | SUSE-SU-2025:0499-1 | Feb 13, 2025 |
| kernel-default-base · opensuse-leap 15.6 | 6.4.0-150600.23.38.1.150600.12.16.2 | SUSE-SU-2025:0499-1 | Feb 13, 2025 |
| kernel-default-base · sles 15.6 | 6.4.0-150600.23.38.1.150600.12.16.2 | SUSE-SU-2025:0499-1 | Feb 13, 2025 |
| kernel-docs · opensuse-leap 15.6 | 6.4.0-150600.23.38.1 | SUSE-SU-2025:0499-1 | Feb 13, 2025 |
| kernel-docs · sles 15.6 | 6.4.0-150600.23.38.1 | SUSE-SU-2025:0499-1 | Feb 13, 2025 |
| kernel-kvmsmall · opensuse-leap 15.6 | 6.4.0-150600.23.38.1 | SUSE-SU-2025:0499-1 | Feb 13, 2025 |
| kernel-livepatch-SLE15-SP6-RT_Update_8 · sles 15.6 | 1-150600.1.3.1 | SUSE-SU-2025:0557-1 | Feb 14, 2025 |
| kernel-livepatch-SLE15-SP6_Update_8 · sles 15.6 | 1-150600.13.3.2 | SUSE-SU-2025:0499-1 | Feb 13, 2025 |
| kernel-obs-build · opensuse-leap 15.6 | 6.4.0-150600.23.38.1 | SUSE-SU-2025:0499-1 | Feb 13, 2025 |
| kernel-obs-build · sles 15.6 | 6.4.0-150600.23.38.1 | SUSE-SU-2025:0499-1 | Feb 13, 2025 |
| kernel-obs-qa · opensuse-leap 15.6 | 6.4.0-150600.23.38.1 | SUSE-SU-2025:0499-1 | Feb 13, 2025 |
| kernel-rt · opensuse-leap 15.6 | 6.4.0-150600.10.26.1 | SUSE-SU-2025:0557-1 | Feb 14, 2025 |
| kernel-rt_debug · opensuse-leap 15.6 | 6.4.0-150600.10.26.1 | SUSE-SU-2025:0557-1 | Feb 14, 2025 |
| kernel-source · opensuse-leap 15.6 | 6.4.0-150600.23.38.1 | SUSE-SU-2025:0499-1 | Feb 13, 2025 |
| kernel-source · sles 15.6 | 6.4.0-150600.23.38.1 | SUSE-SU-2025:0499-1 | Feb 13, 2025 |
| kernel-source-azure · opensuse-leap 15.6 | 6.4.0-150600.8.26.1 | SUSE-SU-2025:0428-1 | Feb 11, 2025 |
| kernel-source-azure · sles 15.6 | 6.4.0-150600.8.26.1 | SUSE-SU-2025:0428-1 | Feb 11, 2025 |
| kernel-source-coco · sles 15.6 | 6.4.0-15061.12.coco15sp6.1 | SUSE-SU-2025:0289-1 | Jan 29, 2025 |
| kernel-source-rt · opensuse-leap 15.6 | 6.4.0-150600.10.26.1 | SUSE-SU-2025:0557-1 | Feb 14, 2025 |
| kernel-syms · opensuse-leap 15.6 | 6.4.0-150600.23.38.1 | SUSE-SU-2025:0499-1 | Feb 13, 2025 |
| kernel-syms · sles 15.6 | 6.4.0-150600.23.38.1 | SUSE-SU-2025:0499-1 | Feb 13, 2025 |
| kernel-syms-azure · opensuse-leap 15.6 | 6.4.0-150600.8.26.1 | SUSE-SU-2025:0428-1 | Feb 11, 2025 |
| kernel-syms-azure · sles 15.6 | 6.4.0-150600.8.26.1 | SUSE-SU-2025:0428-1 | Feb 11, 2025 |
| kernel-syms-coco · sles 15.6 | 6.4.0-15061.12.coco15sp6.1 | SUSE-SU-2025:0289-1 | Jan 29, 2025 |
| kernel-syms-rt · opensuse-leap 15.6 | 6.4.0-150600.10.26.1 | SUSE-SU-2025:0557-1 | Feb 14, 2025 |
| kernel-uek · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-core · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-core · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-core · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-core · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-devel · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-devel · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-core · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-core · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-deprecated · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-deprecated · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-desktop · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-desktop · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-extra · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-extra · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-extra-netfilter · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-extra-netfilter · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-usb · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-usb · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-wireless · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-debug-modules-wireless · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-devel · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-devel · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-doc · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-doc · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-core · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-core · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-deprecated · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-deprecated · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-desktop · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-desktop · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-extra · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-extra · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-extra-netfilter · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-extra-netfilter · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-usb · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-usb · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-wireless · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-modules-wireless · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-tools · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek-tools · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-core · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-core · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-devel · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-devel · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-core · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-core · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-deprecated · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-deprecated · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-desktop · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-desktop · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-extra · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-extra · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-extra-netfilter · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-extra-netfilter · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-usb · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-usb · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-wireless · ol 10 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-uek64k-modules-wireless · ol 9 | 0:6.12.0-101.33.4.3.el9uek | ELSA-2025-20480 | Jul 17, 2025 |
| kernel-zfcpdump · opensuse-leap 15.6 | 6.4.0-150600.23.38.1 | SUSE-SU-2025:0499-1 | Feb 13, 2025 |
| kernel-zfcpdump · sles 15.6 | 6.4.0-150600.23.38.1 | SUSE-SU-2025:0499-1 | Feb 13, 2025 |
| linux · Debian 13.5 (trixie) | 6.12.10-1 | DEBIAN-CVE-2025-21632 | Jan 19, 2025 |
| linux · Debian 14 | 6.12.10-1 | DEBIAN-CVE-2025-21632 | Jan 19, 2025 |
Patch Radar data is free to use with attribution. Terms and how to credit it.
Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.