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