In the Linux kernel, the following vulnerability has been resolved:
arm64/sve: Discard stale CPU state when handling SVE traps
The logic for handling SVE traps manipulates saved FPSIMD/SVE state incorrectly, and a race with preemption can result in a task having TIF_SVE set and TIF_FOREIGN_FPSTATE clear even though the live CPU state is stale (e.g. with SVE traps enabled). This has been observed to result in warnings from do_sve_acc() where SVE traps are not expected while TIF_SVE is set:
| if (test_and_set_thread_flag(TIF_SVE)) | WARN_ON(1); /* SVE access shouldn't have trapped */
Warnings of this form have been reported intermittently, e.g.
https://lore.kernel.org/linux-arm-kernel/CA+G9fYtEGe_DhY2Ms7+L7NKsLYUomGsgqpdBj+QwDLeSg=JhGg@mail.gmail.com/ https://lore.kernel.org/linux-arm-kernel/[email protected]/
The race can occur when the SVE trap handler is preempted before and after manipulating the saved FPSIMD/SVE state, starting and ending on the same CPU, e.g.
| void do_sve_acc(unsigned long esr, struct pt_regs *regs) | { | // Trap on CPU 0 with TIF_SVE clear, SVE traps enabled | // task->fpsimd_cpu is 0. | // per_cpu_ptr(&fpsimd_last_state, 0) is task. | | ... | | // Preempted; migrated from CPU 0 to CPU 1. | // TIF_FOREIGN_FPSTATE is set. | | get_cpu_fpsimd_context(); | | if (test_and_set_thread_flag(TIF_SVE)) | WARN_ON(1); /* SVE access shouldn't have trapped */ | | sve_init_regs() { | if (!test_thread_flag(TIF_FOREIGN_FPSTATE)) { | ... | } else { | fpsimd_to_sve(current); | current->thread.fp_type = FP_STATE_SVE; | } | } | | put_cpu_fpsimd_context(); | | // Preempted; migrated from CPU 1 to CPU 0. | // task->fpsimd_cpu is still 0 | // If per_cpu_ptr(&fpsimd_last_state, 0) is still task then: | // - Stale HW state is reused (with SVE traps enabled) | // - TIF_FOREIGN_FPSTATE is cleared | // - A return to userspace skips HW state restore | }
Fix the case where the state is not live and TIF_FOREIGN_FPSTATE is set by calling fpsimd_flush_task_state() to detach from the saved CPU state. This ensures that a subsequent context switch will not reuse the stale CPU state, and will instead set TIF_FOREIGN_FPSTATE, forcing the new state to be reloaded from memory prior to a return to userspace.
CVSS Details
- CVSS 3.1 Base Score: 7.3
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-rt-develUpgrade kernel-64k-debug-develUpgrade kernel-64k-modules-coreUpgrade kernel-64k-modulesUpgrade kernel-64k-debug-coreUpgrade kernel-rt-modules-extraUpgrade kernel-64kUpgrade kernel-tools-libs-develUpgrade kernel-rt-coreUpgrade kernel-64k-debug-modules-extraUpgrade kernel-develUpgrade kernel-headersUpgrade kernel-debug-develUpgrade python3-perfUpgrade rtlaUpgrade bpftoolUpgrade kernel-64k-debug-modulesUpgrade kernel-64k-devel-matchedUpgrade kernel-rt-debug-coreUpgrade kernel-cross-headersUpgrade kernel-modules-coreUpgrade kernelUpgrade kernel-debug-uki-virtUpgrade kernel-devel-matchedUpgrade kernel-debugUpgrade kernel-rt-modulesUpgrade kernel-64k-develUpgrade kernel-debug-modules-coreUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-rt-debug-modules-extraUpgrade kernel-abi-stablelistsUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-modulesUpgrade kernel-tools-libsUpgrade kernel-debug-modulesUpgrade libperfUpgrade rvUpgrade kernel-rt-debug-develUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-docUpgrade kernel-rt-debugUpgrade kernel-64k-coreUpgrade kernel-uki-virtUpgrade kernel-64k-debug-modules-coreUpgrade kernel-zfcpdump-coreUpgrade kernel-debug-devel-matchedUpgrade kernel-debug-modules-extraUpgrade kernel-toolsUpgrade kernel-zfcpdump-modulesUpgrade perfUpgrade kernel-modules-extraUpgrade kernel-64k-modules-extraUpgrade kernel-rt-debug-modulesUpgrade kernel-zfcpdump-develUpgrade kernel-debug-coreUpgrade kernel-zfcpdumpUpgrade kernel-coreUpgrade kernel-rt-debug-modules-coreUpgrade kernel-64k-debugUpgrade kernel-rt-modules-coreUpgrade kernel-rtUpgrade kernel-uki-virt-addons | Jan 27, 2025 | Nov 19, 2024 |
| Amazon Linux Ami 2 | — | Upgrade kernel-debuginfo-common-x86_64Upgrade kernel-tools-debuginfoUpgrade kernelUpgrade python-perf-debuginfoUpgrade kernel-tools-develUpgrade kernel-debuginfoUpgrade kernel-headersUpgrade kernel-livepatch-5.15.176-118.170Upgrade bpftool-debuginfoUpgrade perfUpgrade perf-debuginfoUpgrade bpftoolUpgrade kernel-toolsUpgrade python-perfUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-devel | Mar 4, 2025 | Nov 19, 2024 |
| Amazon_linux_2023 | — | Upgrade bpftoolUpgrade perf-debuginfoUpgrade kernel-debuginfoUpgrade kernel-tools-develUpgrade kernel-tools-debuginfoUpgrade perfUpgrade python3-perfUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-libbpf-develUpgrade kernel-libbpfUpgrade kernelUpgrade kernel-develUpgrade kernel-toolsUpgrade kernel-headersUpgrade kernel-livepatch-6.1.124-134.200Upgrade kernel-debuginfo-common-x86_64Upgrade python3-perf-debuginfoUpgrade kernel-modules-extra-commonUpgrade kernel-modules-extraUpgrade bpftool-debuginfoUpgrade kernel-libbpf-static | Mar 10, 2025 | Nov 19, 2024 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Jan 13, 2025 | Nov 19, 2024 |
| Oracle_linux | — | Upgrade kernelUpgrade kernel-uek | Jan 23, 2025 | Nov 19, 2024 |
| Redhat_linux | — | Upgrade kernel-rtNo solution existsUpgrade kernel | Jan 23, 2025 | Nov 19, 2024 |
| Rocky_linux | — | Upgrade kernel-coreUpgrade kernel-rt-debugUpgrade kernel-develUpgrade kernel-rt-modulesUpgrade kernel-debugUpgrade bpftoolUpgrade kernel-modules-extraUpgrade perfUpgrade python3-perfUpgrade kernel-rt-kvmUpgrade kernel-rt-coreUpgrade kernel-rt-debug-modulesUpgrade perf-debuginfoUpgrade kernel-rt-debug-modules-extraUpgrade kernel-debug-coreUpgrade kernel-toolsUpgrade kernel-rt-develUpgrade kernel-rt-debuginfoUpgrade kernel-rtUpgrade kernel-debuginfoUpgrade python3-perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-tools-libs-develUpgrade kernel-cross-headersUpgrade kernel-headersUpgrade kernel-debuginfo-common-x86_64Upgrade bpftool-debuginfoUpgrade kernel-debug-develUpgrade kernel-rt-debug-kvmUpgrade kernel-rt-debug-debuginfoUpgrade kernel-tools-libsUpgrade kernel-rt-debug-coreUpgrade kernel-debug-modules-extraUpgrade kernelUpgrade kernel-rt-debug-develUpgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-modulesUpgrade kernel-rt-modules-extraUpgrade kernel-debug-debuginfoUpgrade kernel-debug-modules | Feb 14, 2025 | Nov 19, 2024 |
| Ubuntu | — | Upgrade linux-image-5.15.0-1079-gcp-fipsUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-5.15.0-1033-nvidia-tegraUpgrade linux-image-generic-64kUpgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-58-generic-64kUpgrade linux-image-5.15.0-1073-intel-iot-realtimeUpgrade linux-image-5.15.0-1021-nvidia-tegra-igxUpgrade linux-image-aws-fipsUpgrade linux-image-raspiUpgrade linux-image-gkeop-6.8Upgrade linux-image-6.8.0-1027-azure-fdeUpgrade linux-image-6.11.0-1009-awsUpgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-6.8.0-1028-gcpUpgrade linux-image-generic-lpaeUpgrade linux-image-6.11.0-1009-azureUpgrade linux-image-5.15.0-136-generic-64kUpgrade linux-image-kvmUpgrade linux-image-6.8.0-1024-oracle-64kUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-azure-fipsUpgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-6.11.0-1009-azure-fdeUpgrade linux-image-5.15.0-1076-kvmUpgrade linux-image-oem-22.04aUpgrade linux-image-6.11.0-1011-oracle-64kUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.11.0-1008-raspiUpgrade linux-image-gcp-64kUpgrade linux-image-6.8.1-1020-realtimeUpgrade linux-image-fipsUpgrade linux-image-5.15.0-1074-ibmUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.11.0-1015-oemUpgrade linux-image-5.15.0-1074-nvidia-lowlatencyUpgrade linux-image-6.11.0-1011-oracleUpgrade linux-image-6.8.0-1026-nvidia-lowlatencyUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-6.8.0-1026-oemUpgrade linux-image-oem-22.04cUpgrade linux-image-oem-20.04bUpgrade linux-image-5.15.0-1080-aws-fipsUpgrade linux-image-6.8.0-1024-ibmUpgrade linux-image-azureUpgrade linux-image-gcp-fipsUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-raspi-nolpaeUpgrade linux-image-5.15.0-1086-azureUpgrade linux-image-5.15.0-135-lowlatencyUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-5.15.0-135-fipsUpgrade linux-image-6.8.0-58-genericUpgrade linux-image-lowlatencyUpgrade linux-image-5.15.0-135-generic-64kUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.8.0-58-lowlatencyUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-5.15.0-1080-realtimeUpgrade linux-image-oem-22.04bUpgrade linux-image-nvidia-6.8Upgrade linux-image-gke-5.15Upgrade linux-image-6.8.0-1028-gcp-64kUpgrade linux-image-ibmUpgrade linux-image-awsUpgrade linux-image-5.15.0-1021-nvidia-tegra-igx-rtUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-5.15.0-1062-gkeopUpgrade linux-image-ibm-classicUpgrade linux-image-6.8.0-1014-azure-nvidiaUpgrade linux-image-nvidiaUpgrade linux-image-aws-lts-22.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-azure-nvidiaUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-azure-lts-24.04Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-6.11.0-18-genericUpgrade linux-image-6.8.0-1026-nvidiaUpgrade linux-image-6.8.0-1027-awsUpgrade linux-image-5.15.0-1075-intel-iotgUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-virtualUpgrade linux-image-raspi-realtimeUpgrade linux-image-6.8.0-1026-nvidia-lowlatency-64kUpgrade linux-image-oem-24.04Upgrade linux-image-oracleUpgrade linux-image-intel-iotgUpgrade linux-image-azure-lts-22.04Upgrade linux-image-5.15.0-1084-azureUpgrade linux-image-5.15.0-1033-nvidia-tegra-rtUpgrade linux-image-oracle-64kUpgrade linux-image-gkeop-5.15Upgrade linux-image-5.15.0-1072-ibmUpgrade linux-image-5.15.0-1077-intel-iotgUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oem-20.04cUpgrade linux-image-oem-24.04aUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-gkeopUpgrade linux-image-5.15.0-1080-awsUpgrade linux-image-6.8.0-1026-nvidia-64kUpgrade linux-image-5.15.0-1077-oracleUpgrade linux-image-6.11.0-1010-lowlatencyUpgrade linux-image-6.8.0-1010-gkeopUpgrade linux-image-6.8.0-1027-azureUpgrade linux-image-5.15.0-135-genericUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-5.15.0-1044-xilinx-zynqmpUpgrade linux-image-oem-22.04Upgrade linux-image-5.15.0-136-generic-lpaeUpgrade linux-image-oem-22.04dUpgrade linux-image-5.15.0-1079-gcpUpgrade linux-image-6.11.0-1010-lowlatency-64kUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.15.0-1081-gcpUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-aws-lts-24.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-oem-20.04dUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-5.15.0-136-genericUpgrade linux-image-intelUpgrade linux-image-nvidia-64kUpgrade linux-image-6.11.0-18-generic-64kUpgrade linux-image-5.15.0-135-generic-lpaeUpgrade linux-image-6.8.0-58-lowlatency-64kUpgrade linux-image-oem-24.04bUpgrade linux-image-5.15.0-1086-azure-fdeUpgrade linux-image-5.15.0-1077-gkeUpgrade linux-image-genericUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-5.15.0-1074-raspiUpgrade linux-image-5.15.0-135-lowlatency-64kUpgrade linux-image-realtimeUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-5.15.0-1074-nvidiaUpgrade linux-image-6.11.0-1005-realtimeUpgrade linux-image-6.11.0-1009-gcpUpgrade linux-image-5.15.0-1083-azure-fipsUpgrade linux-image-gcpUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-azure-cvmUpgrade linux-image-oem-20.04Upgrade linux-image-nvidia-tegraUpgrade linux-image-6.8.0-1023-gkeUpgrade linux-image-gkeUpgrade linux-image-6.8.0-1024-oracle | Feb 20, 2025 | Nov 19, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jul 2, 2025 | Nov 19, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub