Vulnerability · Published Sep 25, 2026 · Assigned by Linux

CVE-2026-97943x86/mm/pat: Acquire init_mm write lock on collapse to avoid UAF

Unrated

In plain English

A security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 10% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS )–Not rated
Exploit odds (30 days)0.2%top 89.6% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: x86/mm/pat: Acquire init_mm write lock on collapse to avoid UAF x86 implements page attribute modification using its Change Page Attributes (CPA) mechanism. This tracks properties of ranges such as cache mode through x86 page attributes, and as part of that logic manipulates kernel page tables. Since commit: 41d88484c71c ("x86/mm/pat: restore large ROX pages after fragmentation") ranges of kernel page table entries can be collapsed into huge page table entries as part of this logic. As part of this collapse, it frees the page tables which the collapsed entries previously pointed to, and it does so without any relevant locks being held to preclude concurrent kernel page table walkers. The only way this code can be reached is if CPA_COLLAPSE is specified, and this is only set in set_memory_rox() via: set_memory_rox() -> change_page_attr_set_clr() -> cpa_flush() -> cpa_collapse_large_pages() Notable users of this are execmem and BPF when manipulating executable mappings. However, this is problematic for ptdump as it walks ranges it does not own and thus runs the risk of a use-after-free on page tables freed underneath it. In addition, concurrent CPA collapse operations are possible which can also cause races. Resolve the issue by acquiring the mmap write lock on init_mm across the whole operation. It is safe to acquire a sleeping lock as all the callers invoke set_memory_rox() from process context and in any case, change_page_attr_set_clr() calls vm_unmap_alias() which ultimately takes a mutex, disallowing atomic context here.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:14linux7.2.7-1DEBIAN-CVE-2026-97943
Ubuntu:26.04:LTSlinux7.0.0-42.42UBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2026-97943
Ubuntu:26.04:LTSlinux-aws7.0.0-1016.17UBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-aws-6.14no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-aws-6.17no fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-aws-7.0no fix listedUBUNTU-CVE-2026-97943
Ubuntu:26.04:LTSlinux-azureno fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-azure-6.11no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-azure-6.14no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-azure-6.17no fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-azure-7.0no fix listedUBUNTU-CVE-2026-97943
Ubuntu:26.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-azure-fde-6.14no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-azure-fde-6.17no fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-azure-fde-7.0no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-azure-nvidia-6.14no fix listedUBUNTU-CVE-2026-97943
Ubuntu:26.04:LTSlinux-gcp7.0.0-1016.18UBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-gcp-6.11no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-gcp-6.14no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-gcp-6.17no fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-gcp-7.0no fix listedUBUNTU-CVE-2026-97943
Ubuntu:26.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-hwe-6.11no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-hwe-6.14no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-hwe-6.17no fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-hwe-7.07.0.0-42.42~24.04.1UBUNTU-CVE-2026-97943
Ubuntu:26.04:LTSlinux-ibm7.0.0-1017.17UBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.11no fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2026-97943
Ubuntu:26.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-nvidia-6.11no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-nvidia-6.17no fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-nvidia-7.0no fix listedUBUNTU-CVE-2026-97943
Ubuntu:26.04:LTSlinux-nvidia-bosno fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-oem-6.11no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-oem-6.14no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-oem-6.17no fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-oem-6.8no fix listedUBUNTU-CVE-2026-97943
Ubuntu:26.04:LTSlinux-oem-7.07.0.0-1017.17UBUNTU-CVE-2026-97943
Ubuntu:26.04:LTSlinux-oracle7.0.0-1015.16UBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-oracle-6.14no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-oracle-6.17no fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-oracle-7.0no fix listedUBUNTU-CVE-2026-97943
Ubuntu:26.04:LTSlinux-raspino fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-97943
Ubuntu:26.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2026-97943
Ubuntu:26.04:LTSlinux-riscv7.0.0-42.42.1UBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-riscv-6.14no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-riscv-6.17no fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2026-97943
Ubuntu:24.04:LTSlinux-riscv-7.07.0.0-42.42.1~24.04.1UBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2026-97943
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2026-97943

Affected products (as reported)

VendorProductVersions
Linux Linux 41d88484c71cd4f659348da41b7b5b3dbd3be1f6 – before 35820cf8dd521f5a651e221483015b058679451641d88484c71cd4f659348da41b7b5b3dbd3be1f6 – before 93b98882198b15bd482da1fe8e84b05c7c3b3d8341d88484c71cd4f659348da41b7b5b3dbd3be1f6 – before a1c7570cedd03372812a5b693732880867babbca
Linux Linux 6.15

References