Description
In the Linux kernel, the following vulnerability has been resolved:
drivers/virt/acrn: fix PFNMAP PTE checks in acrn_vm_ram_map()
Patch series "mm: follow_pte() improvements and acrn follow_pte() fixes".
Patch #1 fixes a bunch of issues I spotted in the acrn driver. It
compiles, that's all I know. I'll appreciate some review and testing from
acrn folks.
Patch #2+#3 improve follow_pte(), passing a VMA instead of the MM, adding
more sanity checks, and improving the documentation. Gave it a quick test
on x86-64 using VM_PAT that ends up using follow_pte().
This patch (of 3):
We currently miss handling various cases, resulting in a dangerous
follow_pte() (previously follow_pfn()) usage.
(1) We're not checking PTE write permissions.
Maybe we should simply always require pte_write() like we do for
pin_user_pages_fast(FOLL_WRITE)? Hard to tell, so let's check for
ACRN_MEM_ACCESS_WRITE for now.
(2) We're not rejecting refcounted pages.
As we are not using MMU notifiers, messing with refcounted pages is
dangerous and can result in use-after-free. Let's make sure to reject them.
(3) We are only looking at the first PTE of a bigger range.
We only lookup a single PTE, but memmap->len may span a larger area.
Let's loop over all involved PTEs and make sure the PFN range is
actually contiguous. Reject everything else: it couldn't have worked
either way, and rather made use access PFNs we shouldn't be accessing.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Linux | Linux | 5.15.33 – < 5.15.161, 5.16.19 – < 5.17, 5.17.2 – < 5.18, 5.18 | 5.15.161 |
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 | 6.8.12-1 | — |
| Debian 13 | linux | 6.8.12-1 | — |
| Debian 12 | linux | 6.1.94-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Nvidia-BlueField 22.04 LTS | linux-bluefield | 5.15.0-1052.54 | — |
| Ubuntu 24.04 LTS | linux | 6.8.0-40.40 | USN-6949-1 |
| Ubuntu 24.04 LTS | linux-aws | 6.8.0-1013.14 | USN-6949-1 |
| Ubuntu 24.04 LTS | linux-azure | 6.8.0-1012.14 | USN-6952-2 |
| Ubuntu 24.04 LTS | linux-gcp | 6.8.0-1012.13 | USN-6949-1 |
| Ubuntu 24.04 LTS | linux-gke | 6.8.0-1008.11 | USN-6949-1 |
| Ubuntu 24.04 LTS | linux-ibm +2 | 6.8.0-1010.10 | USN-6955-1, USN-6952-1, USN-6949-1 |
| Ubuntu 24.04 LTS | linux-nvidia | 6.8.0-1011.11 | USN-6949-1 |
| Ubuntu 24.04 LTS | linux-nvidia-lowlatency | 6.8.0-1011.11.1 | USN-6952-1 |
| Ubuntu 24.04 LTS | linux-raspi | 6.8.0-1009.10 | USN-6949-2 |
| Ubuntu 24.04 LTS | linux-riscv +1 | 6.8.0-40.40.1 | USN-6949-2 |
| Ubuntu 22.04 LTS | linux +1 | 5.15.0-121.131 | USN-7007-3, USN-7007-1 |
| Ubuntu 22.04 LTS | linux-aws | 5.15.0-1069.75 | USN-7007-1 |
| Ubuntu 22.04 LTS | linux-aws-6.8 | 6.8.0-1013.14~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-azure | 5.15.0-1072.81 | USN-7009-1 |
| Ubuntu 22.04 LTS | linux-azure-6.8 | 6.8.0-1012.14~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-azure-fde | 5.15.0-1072.81.1 | USN-7009-1 |
| Ubuntu 22.04 LTS | linux-gcp | 5.15.0-1068.76 | USN-7007-1 |
| Ubuntu 22.04 LTS | linux-gcp-6.8 | 6.8.0-1012.13~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-gke | 5.15.0-1066.72 | USN-7007-1 |
| Ubuntu 22.04 LTS | linux-gkeop | 5.15.0-1052.59 | USN-7007-1 |
| Ubuntu 22.04 LTS | linux-hwe-6.8 | 6.8.0-40.40~22.04.3 | — |
| Ubuntu 22.04 LTS | linux-ibm +1 | 5.15.0-1062.65 | USN-7007-1 |
| Ubuntu 22.04 LTS | linux-ibm-6.8 +1 | 6.8.0-1010.10~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-intel-iotg | 5.15.0-1064.70 | USN-7007-1 |
| Ubuntu 22.04 LTS | linux-kvm | 5.15.0-1066.71 | USN-7007-1 |
| Ubuntu 22.04 LTS | linux-nvidia | 5.15.0-1064.65 | USN-7007-1 |
| Ubuntu 22.04 LTS | linux-nvidia-6.8 | 6.8.0-1011.11~22.04.1 | USN-6949-1 |
| Ubuntu 22.04 LTS | linux-nvidia-tegra | 5.15.0-1028.28 | — |
| Ubuntu 22.04 LTS | linux-nvidia-tegra-igx | 5.15.0-1016.16 | — |
| Ubuntu 22.04 LTS | linux-oracle | 5.15.0-1067.73 | USN-7007-1 |
| Ubuntu 22.04 LTS | linux-riscv +31 | No fix yet | — |
| Ubuntu 22.04 LTS | linux-riscv-6.8 +1 | 6.8.0-40.40.1~22.04.1 | — |
| Ubuntu 22.04 LTS | linux-xilinx-zynqmp | 5.15.0-1035.39 | USN-7019-1 |
| Ubuntu 20.04 LTS | linux-aws-5.15 | 5.15.0-1069.75~20.04.1 | USN-7007-1 |
| Ubuntu 20.04 LTS | linux-azure-5.15 | 5.15.0-1072.81~20.04.1 | USN-7009-1 |
| Ubuntu 20.04 LTS | linux-azure-fde-5.15 | 5.15.0-1072.81~20.04.1.1 | USN-7009-2 |
| Ubuntu 20.04 LTS | linux-gcp-5.15 | 5.15.0-1068.76~20.04.1 | USN-7007-1 |
| Ubuntu 20.04 LTS | linux-gke +26 | No fix yet | — |
| Ubuntu 20.04 LTS | linux-gkeop-5.15 | 5.15.0-1052.59~20.04.1 | USN-7007-1 |
| Ubuntu 20.04 LTS | linux-hwe-5.15 +1 | 5.15.0-121.131~20.04.1 | USN-7007-3, USN-7007-1 |
| Ubuntu 20.04 LTS | linux-ibm-5.15 | 5.15.0-1062.65~20.04.1 | USN-7007-2 |
| Ubuntu 20.04 LTS | linux-intel-iotg-5.15 | 5.15.0-1064.70~20.04.1 | USN-7007-1 |
| Ubuntu 20.04 LTS | linux-nvidia-tegra-5.15 | 5.15.0-1030.30~20.04.1 | — |
| Ubuntu 20.04 LTS | linux-oracle-5.15 | 5.15.0-1067.73~20.04.1 | USN-7007-2 |
| Ubuntu 20.04 LTS | linux-riscv-5.15 | 5.15.0-1065.69~20.04.1 | — |
| Ubuntu 18.04 LTS | linux-gcp +13 | No fix yet | — |
Show 6 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 16.04 LTS | linux-hwe-edge | No fix yet | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-raspi-realtime | 6.8.0-2008.8 | — |
| Ubuntu Pro Realtime 24.04 LTS | linux-realtime | 6.8.1-1006.6 | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-intel-iot-realtime | 5.15.0-1063.65 | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime | 5.15.0-1070.78 | — |
| Ubuntu Pro Realtime 22.04 LTS | linux-realtime-6.8 | 6.8.1-1006.6~22.04.1 | — |
| Ubuntu Pro FIPS-updates 24.04 LTS | linux-fips | 6.8.0-78.78+fips1 | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-aws-fips | 5.15.0-1069.75+fips1 | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-azure-fips | 5.15.0-1072.81+fips1 | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-fips | 5.15.0-121.131+fips1 | — |
| Ubuntu Pro FIPS-updates 22.04 LTS | linux-gcp-fips | 5.15.0-1068.76+fips1 | — |
| Ubuntu Pro FIPS-preview 22.04 LTS | linux-fips +3 | No fix yet | — |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLES 15 SP6 | kernel-64kb | 6.4.0-150600.23.14.1 | SUSE-SU-2024:2571-1 |
| SLES 15 SP6 | kernel-azure +1 | 6.4.0-150600.8.8.2 | SUSE-SU-2024:2896-1 |
| SLES 15 SP6 | kernel-default-base | 6.4.0-150600.23.14.2.150600.12.4.3 | SUSE-SU-2024:2571-1 |
| SLES 15 SP6 | kernel-docs +5 | 6.4.0-150600.23.14.2 | SUSE-SU-2024:2571-1 |
| SLES 15 SP6 | kernel-syms-azure | 6.4.0-150600.8.8.1 | SUSE-SU-2024:2896-1 |
Show 3 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| SLE Micro 6.0 | kernel-default-base | 6.4.0-17.1.1.51 | SUSE-SU-2025:20008-1 |
| SLE Micro 6.0 | kernel-rt +1 | 6.4.0-9.1 | SUSE-SU-2025:20028-1 |
| SLE Micro 6.0 | kernel-source +2 | 6.4.0-18.1 | SUSE-SU-2025:20008-1 |
| SLE Live Patching 15 SP6 | kernel-default | 6.4.0-150600.23.14.2 | SUSE-SU-2024:2571-1 |
| SLE Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6-RT_Update_1 | 1-150600.1.5.1 | SUSE-SU-2024:2973-1 |
| SLE Live Patching 15 SP6 | kernel-livepatch-SLE15-SP6_Update_2 | 1-150600.13.3.2 | SUSE-SU-2024:2571-1 |
| SUSE Real Time Module 15 SP6 | kernel-rt +3 | 6.4.0-150600.10.5.1 | SUSE-SU-2024:2973-1 |
openSUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| openSUSE Leap 15.6 | dtb-aarch64 +1 | 6.4.0-150600.23.14.1 | SUSE-SU-2024:2571-1 |
| openSUSE Leap 15.6 | kernel-azure +1 | 6.4.0-150600.8.8.2 | SUSE-SU-2024:2896-1 |
| openSUSE Leap 15.6 | kernel-default-base | 6.4.0-150600.23.14.2.150600.12.4.3 | SUSE-SU-2024:2571-1 |
| openSUSE Leap 15.6 | kernel-docs +8 | 6.4.0-150600.23.14.2 | SUSE-SU-2024:2571-1 |
| openSUSE Leap 15.6 | kernel-rt +3 | 6.4.0-150600.10.5.1 | SUSE-SU-2024:2973-1 |
| openSUSE Leap 15.6 | kernel-syms-azure | 6.4.0-150600.8.8.1 | SUSE-SU-2024:2896-1 |
Advisories 17
- USN-7007-1 linux, linux-aws, linux-aws-5.15, linux-gcp, linux-gcp-5.15, linux-gke, linux-gkeop, linux-gkeop-5.15, linux-hwe-5.15, linux-ibm, linux-intel-iotg, linux-intel-iotg-5.15, linux-kvm, linux-nvidia, linux-oracle, linux-raspi vulnerabilities Ubuntu Security Notices (USN) · Oct 26, 2026
- USN-7009-1 linux-azure, linux-azure-5.15, linux-azure-fde vulnerabilities Ubuntu Security Notices (USN) · Oct 26, 2026
- USN-7007-3 linux-lowlatency, linux-lowlatency-hwe-5.15 vulnerabilities Ubuntu Security Notices (USN) · Oct 26, 2026
- USN-7019-1 linux-xilinx-zynqmp vulnerabilities Ubuntu Security Notices (USN) · Oct 26, 2026
- USN-6955-1 linux-oem-6.8 vulnerabilities Ubuntu Security Notices (USN) · Oct 26, 2026
- USN-7007-2 linux-ibm-5.15, linux-oracle-5.15 vulnerabilities Ubuntu Security Notices (USN) · Oct 26, 2026
- USN-6952-2 linux-azure vulnerabilities Ubuntu Security Notices (USN) · Oct 26, 2026
- USN-6952-1 linux-nvidia-lowlatency, linux-oracle vulnerabilities Ubuntu Security Notices (USN) · Oct 26, 2026
- USN-6949-2 linux-lowlatency, linux-raspi vulnerabilities Ubuntu Security Notices (USN) · Oct 26, 2026
- USN-6949-1 linux, linux-aws, linux-gcp, linux-gke, linux-ibm, linux-nvidia, linux-nvidia-6.8 vulnerabilities Ubuntu Security Notices (USN) · Oct 26, 2026
- WID-SEC-2024-1418 Linux Kernel: Mehrere Schwachstellen ermöglichen nicht spezifizierten Angriff BSI CERT-Bund (WID) · Sep 8, 2026
- USN-7009-2 linux-azure-fde-5.15 vulnerabilities Ubuntu Security Notices (USN) · Aug 6, 2026
- SUSE-SU-2025:20008-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:20028-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2024:2973-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2024:2896-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2024:2571-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · May 2, 2025
References
- https://git.kernel.org/stable/c/5c6705aa47b5b78d7ad36fea832bb69caa5bf49a
- https://git.kernel.org/stable/c/afeb0e69627695f759fc73c39c1640dbf8649b32
- https://git.kernel.org/stable/c/e873f36ec890bece26ecce850e969917bceebbb6
- https://git.kernel.org/stable/c/4c4ba3cf3a15ccfbaf787d0296fa42cdb00da9b4
- https://git.kernel.org/stable/c/2c8d6e24930b8ef7d4a81787627c559ae0e0d3bb
- https://git.kernel.org/stable/c/3d6586008f7b638f91f3332602592caa8b00b559