Description
In the Linux kernel, the following vulnerability has been resolved:
x86/shstk: Prevent deadlock during shstk sigreturn
During sigreturn the shadow stack signal frame is popped. The kernel does
this by reading the shadow stack using normal read accesses. When it can't
assume the memory is shadow stack, it takes extra steps to makes sure it is
reading actual shadow stack memory and not other normal readable memory. It
does this by holding the mmap read lock while doing the access and checking
the flags of the VMA.
Unfortunately that is not safe. If the read of the shadow stack sigframe
hits a page fault, the fault handler will try to recursively grab another
mmap read lock. This normally works ok, but if a writer on another CPU is
also waiting, the second read lock could fail and cause a deadlock.
Fix this by not holding mmap lock during the read access to userspace.
Instead use mmap_lock_speculate_...() to watch for changes between dropping
mmap lock and the userspace access. Retry if anything grabbed an mmap write
lock in between and could have changed the VMA.
These mmap_lock_speculate_...() helpers use mm::mm_lock_seq, which is only
available when PER_VMA_LOCK is configured. So make X86_USER_SHADOW_STACK
depend on it. On x86, PER_VMA_LOCK is a default configuration for SMP
kernels. So drop support for the other configs under the assumption that
the !SMP shadow stack user base does not exist.
Currently there is a check that skips the lookup work when the SSP can be
assumed to be on a shadow stack. While reorganizing the function, remove
the optimization to make the tricky code flows more common, such that
issues like this cannot escape detection for so long.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 6.6 | 6.6.140 |
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 | 7.0.4-1 | — |
| Debian 13 | linux | 6.12.88-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 24.04 LTS | linux-bluefield | 6.8.0-1028.33 | — |
| Ubuntu 26.04 LTS | linux | 7.0.0-27.27 | USN-8488-1 |
| Ubuntu 26.04 LTS | linux-aws +1 | 7.0.0-1008.8 | USN-8489-1, USN-8488-1 |
| Ubuntu 26.04 LTS | linux-azure | 7.0.0-1010.10 | USN-8603-1 |
| Ubuntu 26.04 LTS | linux-gcp +1 | 7.0.0-1007.7 | USN-8488-1 |
| Ubuntu 26.04 LTS | linux-ibm +1 | 7.0.0-1009.9 | USN-8603-1, USN-8488-1 |
| Ubuntu 26.04 LTS | linux-nvidia | 7.0.0-1013.13 | USN-8507-1 |
| Ubuntu 26.04 LTS | linux-raspi | 7.0.0-1014.14 | USN-8488-2 |
| Ubuntu 26.04 LTS | linux-riscv +1 | 7.0.0-27.27.1 | USN-8488-1 |
| Ubuntu 25.10 | linux +8 | No fix yet | — |
| Ubuntu 24.04 LTS | linux | 6.8.0-136.136 | USN-8567-1 |
| Ubuntu 24.04 LTS | linux-aws | 6.8.0-1061.64 | USN-8595-2 |
| Ubuntu 24.04 LTS | linux-azure | 6.8.0-1063.71 | USN-8606-1 |
| Ubuntu 24.04 LTS | linux-azure-fde | 6.8.0-1062.69 | USN-8607-1 |
| Ubuntu 24.04 LTS | linux-gcp | 6.8.0-1064.72 | USN-8567-1 |
| Ubuntu 24.04 LTS | linux-gke | 6.8.0-1059.67 | USN-8567-1 |
| Ubuntu 24.04 LTS | linux-gkeop | 6.8.0-1046.50 | USN-8567-1 |
| Ubuntu 24.04 LTS | linux-hwe-7.0 | 7.0.0-28.28~24.04.1 | USN-8569-1 |
| Ubuntu 24.04 LTS | linux-ibm | 6.8.0-1061.62 | USN-8574-3 |
| Ubuntu 24.04 LTS | linux-lowlatency | 6.8.0-136.136.2 | USN-8574-2 |
| Ubuntu 24.04 LTS | linux-nvidia | 6.8.0-1059.62 | USN-8596-1 |
| Ubuntu 24.04 LTS | linux-nvidia-lowlatency | 6.8.0-1059.62.1 | USN-8596-1 |
| Ubuntu 24.04 LTS | linux-nvidia-tegra | 6.8.0-1030.31 | USN-8574-3 |
| Ubuntu 24.04 LTS | linux-oracle | 6.8.0-1058.61 | USN-8574-2 |
| Ubuntu 24.04 LTS | linux-raspi | 6.8.0-1061.65 | USN-8665-1 |
| Ubuntu 24.04 LTS | linux-riscv +27 | No fix yet | — |
| Ubuntu 24.04 LTS | linux-vmware | 6.8.0-1008.8 | — |
| Ubuntu 24.04 LTS | linux-xilinx | 6.8.0-1033.34 | USN-8574-3 |
| Ubuntu 22.04 LTS | linux-aws-6.8 | 6.8.0-1061.64~22.04.1 | USN-8595-3 |
| Ubuntu 22.04 LTS | linux-azure-6.8 | 6.8.0-1063.71~22.04.1 | USN-8606-1 |
| Ubuntu 22.04 LTS | linux-azure-fde-6.8 | 6.8.0-1062.69~22.04.1 | USN-8609-1 |
| Ubuntu 22.04 LTS | linux-gcp-6.8 | 6.8.0-1064.72~22.04.1 | USN-8567-1 |
| Ubuntu 22.04 LTS | linux-hwe-6.8 | 6.8.0-136.136~22.04.1 | USN-8619-1 |
| Ubuntu 22.04 LTS | linux-ibm-6.8 | 6.8.0-1061.62~22.04.1 | USN-8574-3 |
| Ubuntu 22.04 LTS | linux-lowlatency-hwe-6.8 | 6.8.0-136.136.2~22.04.1 | USN-8574-2 |
| Ubuntu 22.04 LTS | linux-nvidia-6.8 | 6.8.0-1059.62~22.04.1 | USN-8596-1 |
| Ubuntu 22.04 LTS | linux-oracle-6.8 | 6.8.0-1058.61~22.04.1 | USN-8595-1 |
| Ubuntu 22.04 LTS | linux-riscv +32 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-riscv-6.8 | 6.8.0-136.136~22.04.3 | — |
Show 6 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 20.04 LTS | linux-gke +28 | No fix yet | — |
| 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-2050.52 | USN-8665-1 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime | 6.8.1-1056.57 | USN-8567-1 |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime-6.14 +1 | No fix yet | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime-6.8 | 6.8.1-1056.57~22.04.2 | USN-8567-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-aws-fips | 6.8.0-1061.64+fips1 | USN-8595-3 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-azure-fips | 6.8.0-1063.71+fips2 | USN-8608-1 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips | 6.8.0-136.136+fips2 | USN-8574-2 |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-gcp-fips | 6.8.0-1064.72+fips1 | USN-8574-1 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP7 | kernel-64kb +6 | 6.4.0-150700.53.66.1 | SUSE-SU-2026:2800-1 |
| SLES 15 SP7 | kernel-default-base | 6.4.0-150700.53.66.1.150700.17.39.1 | SUSE-SU-2026:2800-1 |
| SLES 15 SP7 | kernel-docs | 6.4.0-150700.53.66.2 | SUSE-SU-2026:2800-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.36.1 | SUSE-SU-2026:22835-1 |
| SLES for SAP 16.0 | kernel-default-base | 6.12.0-160000.36.1.160000.2.17 | SUSE-SU-2026:22835-1 |
| SLES 16.0 | kernel-64kb +8 | 6.12.0-160000.36.1 | SUSE-SU-2026:22835-1, SUSE-SU-2026:22812-1 |
| SLES 16.0 | kernel-default-base | 6.12.0-160000.36.1.160000.2.17 | SUSE-SU-2026:22835-1 |
| SLE Micro 6.2 | kernel-default-base | 6.12.0-160000.36.1.160000.2.17 | SUSE-SU-2026:22769-1 |
| SLE Micro 6.2 | kernel-rt +5 | 6.12.0-160000.36.1 | SUSE-SU-2026:22769-1, SUSE-SU-2026:22742-1 |
| SLE Micro 6.1 | kernel-rt +4 | 6.4.0-49.1 | SUSE-SU-2026:22666-1, SUSE-SU-2026:22665-1 |
| SLE Micro 6.0 | kernel-rt +4 | 6.4.0-49.1 | SUSE-SU-2026:22522-1, SUSE-SU-2026:22521-1 |
| SLE Live Patching 15 SP7 | kernel-default | 6.4.0-150700.53.66.1 | SUSE-SU-2026:2800-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7-RT_Update_17 | 1-150700.1.3.1 | SUSE-SU-2026:2799-1 |
| SLE Live Patching 15 SP7 | kernel-livepatch-SLE15-SP7_Update_18 | 1-150700.15.3.1 | SUSE-SU-2026:2800-1 |
| SUSE Real Time Module 15 SP7 | kernel-rt +2 | 6.4.0-150700.7.62.1 | SUSE-SU-2026:2799-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Tumbleweed | kernel-source | 7.0.11-1.1 | openSUSE-SU-2026:10954-1 |
| openSUSE Leap 16.0 | kernel-default-base | 6.12.0-160000.36.1.160000.2.17 | openSUSE-SU-2026:21388-1 |
| openSUSE Leap 16.0 | kernel-rt +11 | 6.12.0-160000.36.1 | openSUSE-SU-2026:21388-1 |
Azure Linux
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Azure Linux 3 | kernel | 6.6.141.1-1 | — |
Advisories 33
- WID-SEC-2026-1700 Linux Kernel: Mehrere Schwachstellen BSI CERT-Bund (WID) · Nov 12, 2026
- USN-8574-3 linux-ibm, linux-ibm-6.8, linux-nvidia-tegra, linux-xilinx vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8595-3 linux-aws-6.8, linux-aws-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8574-2 linux-fips, linux-lowlatency, linux-lowlatency-hwe-6.8, linux-oracle vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8596-1 linux-nvidia, linux-nvidia-6.8, linux-nvidia-lowlatency vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8665-1 linux-raspi, linux-raspi-realtime vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8603-1 linux-azure, linux-azure-fde vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8608-1 linux-azure-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8574-1 linux-gcp-fips vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8595-2 linux-aws vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8595-1 linux-oracle-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 9, 2026
- USN-8567-1 linux, linux-gcp, linux-gcp-6.8, linux-gke, linux-gkeop, linux-realtime, linux-realtime-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8606-1 linux-azure, linux-azure-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8607-1 linux-azure-fde vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8619-1 linux-hwe-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8488-1 linux, linux-aws, linux-gcp, linux-ibm, linux-oracle, linux-realtime vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8609-1 linux-azure-fde-6.8 vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8569-1 linux-hwe-7.0 vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8488-2 linux-raspi vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8489-1 linux-oem-7.0 vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- USN-8507-1 linux-nvidia vulnerabilities Ubuntu Security Notices (USN) · Nov 7, 2026
- SUSE-SU-2026:22835-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Jul 28, 2026
- SUSE-SU-2026:22812-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Jul 28, 2026
- openSUSE-SU-2026:21388-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Jul 24, 2026
- SUSE-SU-2026:22769-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Jul 23, 2026
- SUSE-SU-2026:22742-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Jul 23, 2026
- SUSE-SU-2026:22665-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Jul 21, 2026
- SUSE-SU-2026:22666-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Jul 21, 2026
- SUSE-SU-2026:22521-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Jul 9, 2026
- SUSE-SU-2026:22522-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Jul 9, 2026
- SUSE-SU-2026:2799-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Jul 9, 2026
- SUSE-SU-2026:2800-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Jul 9, 2026
- openSUSE-SU-2026:10954-1 kernel-devel-7.0.11-1.1 on GA media SUSE / openSUSE Security Updates · Jun 5, 2026
References
- https://git.kernel.org/stable/c/e2c2b044458cbf22da05264fa707308e8d4f86f9
- https://git.kernel.org/stable/c/d042d69b417515959e49021fef008c9b04a99bd5
- https://git.kernel.org/stable/c/4f3374c990fb2adec06d20fd6d780927811c9aa0
- https://git.kernel.org/stable/c/3d29db827502067626062f5c74dd502d14ab15bc
- https://git.kernel.org/stable/c/9874b2917b9fbc30956fee209d3c4aa47201c64e