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 kernel-debuginfo-common-aarch64Upgrade kernel-tools-develUpgrade kernel-toolsUpgrade bpftoolUpgrade perfUpgrade kernel-livepatch-5.10.210-201.852Upgrade kernel-develUpgrade bpftool-debuginfoUpgrade python-perfUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfoUpgrade kernel-headersUpgrade perf-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade python-perf-debuginfoUpgrade kernel-livepatch-5.15.191-132.213Upgrade kernel | May 20, 2026 | May 20, 2026 |
| Amazon_linux_2023 | — | Upgrade perf-debuginfoUpgrade perfUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-libbpf-develUpgrade kernel6.12-libbpfUpgrade bpftool6.12-debuginfoUpgrade kernel-tools-debuginfoUpgrade bpftoolUpgrade kernel-develUpgrade python3-perf6.12-debuginfoUpgrade kernel6.12-debuginfo-common-x86_64Upgrade kernel6.12-tools-develUpgrade kernel-tools-develUpgrade kernel6.12-debuginfoUpgrade kernel6.12-libbpf-staticUpgrade kernel6.12-modules-extraUpgrade kernel-libbpfUpgrade kernel6.12-develUpgrade perf6.12-debuginfoUpgrade kernel6.12-debuginfo-common-aarch64Upgrade kernel6.12-modules-extra-commonUpgrade kernel-modules-extraUpgrade kernel-livepatch-6.12.46-66.121Upgrade kernel-livepatch-6.1.150-174.273Upgrade kernelUpgrade kernel6.12-tools-debuginfoUpgrade python3-perfUpgrade kernel-debuginfoUpgrade kernel6.12-toolsUpgrade python3-perf-debuginfoUpgrade python3-perf6.12Upgrade kernel6.12Upgrade kernel6.12-headersUpgrade perf6.12Upgrade kernel6.12-libbpf-debuginfoUpgrade kernel-libbpf-staticUpgrade kernel-headersUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-libbpf-debuginfoUpgrade kernel6.12-libbpf-develUpgrade kernel-modules-extra-commonUpgrade kernel-toolsUpgrade bpftool6.12Upgrade bpftool-debuginfo | Sep 30, 2025 | Aug 22, 2025 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Sep 25, 2025 | Sep 25, 2025 |
| Oracle_linux | — | Upgrade kernel-uek | Oct 16, 2025 | Aug 22, 2025 |
| Suse | — | Upgrade cluster-md-kmp-azureUpgrade dtb-caviumUpgrade kernel-kvmsmall-develUpgrade dtb-xilinxUpgrade kernel-rtUpgrade kernel-rt-vdsoUpgrade kernel-default-optionalUpgrade kernel-kvmsmallUpgrade kernel-azureUpgrade kernel-default-vdsoUpgrade gfs2-kmp-azureUpgrade kernel-devel-rtUpgrade ocfs2-kmp-defaultUpgrade dtb-alteraUpgrade kernel-obs-buildUpgrade kernel-azure-develUpgrade kernel-source-vanillaUpgrade kselftests-kmp-64kbUpgrade kernel-macrosUpgrade dlm-kmp-64kbUpgrade dtb-apmUpgrade kernel-devel-azureUpgrade cluster-md-kmp-rtUpgrade kernel-rt-livepatchUpgrade kernel-debug-vdsoUpgrade kernel-rt-develUpgrade dtb-qcomUpgrade kernel-develUpgrade kernel-obs-qaUpgrade dtb-lgUpgrade ocfs2-kmp-rtUpgrade dtb-mediatekUpgrade kernel-azure-optionalUpgrade gfs2-kmp-rtUpgrade reiserfs-kmp-azureUpgrade dtb-rockchipUpgrade kernel-rt-extraUpgrade dtb-nvidiaUpgrade kernel-sourceUpgrade kernel-default-base-rebuildUpgrade kernel-default-extraUpgrade kernel-source-azureUpgrade kernel-syms-azureUpgrade dtb-exynosUpgrade dtb-amlogicUpgrade dtb-allwinnerUpgrade dtb-armUpgrade dtb-socionextUpgrade dtb-marvellUpgrade kernel-rt_debugUpgrade reiserfs-kmp-rtUpgrade kselftests-kmp-rtUpgrade kselftests-kmp-defaultUpgrade kernel-syms-rtUpgrade kernel-default-livepatchUpgrade kernel-64kb-extraUpgrade dtb-sprdUpgrade dtb-hisiliconUpgrade ocfs2-kmp-azureUpgrade dlm-kmp-azureUpgrade kernel-rt-livepatch-develUpgrade dtb-broadcomUpgrade dtb-appleUpgrade dtb-renesasUpgrade dtb-amdUpgrade dlm-kmp-defaultUpgrade kernel-symsUpgrade kernel-kvmsmall-vdsoUpgrade kernel-debug-develUpgrade cluster-md-kmp-defaultUpgrade kernel-docs-htmlUpgrade kernel-azure-extraUpgrade gfs2-kmp-defaultUpgrade kernel-defaultUpgrade kernel-default-baseUpgrade kernel-rt_debug-vdsoUpgrade cluster-md-kmp-64kbUpgrade reiserfs-kmp-64kbUpgrade kselftests-kmp-azureUpgrade kernel-source-rtUpgrade dtb-freescaleUpgrade ocfs2-kmp-64kbUpgrade kernel-64kbUpgrade kernel-docsUpgrade kernel-zfcpdumpUpgrade kernel-rt_debug-develUpgrade kernel-rt-optionalUpgrade kernel-default-livepatch-develUpgrade kernel-default-develUpgrade reiserfs-kmp-defaultUpgrade dlm-kmp-rtUpgrade kernel-azure-vdsoUpgrade kernel-64kb-optionalUpgrade gfs2-kmp-64kbUpgrade dtb-amazonUpgrade kernel-64kb-develUpgrade kernel-debug | Dec 5, 2025 | Sep 18, 2025 |
| Ubuntu | — | Upgrade linux-image-raspi-6.14Upgrade linux-image-kvm-5.15Upgrade linux-image-5.15.0-1101-azure-fipsUpgrade linux-image-6.8.0-1046-awsUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-nvidia-tegra-igx-5.15Upgrade linux-image-aws-6.14Upgrade linux-image-gcp-fipsUpgrade linux-image-6.8.0-1043-gkeUpgrade linux-image-gke-6.8Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-aws-5.15Upgrade linux-image-6.14.0-1017-oracle-64kUpgrade linux-image-ibm-5.15Upgrade linux-image-realtime-hwe-24.04Upgrade linux-image-6.8.0-1023-xilinxUpgrade linux-image-oracle-6.8Upgrade linux-image-aws-64k-5.15Upgrade linux-image-6.8.0-1047-gcp-64kUpgrade linux-image-oem-20.04Upgrade linux-image-raspi-5.15Upgrade linux-image-lowlatency-5.15Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-5.15.0-163-genericUpgrade linux-image-5.15.0-1097-aws-64kUpgrade linux-image-6.14.0-1017-azureUpgrade linux-image-nvidia-5.15Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-oem-22.04dUpgrade linux-image-6.14.0-36-genericUpgrade linux-image-gcp-64kUpgrade linux-image-gke-64k-6.8Upgrade linux-image-azure-cvmUpgrade linux-image-generic-lpae-5.15Upgrade linux-image-oracle-6.14Upgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-virtual-6.8Upgrade linux-image-oem-20.04cUpgrade linux-image-awsUpgrade linux-image-virtual-5.15Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-gcp-64k-6.14Upgrade linux-image-6.8.0-1043-gke-64kUpgrade linux-image-aws-6.8Upgrade linux-image-5.15.0-1091-ibmUpgrade linux-image-6.8.0-100-generic-64kUpgrade linux-image-gke-64kUpgrade linux-image-generic-6.14Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-5.15.0-163-fipsUpgrade linux-image-generic-64kUpgrade linux-image-lowlatency-6.8Upgrade linux-image-aws-fips-6.8Upgrade linux-image-raspi-6.8Upgrade linux-image-6.14.0-1018-raspiUpgrade linux-image-6.8.0-1046-nvidia-lowlatency-64kUpgrade linux-image-5.15.0-163-generic-64kUpgrade linux-image-6.8.1-1041-realtimeUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-raspiUpgrade linux-image-realtimeUpgrade linux-image-aws-64k-6.14Upgrade linux-image-6.8.0-100-lowlatencyUpgrade linux-image-6.8.0-1047-raspiUpgrade linux-image-6.14.0-36-generic-64kUpgrade linux-image-generic-5.15Upgrade linux-image-gkeop-5.15Upgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-6.14.0-1016-realtimeUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-realtime-6.8.1Upgrade linux-image-aws-lts-24.04Upgrade linux-image-oracle-5.15Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-6.8.0-1043-oracleUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-intel-iotg-5.15Upgrade linux-image-6.14.0-1020-gcp-64kUpgrade linux-image-6.8.0-1044-ibmUpgrade linux-image-6.14.0-1017-awsUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-realtime-5.15Upgrade linux-image-5.15.0-1092-intel-iotgUpgrade linux-image-aws-fipsUpgrade linux-image-5.15.0-1097-awsUpgrade linux-image-6.8.0-1046-nvidia-lowlatencyUpgrade linux-image-xilinx-6.8Upgrade linux-image-gcp-fips-5.15Upgrade linux-image-aws-fips-5.15Upgrade linux-image-azureUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-gcp-6.14Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-nvidia-tegra-5.15Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-realtime-6.14Upgrade linux-image-azure-fips-5.15Upgrade linux-image-generic-64k-5.15Upgrade linux-image-nvidia-tegra-rt-5.15Upgrade linux-image-6.8.0-1047-gcpUpgrade linux-image-azure-6.14Upgrade linux-image-5.15.0-163-lowlatencyUpgrade linux-image-nvidia-tegra-igx-rt-5.15Upgrade linux-image-azure-5.15Upgrade linux-image-nvidia-6.8Upgrade linux-image-oem-22.04cUpgrade linux-image-gcp-fips-6.8Upgrade linux-image-5.15.0-1038-nvidia-tegra-igxUpgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-6.8.0-100-genericUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-oracle-64kUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-oem-6.14Upgrade linux-image-ibm-classicUpgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-5.15.0-1097-gcpUpgrade linux-image-azure-fipsUpgrade linux-image-generic-64k-6.8Upgrade linux-image-azure-lts-22.04Upgrade linux-image-gcpUpgrade linux-image-lowlatency-64kUpgrade linux-image-generic-lpaeUpgrade linux-image-gcp-6.8Upgrade linux-image-oracle-lts-24.04Upgrade linux-image-nvidia-tegraUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-lowlatencyUpgrade linux-image-intel-iotgUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-aws-lts-22.04Upgrade linux-image-aws-64k-6.8Upgrade linux-image-6.8.0-100-lowlatency-64kUpgrade linux-image-5.15.0-163-lowlatency-64kUpgrade linux-image-5.15.0-163-generic-lpaeUpgrade linux-image-5.15.0-1049-nvidia-tegra-rtUpgrade linux-image-virtual-6.14Upgrade linux-image-oracle-64k-6.8Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-5.15.0-1089-kvmUpgrade linux-image-5.15.0-1092-nvidiaUpgrade linux-image-5.15.0-1091-raspiUpgrade linux-image-5.15.0-1096-realtimeUpgrade linux-image-5.15.0-1061-xilinx-zynqmpUpgrade linux-image-virtualUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-ibm-6.8Upgrade linux-image-6.8.0-1046-azureUpgrade linux-image-6.8.0-1030-gkeopUpgrade linux-image-nvidia-64kUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.8.0-1046-nvidia-64kUpgrade linux-image-6.8.0-1046-aws-fipsUpgrade linux-image-6.8.0-100-fipsUpgrade linux-image-5.15.0-1102-azureUpgrade linux-image-fips-5.15Upgrade linux-image-6.8.0-1047-gcp-fipsUpgrade linux-image-6.8.0-1046-nvidiaUpgrade linux-image-5.15.0-1049-nvidia-tegraUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-nvidiaUpgrade linux-image-generic-64k-6.14Upgrade linux-image-azure-fips-6.8Upgrade linux-image-raspi-nolpaeUpgrade linux-image-5.15.0-1094-oracleUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-5.15.0-1093-gkeUpgrade linux-image-6.14.0-1017-aws-64kUpgrade linux-image-6.8.0-1043-oracle-64kUpgrade linux-image-oem-22.04Upgrade linux-image-xilinxUpgrade linux-image-intelUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-generic-6.8Upgrade linux-image-generic-hwe-24.04Upgrade 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-oem-20.04bUpgrade linux-image-raspi-realtimeUpgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-kvmUpgrade linux-image-oem-20.04dUpgrade linux-image-azure-lts-24.04Upgrade linux-image-aws-64kUpgrade linux-image-5.15.0-1092-nvidia-lowlatencyUpgrade linux-image-fipsUpgrade linux-image-6.14.0-1016-oemUpgrade linux-image-gkeopUpgrade linux-image-azure-6.8Upgrade linux-image-raspi-realtime-6.8Upgrade linux-image-6.14.0-1017-oracleUpgrade linux-image-6.14.0-1020-gcpUpgrade linux-image-5.15.0-1080-gkeopUpgrade linux-image-6.8.0-1051-azureUpgrade linux-image-oem-24.04aUpgrade linux-image-oem-22.04aUpgrade linux-image-gkeop-6.8Upgrade linux-image-ibmUpgrade linux-image-oracleUpgrade linux-image-gke-5.15Upgrade linux-image-gkeUpgrade linux-image-gcp-5.15Upgrade linux-image-5.15.0-1089-intel-iot-realtimeUpgrade linux-image-6.8.0-2037-raspi-realtimeUpgrade linux-image-5.15.0-1038-nvidia-tegra-igx-rtUpgrade linux-image-genericUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-1046-aws-64kUpgrade linux-image-5.15.0-1097-gcp-fipsUpgrade linux-image-oracle-64k-6.14Upgrade linux-image-oem-24.04Upgrade linux-image-oem-22.04bUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-intel-iot-realtime-5.15 | 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