Description
In the Linux kernel, the following vulnerability has been resolved:
x86/fpu: Clear XSTATE_BV[i] in guest XSAVE state whenever XFD[i]=1
When loading guest XSAVE state via KVM_SET_XSAVE, and when updating XFD in
response to a guest WRMSR, clear XFD-disabled features in the saved (or to
be restored) XSTATE_BV to ensure KVM doesn't attempt to load state for
features that are disabled via the guest's XFD. Because the kernel
executes XRSTOR with the guest's XFD, saving XSTATE_BV[i]=1 with XFD[i]=1
will cause XRSTOR to #NM and panic the kernel.
E.g. if fpu_update_guest_xfd() sets XFD without clearing XSTATE_BV:
------------[ cut here ]------------
WARNING: arch/x86/kernel/traps.c:1524 at exc_device_not_available+0x101/0x110, CPU#29: amx_test/848
Modules linked in: kvm_intel kvm irqbypass
CPU: 29 UID: 1000 PID: 848 Comm: amx_test Not tainted 6.19.0-rc2-ffa07f7fd437-x86_amx_nm_xfd_non_init-vm #171 NONE
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
RIP: 0010:exc_device_not_available+0x101/0x110
Call Trace:
<TASK>
asm_exc_device_not_available+0x1a/0x20
RIP: 0010:restore_fpregs_from_fpstate+0x36/0x90
switch_fpu_return+0x4a/0xb0
kvm_arch_vcpu_ioctl_run+0x1245/0x1e40 [kvm]
kvm_vcpu_ioctl+0x2c3/0x8f0 [kvm]
__x64_sys_ioctl+0x8f/0xd0
do_syscall_64+0x62/0x940
entry_SYSCALL_64_after_hwframe+0x4b/0x53
</TASK>
---[ end trace 0000000000000000 ]---
This can happen if the guest executes WRMSR(MSR_IA32_XFD) to set XFD[18] = 1,
and a host IRQ triggers kernel_fpu_begin() prior to the vmexit handler's
call to fpu_update_guest_xfd().
and if userspace stuffs XSTATE_BV[i]=1 via KVM_SET_XSAVE:
------------[ cut here ]------------
WARNING: arch/x86/kernel/traps.c:1524 at exc_device_not_available+0x101/0x110, CPU#14: amx_test/867
Modules linked in: kvm_intel kvm irqbypass
CPU: 14 UID: 1000 PID: 867 Comm: amx_test Not tainted 6.19.0-rc2-2dace9faccd6-x86_amx_nm_xfd_non_init-vm #168 NONE
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 0.0.0 02/06/2015
RIP: 0010:exc_device_not_available+0x101/0x110
Call Trace:
<TASK>
asm_exc_device_not_available+0x1a/0x20
RIP: 0010:restore_fpregs_from_fpstate+0x36/0x90
fpu_swap_kvm_fpstate+0x6b/0x120
kvm_load_guest_fpu+0x30/0x80 [kvm]
kvm_arch_vcpu_ioctl_run+0x85/0x1e40 [kvm]
kvm_vcpu_ioctl+0x2c3/0x8f0 [kvm]
__x64_sys_ioctl+0x8f/0xd0
do_syscall_64+0x62/0x940
entry_SYSCALL_64_after_hwframe+0x4b/0x53
</TASK>
---[ end trace 0000000000000000 ]---
The new behavior is consistent with the AMX architecture. Per Intel's SDM,
XSAVE saves XSTATE_BV as '0' for components that are disabled via XFD
(and non-compacted XSAVE saves the initial configuration of the state
component):
If XSAVE, XSAVEC, XSAVEOPT, or XSAVES is saving the state component i,
the instruction does not generate #NM when XCR0[i] = IA32_XFD[i] = 1;
instead, it operates as if XINUSE[i] = 0 (and the state component was
in its initial state): it saves bit i of XSTATE_BV field of the XSAVE
header as 0; in addition, XSAVE saves the initial configuration of the
state component (the other instructions do not save state component i).
Alternatively, KVM could always do XRSTOR with XFD=0, e.g. by using
a constant XFD based on the set of enabled features when XSAVEing for
a struct fpu_guest. However, having XSTATE_BV[i]=1 for XFD-disabled
features can only happen in the above interrupt case, or in similar
scenarios involving preemption on preemptible kernels, because
fpu_swap_kvm_fpstate()'s call to save_fpregs_to_fpstate() saves the
outgoing FPU state with the current XFD; and that is (on all but the
first WRMSR to XFD) the guest XFD.
Therefore, XFD can only go out of sync with XSTATE_BV in the above
interrupt case, or in similar scenarios involving preemption on
preemptible kernels, and it we can consider it (de facto) part of KVM
ABI that KVM_GET_XSAVE returns XSTATE_BV[i]=0 for XFD-disabled features.
[Move clea
---truncated---
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 5.17 | 6.1.162 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 6.18.8-1 | — |
| Debian 13 | linux | 6.12.69-1 | DSA-6126-1 |
| Debian 12 | linux | 6.1.162-1 | DSA-6127-1 |
| Debian 11 | linux-6.1 | 6.1.162-1~deb11u1 | DLA-4476-1 |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 24.04 LTS | linux-bluefield | 6.8.0-1022.26 | — |
| Ubuntu 25.10 | linux +8 | No fix yet | — |
| Ubuntu 24.04 LTS | linux | 6.8.0-117.117 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-aws | 6.8.0-1055.58 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-azure | 6.8.0-1056.62 | USN-8278-2 |
| Ubuntu 24.04 LTS | linux-azure-6.17 | 6.17.0-1021.21~24.04.1 | USN-8604-1 |
| Ubuntu 24.04 LTS | linux-azure-fde | 6.8.0-1058.65 | — |
| Ubuntu 24.04 LTS | linux-azure-fde-6.17 | 6.17.0-1018.18~24.04.1 | USN-8605-1 |
| Ubuntu 24.04 LTS | linux-azure-nvidia | 6.8.0-1039.42 | — |
| Ubuntu 24.04 LTS | linux-gcp | 6.8.0-1058.61 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-gcp-6.17 | 6.17.0-1021.24~24.04.1 | USN-8570-1 |
| Ubuntu 24.04 LTS | linux-gke | 6.8.0-1054.60 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-gkeop | 6.8.0-1041.44 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-hwe-6.17 | 6.17.0-41.41~24.04.1 | — |
| Ubuntu 24.04 LTS | linux-ibm | 6.8.0-1055.56 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-lowlatency | 6.8.0-117.117.1 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-nvidia | 6.8.0-1054.57 | USN-8289-1 |
| Ubuntu 24.04 LTS | linux-nvidia-6.17 | 6.17.0-1031.31 | USN-8669-1 |
| Ubuntu 24.04 LTS | linux-nvidia-lowlatency | 6.8.0-1054.57.1 | USN-8289-1 |
| Ubuntu 24.04 LTS | linux-nvidia-tegra | 6.8.0-1024.24 | USN-8296-2 |
| Ubuntu 24.04 LTS | linux-oem-6.17 | 6.17.0-1030.30 | USN-8594-1 |
| Ubuntu 24.04 LTS | linux-oracle | 6.8.0-1054.55 | — |
| Ubuntu 24.04 LTS | linux-oracle-6.17 | 6.17.0-1019.19~24.04.3 | USN-8570-2 |
| Ubuntu 24.04 LTS | linux-raspi | 6.8.0-1056.60 | USN-8278-1 |
| Ubuntu 24.04 LTS | linux-riscv +20 | No fix yet | — |
| Ubuntu 24.04 LTS | linux-xilinx | 6.8.0-1032.33 | USN-8499-1 |
| Ubuntu 22.04 LTS | linux-aws-6.8 | 6.8.0-1057.60~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-azure-6.8 | 6.8.0-1059.65~22.04.1 | USN-8440-1 |
| Ubuntu 22.04 LTS | linux-azure-fde-6.8 | 6.8.0-1058.65~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-gcp-6.8 | 6.8.0-1060.63~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-hwe-6.8 | 6.8.0-124.124~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-ibm-6.8 | 6.8.0-1055.56~22.04.1 | USN-8278-1 |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-6.8 | 6.8.0-117.117.1~22.04.1 | USN-8278-1 |
| Ubuntu 22.04 LTS | linux-nvidia-6.8 | 6.8.0-1054.57~22.04.1 | USN-8289-2 |
| Ubuntu 22.04 LTS | linux-oracle-6.8 | 6.8.0-1054.55~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-riscv +32 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-riscv-6.8 | 6.8.0-117.117~22.04.1 | — |
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
Show 5 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 18.04 LTS | linux-gcp +14 | No fix yet | — |
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-raspi-realtime | 6.8.0-2045.46 | USN-8278-1 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime | 6.8.1-1051.52 | USN-8278-1 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime-6.14 | No fix yet | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime-6.17 | 6.17.0-1018.20~24.04.1 | USN-8570-1 |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime-6.8 | 6.8.1-1051.52~22.04.1 | USN-8278-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-aws-fips | 6.8.0-1055.58+fips1 | USN-8278-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-azure-fips | 6.8.0-1059.65+fips1 | USN-8393-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips | 6.8.0-116.116+fips1 | USN-8296-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-gcp-fips | 6.8.0-1058.61+fips1 | USN-8278-1 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP7 | kernel-64kb +6 | 6.4.0-150700.53.31.1 | SUSE-SU-2026:0447-1 |
| SLES 15 SP7 | kernel-azure +2 | 6.4.0-150700.20.27.1 | SUSE-SU-2026:0472-1 |
| SLES 15 SP7 | kernel-default-base | 6.4.0-150700.53.31.1.150700.17.21.1 | SUSE-SU-2026:0447-1 |
Show 7 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES for SAP 16.0 | kernel-64kb +8 | 6.12.0-160000.26.1 | SUSE-SU-2026:20599-1 |
| SLES for SAP 16.0 | kernel-default-base | 6.12.0-160000.26.1.160000.2.7 | SUSE-SU-2026:20599-1 |
| SLES 16.0 | kernel-64kb +8 | 6.12.0-160000.26.1 | SUSE-SU-2026:20615-1, SUSE-SU-2026:20599-1 |
| SLES 16.0 | kernel-default-base | 6.12.0-160000.26.1.160000.2.7 | SUSE-SU-2026:20599-1 |
| SLE Micro 6.2 | kernel-default-base | 6.12.0-160000.26.1.160000.2.7 | SUSE-SU-2026:20555-1 |
| SLE Micro 6.2 | kernel-rt +5 | 6.12.0-160000.26.1 | SUSE-SU-2026:20570-1, SUSE-SU-2026:20555-1 |
| SLE Micro 6.1 | kernel-default-base | 6.4.0-39.1.21.16 | SUSE-SU-2026:20498-1 |
| SLE Micro 6.1 | kernel-rt +1 | 6.4.0-40.1 | SUSE-SU-2026:20876-1 |
| SLE Micro 6.1 | kernel-source +2 | 6.4.0-39.1 | SUSE-SU-2026:20498-1 |
| SLE Micro 6.0 | kernel-default-base | 6.4.0-39.1.21.16 | SUSE-SU-2026:20477-1 |
| SLE Micro 6.0 | kernel-rt +1 | 6.4.0-40.1 | SUSE-SU-2026:20845-1 |
| SLE Micro 6.0 | kernel-source +2 | 6.4.0-39.1 | SUSE-SU-2026:20477-1 |
| SLE Live Patching 15 SP7 | kernel-default | 6.4.0-150700.53.31.1 | SUSE-SU-2026:0447-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7-RT_Update_9 | 1-150700.1.3.2 | SUSE-SU-2026:0587-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7_Update_9 | 1-150700.15.3.1 | SUSE-SU-2026:0447-1 |
| SUSE Real Time Module 15 SP7 | kernel-rt | 6.4.0-150700.7.31.2 | SUSE-SU-2026:0587-1 |
| SUSE Real Time Module 15 SP7 | kernel-syms-rt +1 | 6.4.0-150700.7.31.1 | SUSE-SU-2026:0587-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 16.0 | kernel-default-base | 6.12.0-160000.26.1.160000.2.7 | openSUSE-SU-2026:20287-1 |
| openSUSE Leap 16.0 | kernel-rt +11 | 6.12.0-160000.26.1 | openSUSE-SU-2026:20287-1 |
Amazon Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Amazon Linux 2023 | kernel-livepatch-6.12.68-92.122 +1 | 1:1.0-0.amzn2023 | ALAS2023-2026-1468, ALAS2023-2026-1455 |
| Amazon Linux 2023 | perf +14 | 1:6.1.163-186.299.amzn2023 | ALAS2023-2026-1468 |
| Amazon Linux 2023 | perf6.12 +14 | 1:6.12.68-92.122.amzn2023 | ALAS2023-2026-1455 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | kernel | 6.6.126.1-1 | — |
Oracle Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Oracle Linux 9 | kernel-uek +34 | 6.12.0-109.67.6.el10uek | ELSA-2026-50144 |
Public exploits
Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.
GitHub 1 repository
Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.
Advisories 38
- SSA-457936 SSA-457936: Vulnerabilities in the additional GNU/Linux subsystem of the SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP V3.1.7 Siemens ProductCERT · Nov 10, 2026
- USN-8604-1 linux-azure-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8440-1 linux-azure-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8499-1 linux-xilinx vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8393-1 linux-azure-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8669-1 linux-nvidia-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8570-1 linux-gcp-6.17, linux-realtime-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8570-2 linux-oracle-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8594-1 linux-oem-6.17 vulnerabilities Ubuntu Security Notices (USN) · Nov 6, 2026
- USN-8278-1 linux, linux-aws, linux-aws-fips, linux-gcp, linux-gcp-fips, linux-gke, linux-gkeop, linux-ibm, linux-ibm-6.8, linux-lowlatency, linux-lowlatency-hwe-6.8, linux-raspi, linux-raspi-realtime, linux-realtime, linux-realtime-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 5, 2026
- USN-8289-1 linux-nvidia, linux-nvidia-lowlatency vulnerabilities Ubuntu Security Notices (USN) · Nov 5, 2026
- USN-8289-2 linux-nvidia-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 5, 2026
- USN-8278-2 linux-azure vulnerabilities Ubuntu Security Notices (USN) · Nov 5, 2026
- USN-8296-1 linux-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- USN-8296-2 linux-nvidia-tegra vulnerabilities Ubuntu Security Notices (USN) · Nov 4, 2026
- WID-SEC-2026-0215 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 2, 2026
- ICSA-26-295-11 Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP CISA ICS & IT advisories · Oct 22, 2026
- USN-8605-1 linux-azure-fde-6.17 vulnerabilities Ubuntu Security Notices (USN) · Oct 17, 2026
- SSA-019113 SSA-019113: Vulnerabilities in the additional GNU/Linux subsystem of the SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP V3.1.6 Siemens ProductCERT · Oct 13, 2026
- ICSA-26-209-04 Siemens SIMATIC S7-1500 CPU 1518(F)-4 PN/DP MFP CISA ICS & IT advisories · Jul 28, 2026
- SUSE-SU-2026:20570-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Jul 9, 2026
- SUSE-SU-2026:20876-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 31, 2026
- SUSE-SU-2026:20845-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 28, 2026
- ALAS2023-2026-1468 Important: kernel security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Mar 26, 2026
- openSUSE-SU-2026:20287-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:20615-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:20599-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:20555-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:20498-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:20477-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:0587-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:0472-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2026:0447-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- ELSA-2026-50144 Important: Unbreakable Enterprise kernel security update (Oracle Linux 9) Oracle Linux Security Advisories (ELSA) · Mar 10, 2026
- DSA-6127-1 linux - security update Debian Security (DSA / DLA) · Mar 9, 2026
- DSA-6126-1 linux - security update Debian Security (DSA / DLA) · Mar 9, 2026
- ALAS2023-2026-1455 Important: kernel6.12 security update (Amazon Linux 2023) Amazon Linux Security Center (ALAS) · Mar 5, 2026
- DLA-4476-1 linux-6.1 - security update Debian Security (DSA / DLA) · Feb 10, 2026
References
- https://git.kernel.org/stable/c/b5995c01ba53d84182ecb9492fc4d91cfe8a362d
- https://git.kernel.org/stable/c/1e2848bda819af569dfe7ab186223855e092a2cb
- https://git.kernel.org/stable/c/f577508cc8a0adb8b4ebe9480bba7683b6149930
- https://git.kernel.org/stable/c/eea6f395ca502c4528314c8112da9b5d65f685eb
- https://git.kernel.org/stable/c/b45f721775947a84996deb5c661602254ce25ce6