Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1336 CNY

100%

CVE-2025-21632— x86/fpu: Ensure shadow stack is active before "getting" registers

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于在使用影子栈时,未检查影子栈是否已激活,可能导致在访问XSAVE缓冲区时触发警告。

AI Predicted 4.7 Difficulty: Moderate EPSS 0.21% · P11

Possible ATT&CK Techniques 1 AI

T1055 · Process Injection

Affected Version Matrix 8

VendorProduct Version RangeStatus
Linux Linux 2fab02b25ae7cf5f714ab456b03d9a3fe5ae98c9< 0a3a872214188e4268d31581ed0cd44508e038cf affected
2fab02b25ae7cf5f714ab456b03d9a3fe5ae98c9< 6bfe1fc22f462bec87422cdcbec4d7a2f43ff01d affected
2fab02b25ae7cf5f714ab456b03d9a3fe5ae98c9< a9d9c33132d49329ada647e4514d210d15e31d81 affected
6.6 affected
< 6.6 unaffected
6.6.72≤ 6.6.* unaffected
6.12.10≤ 6.12.* unaffected
6.13≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-21632

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
x86/fpu: Ensure shadow stack is active before "getting" registers
Source: CVE Program / CVE List V5
Vulnerability Description
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 ]
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel存在安全漏洞,该漏洞源于在使用影子栈时,未检查影子栈是否已激活,可能导致在访问XSAVE缓冲区时触发警告。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux 2fab02b25ae7cf5f714ab456b03d9a3fe5ae98c9 ~ 0a3a872214188e4268d31581ed0cd44508e038cf -
Linux Linux 6.6 -

II. Public POCs for CVE-2025-21632

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-21632

登录查看更多情报信息。

Patches & Fixes for CVE-2025-21632 (3)

Same Patch Batch · Linux · 2025-01-19 · 47 CVEs total

CVE-2024-57929 7.8 HIGH dm array: fix releasing a faulty array block twice in dm_array_cursor_end
CVE-2025-21631 7.8 HIGH block, bfq: fix waker_bfqq UAF after bfq_split_bfqq()
CVE-2025-21652 7.8 HIGH ipvlan: Fix use-after-free in ipvlan_get_iflink().
CVE-2024-57918 7.8 HIGH drm/amd/display: fix page fault due to max surface definition mismatch
CVE-2024-57921 7.8 HIGH drm/amdgpu: Add a lock when accessing the buddy trim function
CVE-2024-57926 7.8 HIGH drm/mediatek: Set private->all_drm_private[i]->drm to NULL if mtk_drm_bind returns err
CVE-2025-21646 7.5 HIGH afs: Fix the maximum cell name length
CVE-2025-21647 7.3 HIGH sched: sch_cake: add bounds checks to host bulk flow fairness counts
CVE-2025-21637 7.1 HIGH sctp: sysctl: udp_port: avoid using current->nsproxy
CVE-2025-21650 7.1 HIGH net: hns3: fixed hclge_fetch_pf_reg accesses bar space out of bounds issue
CVE-2025-21640 7.1 HIGH sctp: sysctl: cookie_hmac_alg: avoid using current->nsproxy
CVE-2025-21638 7.1 HIGH sctp: sysctl: auth_enable: avoid using current->nsproxy
CVE-2024-57927 nfs: Fix oops in nfs_netfs_init_request() when copying to cache
CVE-2024-57925 ksmbd: fix a missing return value check bug
CVE-2024-57914 usb: typec: tcpci: fix NULL pointer issue on shared irq case
CVE-2024-57913 usb: gadget: f_fs: Remove WARN_ON in functionfs_bind
CVE-2024-57911 iio: dummy: iio_simply_dummy_buffer: fix information leak in triggered buffer
CVE-2024-57910 iio: light: vcnl4035: fix information leak in triggered buffer
CVE-2024-57916 misc: microchip: pci1xxxx: Resolve kernel panic during GPIO IRQ handling
CVE-2024-57912 iio: pressure: zpa2326: fix information leak in triggered buffer

Showing top 20 of 47 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities

V. Comments for CVE-2025-21632

No comments yet


Leave a comment