In the Linux kernel, the following vulnerability has been resolved:
arm64/entry: Mask DAIF in cpu_switch_to(), call_on_irq_stack()
`cpu_switch_to()` and `call_on_irq_stack()` manipulate SP to change to different stacks along with the Shadow Call Stack if it is enabled. Those two stack changes cannot be done atomically and both functions can be interrupted by SErrors or Debug Exceptions which, though unlikely, is very much broken : if interrupted, we can end up with mismatched stacks and Shadow Call Stack leading to clobbered stacks.
In `cpu_switch_to()`, it can happen when SP_EL0 points to the new task, but x18 stills points to the old task's SCS. When the interrupt handler tries to save the task's SCS pointer, it will save the old task SCS pointer (x18) into the new task struct (pointed to by SP_EL0), clobbering it.
In `call_on_irq_stack()`, it can happen when switching from the task stack to the IRQ stack and when switching back. In both cases, we can be interrupted when the SCS pointer points to the IRQ SCS, but SP points to the task stack. The nested interrupt handler pushes its return addresses on the IRQ SCS. It then detects that SP points to the task stack, calls `call_on_irq_stack()` and clobbers the task SCS pointer with the IRQ SCS pointer, which it will also use !
This leads to tasks returning to addresses on the wrong SCS, or even on the IRQ SCS, triggering kernel panics via CONFIG_VMAP_STACK or FPAC if enabled.
This is possible on a default config, but unlikely. However, when enabling CONFIG_ARM64_PSEUDO_NMI, DAIF is unmasked and instead the GIC is responsible for filtering what interrupts the CPU should receive based on priority. Given the goal of emulating NMIs, pseudo-NMIs can be received by the CPU even in `cpu_switch_to()` and `call_on_irq_stack()`, possibly *very* frequently depending on the system configuration and workload, leading to unpredictable kernel panics.
Completely mask DAIF in `cpu_switch_to()` and restore it when returning. Do the same in `call_on_irq_stack()`, but restore and mask around the branch. Mask DAIF even if CONFIG_SHADOW_CALL_STACK is not enabled for consistency of behaviour between all configurations.
Introduce and use an assembly macro for saving and masking DAIF, as the existing one saves but only masks IF.
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade bpftoolUpgrade kernel-toolsUpgrade kernel-tools-develUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-develUpgrade perfUpgrade kernel-livepatch-5.10.210-201.852Upgrade bpftool-debuginfoUpgrade python-perfUpgrade kernel-headersUpgrade perf-debuginfoUpgrade kernel-debuginfoUpgrade kernel-livepatch-5.15.191-132.213Upgrade python-perf-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernelUpgrade kernel-tools-debuginfo | May 20, 2026 | May 20, 2026 |
| Amazon_linux_2023 | — | Upgrade kernel-debuginfoUpgrade kernel-libbpfUpgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel6.12-modules-extra-commonUpgrade python3-perfUpgrade kernel-livepatch-6.12.46-66.121Upgrade kernel6.12-toolsUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-develUpgrade perf-debuginfoUpgrade kernel6.12-libbpfUpgrade perf6.12-debuginfoUpgrade python3-perf6.12-debuginfoUpgrade kernel6.12-modules-extraUpgrade kernel-libbpf-develUpgrade perfUpgrade bpftool6.12-debuginfoUpgrade kernel-tools-develUpgrade python3-perf6.12Upgrade kernel6.12-debuginfo-common-x86_64Upgrade kernelUpgrade kernel-livepatch-6.1.150-174.273Upgrade kernel6.12-tools-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-modules-extraUpgrade kernel6.12-debuginfoUpgrade kernel6.12-tools-develUpgrade kernel6.12-develUpgrade python3-perf-debuginfoUpgrade kernel6.12-libbpf-staticUpgrade bpftoolUpgrade kernel-libbpf-staticUpgrade kernel-libbpf-debuginfoUpgrade kernel6.12-libbpf-develUpgrade kernel6.12Upgrade kernel6.12-libbpf-debuginfoUpgrade bpftool-debuginfoUpgrade bpftool6.12Upgrade kernel-toolsUpgrade kernel6.12-headersUpgrade kernel-debuginfo-common-x86_64Upgrade perf6.12Upgrade kernel-modules-extra-commonUpgrade kernel-headers | Sep 30, 2025 | Aug 22, 2025 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Sep 25, 2025 | Sep 25, 2025 |
| Oracle_linux | — | Upgrade kernel-uek | Oct 16, 2025 | Aug 22, 2025 |
| Suse | — | Upgrade kernel-default-base-rebuildUpgrade kernel-default-extraUpgrade dtb-allwinnerUpgrade dtb-rockchipUpgrade kernel-default-optionalUpgrade dtb-xilinxUpgrade kernel-kvmsmallUpgrade dtb-armUpgrade kernel-kvmsmall-develUpgrade dtb-amlogicUpgrade cluster-md-kmp-azureUpgrade gfs2-kmp-azureUpgrade kernel-develUpgrade kernel-devel-azureUpgrade kernel-macrosUpgrade kernel-sourceUpgrade dtb-exynosUpgrade kernel-azure-optionalUpgrade kernel-syms-azureUpgrade dlm-kmp-64kbUpgrade dtb-nvidiaUpgrade kernel-azure-develUpgrade kernel-rt-extraUpgrade kernel-rt-livepatchUpgrade kernel-azureUpgrade dtb-alteraUpgrade dtb-caviumUpgrade gfs2-kmp-rtUpgrade kernel-obs-qaUpgrade ocfs2-kmp-rtUpgrade dtb-lgUpgrade dtb-mediatekUpgrade reiserfs-kmp-azureUpgrade dtb-qcomUpgrade ocfs2-kmp-defaultUpgrade cluster-md-kmp-rtUpgrade kernel-rtUpgrade dtb-apmUpgrade kernel-default-vdsoUpgrade kernel-devel-rtUpgrade kernel-obs-buildUpgrade kernel-debug-vdsoUpgrade kernel-source-azureUpgrade kernel-rt-develUpgrade kselftests-kmp-64kbUpgrade kernel-rt-vdsoUpgrade kernel-source-vanillaUpgrade kernel-symsUpgrade reiserfs-kmp-rtUpgrade dtb-broadcomUpgrade dtb-appleUpgrade cluster-md-kmp-defaultUpgrade kernel-syms-rtUpgrade ocfs2-kmp-64kbUpgrade gfs2-kmp-defaultUpgrade ocfs2-kmp-azureUpgrade kernel-rt_debug-vdsoUpgrade reiserfs-kmp-64kbUpgrade kselftests-kmp-azureUpgrade dlm-kmp-rtUpgrade cluster-md-kmp-64kbUpgrade kernel-source-rtUpgrade kernel-kvmsmall-vdsoUpgrade dtb-socionextUpgrade kernel-debug-develUpgrade dtb-renesasUpgrade dtb-amdUpgrade dlm-kmp-defaultUpgrade kernel-rt-optionalUpgrade kernel-default-livepatch-develUpgrade kernel-default-develUpgrade kernel-debugUpgrade kernel-azure-vdsoUpgrade kernel-64kb-optionalUpgrade dtb-marvellUpgrade gfs2-kmp-64kbUpgrade dtb-amazonUpgrade reiserfs-kmp-defaultUpgrade kernel-rt_debugUpgrade kernel-default-baseUpgrade kernel-docsUpgrade kernel-zfcpdumpUpgrade kernel-rt_debug-develUpgrade kernel-defaultUpgrade kernel-64kb-develUpgrade kselftests-kmp-rtUpgrade kselftests-kmp-defaultUpgrade kernel-rt-livepatch-develUpgrade kernel-default-livepatchUpgrade kernel-64kb-extraUpgrade dtb-sprdUpgrade dtb-hisiliconUpgrade dlm-kmp-azureUpgrade kernel-64kbUpgrade dtb-freescaleUpgrade kernel-docs-htmlUpgrade kernel-azure-extra | Dec 5, 2025 | Sep 18, 2025 |
| Ubuntu | — | Upgrade linux-image-6.8.0-1043-oracleUpgrade linux-image-6.8.0-1046-nvidia-lowlatencyUpgrade linux-image-6.8.0-100-lowlatencyUpgrade linux-image-6.8.0-1047-raspiUpgrade linux-image-5.15.0-1038-nvidia-tegra-igxUpgrade linux-image-5.15.0-163-fipsUpgrade linux-image-6.14.0-36-generic-64kUpgrade linux-image-awsUpgrade linux-image-intel-iotg-5.15Upgrade linux-image-oracle-5.15Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-5.15.0-1091-ibmUpgrade linux-image-gcp-fips-5.15Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-virtual-5.15Upgrade linux-image-lowlatency-5.15Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-generic-6.14Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-kvm-5.15Upgrade linux-image-aws-fips-6.8Upgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-6.8.0-1043-gke-64kUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-realtime-6.8.1Upgrade linux-image-6.14.0-1017-awsUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-aws-lts-24.04Upgrade linux-image-5.15.0-1101-azure-fipsUpgrade linux-image-5.15.0-1092-intel-iotgUpgrade linux-image-gke-64kUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-realtime-5.15Upgrade linux-image-oem-20.04cUpgrade linux-image-aws-6.8Upgrade linux-image-oracle-6.8Upgrade linux-image-aws-64k-6.8Upgrade linux-image-gcpUpgrade linux-image-generic-64k-6.8Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-gcp-5.15Upgrade linux-image-fipsUpgrade linux-image-5.15.0-163-lowlatency-64kUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-ibm-classicUpgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-5.15.0-1097-gcpUpgrade linux-image-6.8.0-100-fipsUpgrade linux-image-azure-fipsUpgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-intelUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-generic-6.8Upgrade linux-image-fips-6.8Upgrade linux-image-6.8.0-1046-azure-fipsUpgrade linux-image-5.15.0-1101-azureUpgrade linux-image-5.15.0-1097-aws-fipsUpgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-raspi-realtimeUpgrade linux-image-oem-20.04bUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-kvmUpgrade linux-image-azure-lts-24.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-genericUpgrade linux-image-5.15.0-1097-gcp-fipsUpgrade linux-image-6.8.0-2037-raspi-realtimeUpgrade linux-image-5.15.0-1089-intel-iot-realtimeUpgrade linux-image-5.15.0-1092-nvidia-lowlatencyUpgrade linux-image-aws-64kUpgrade linux-image-6.8.0-1046-aws-64kUpgrade linux-image-oem-20.04dUpgrade linux-image-6.8.0-1030-gkeopUpgrade linux-image-6.8.0-1046-azureUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-1046-aws-fipsUpgrade linux-image-5.15.0-1096-realtimeUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-5.15.0-1094-oracleUpgrade linux-image-nvidia-64kUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-6.8.0-1046-nvidiaUpgrade linux-image-6.14.0-1017-aws-64kUpgrade linux-image-oem-22.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-nvidiaUpgrade linux-image-generic-64k-6.14Upgrade linux-image-raspi-nolpaeUpgrade linux-image-5.15.0-1093-gkeUpgrade linux-image-5.15.0-1091-raspiUpgrade linux-image-6.8.0-100-genericUpgrade linux-image-5.15.0-1038-nvidia-tegra-igx-rtUpgrade linux-image-6.8.0-1043-oracle-64kUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-oem-6.14Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-5.15.0-1049-nvidia-tegraUpgrade linux-image-5.15.0-1102-azureUpgrade linux-image-azure-lts-22.04Upgrade linux-image-azure-fips-6.8Upgrade linux-image-fips-5.15Upgrade linux-image-5.15.0-1092-nvidiaUpgrade linux-image-5.15.0-1061-xilinx-zynqmpUpgrade linux-image-6.8.0-1046-nvidia-64kUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-6.8.0-1047-gcp-fipsUpgrade linux-image-gkeUpgrade linux-image-gke-5.15Upgrade linux-image-gkeop-6.8Upgrade linux-image-gkeopUpgrade linux-image-azure-6.8Upgrade linux-image-6.8.0-1051-azureUpgrade linux-image-6.14.0-1020-gcpUpgrade linux-image-6.14.0-1017-oracleUpgrade linux-image-6.14.0-1016-oemUpgrade linux-image-5.15.0-1080-gkeopUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-oracleUpgrade linux-image-oem-24.04aUpgrade linux-image-oem-22.04aUpgrade linux-image-ibmUpgrade linux-image-aws-6.14Upgrade linux-image-nvidia-tegra-igx-rt-5.15Upgrade linux-image-oracle-6.14Upgrade linux-image-6.8.0-100-lowlatency-64kUpgrade linux-image-5.15.0-163-generic-lpaeUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-gcp-6.8Upgrade linux-image-aws-lts-22.04Upgrade linux-image-5.15.0-1049-nvidia-tegra-rtUpgrade linux-image-virtual-6.14Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-oracle-64k-6.8Upgrade linux-image-oracle-64kUpgrade linux-image-nvidia-tegraUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-lowlatencyUpgrade linux-image-intel-iotgUpgrade linux-image-generic-lpaeUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-virtualUpgrade linux-image-5.15.0-1089-kvmUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-xilinxUpgrade linux-image-ibm-6.8Upgrade linux-image-oracle-64k-6.14Upgrade linux-image-oem-24.04Upgrade linux-image-oem-22.04bUpgrade linux-image-6.8.0-1047-gcpUpgrade linux-image-5.15.0-163-lowlatencyUpgrade linux-image-azure-5.15Upgrade linux-image-nvidia-6.8Upgrade linux-image-gcp-64k-6.14Upgrade linux-image-gke-6.8Upgrade linux-image-gcp-fipsUpgrade linux-image-realtime-hwe-24.04 | Nov 25, 2025 | Nov 21, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 7, 2025 | Aug 22, 2025 |
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