linux: In the Linux kernel, the following vulnerability has been resolved: x86/mm/pat: Take cpa_lock around large-page coll...
CVE-2026-93066 is fixed in 33 products on 1 platform, first by DEBIAN-CVE-2026-93066, released September 23, 2026. It is not reported as exploited. Patch Radar priority: High.
In the Linux kernel, the following vulnerability has been resolved: x86/mm/pat: Take cpa_lock around large-page collapse Loading and unloading modules concurrently on several CPUs on a KASAN build, with a short delay injected at the CPA page-table lookup to widen the window, faults within minutes: BUG: KASAN: use-after-free in __change_page_attr+0x7cc/0x7e0 Write of size 8 at addr ffff888181139718 by task modprobe ... The buggy address belongs to the physical page: pfn:0x181139 ... page_type: f2(table) cpa_collapse_large_pages() rebuilds a leaf PMD from its 4K PTEs and frees the old PTE-table pages, while __change_page_attr() fetches a PTE pointer from a lockless lookup_address_in_pgd_attr() and writes it with set_pte_atomic() only later. When module text is served from a shared large ROX mapping the two run on the same PMD: CPU A (module load) CPU B (module finalize) ------------------- ----------------------- execmem_make_temp_rw set_memory_nx __change_page_attr split 2M -> 4K table P kpte = &P[i] (lockless) execmem_restore_rox set_memory_rox (CPA_COLLAPSE) cpa_collapse_large_pages rebuild leaf PMD flush_tlb_all pagetable_free(P) set_pte_atomic(kpte, ...) -> writes into freed P P is a page-table page (page_type: table), reused at once, so the write corrupts whatever got the page next: a bad-pte or bad-page splat, or a fatal fault once P has been turned into read-only text. The flush_tlb_all() before the free does not close this: its IPI only serializes against page-table walkers that run with interrupts off (e.g. GUP-fast); the walk in __change_page_attr() runs with interrupts on, so nothing stops it from holding a stale pointer into P. Serialize the collapse - the PMD rebuild, TLB flush and PTE-table free - under cpa_lock, the same lock __change_page_attr() now takes unconditionally since commit ("x86/mm/pat: stop gating cpa_lock on debug_pagealloc_enabled()"), so a concurrent walker can no longer hold a pointer into a table the collapse is about to free.
Where it's fixed
| Product | Fixed in | Fix | Released |
|---|---|---|---|
| Linux | |||
| bpftool6.18 · amzn 2023 | 1:6.18.54-121.166.amzn2023 | ALAS2023-2026-3192 | Nov 7, 2026 |
| bpftool6.18-debuginfo · amzn 2023 | 1:6.18.54-121.166.amzn2023 | ALAS2023-2026-3192 | Nov 7, 2026 |
| dtb-aarch64 · opensuse-leap 16.0 | 6.12.0-160000.40.1 | OPENSUSE-SU-2026:22167-1 | Nov 7, 2026 |
| kernel-64kb · opensuse-leap 16.0 | 6.12.0-160000.40.1 | OPENSUSE-SU-2026:22167-1 | Nov 7, 2026 |
| kernel-64kb · sles 16.0 | 6.12.0-160000.40.1 | SUSE-SU-2026:24446-1 | Nov 7, 2026 |
| kernel-azure · opensuse-leap 16.0 | 6.12.0-160000.40.1 | OPENSUSE-SU-2026:22167-1 | Nov 7, 2026 |
| kernel-azure · sles 16.0 | 6.12.0-160000.40.1 | SUSE-SU-2026:24446-1 | Nov 7, 2026 |
| kernel-default · opensuse-leap 16.0 | 6.12.0-160000.40.1 | OPENSUSE-SU-2026:22167-1 | Nov 7, 2026 |
| kernel-default · sles 16.0 | 6.12.0-160000.40.1 | SUSE-SU-2026:24446-1 | Nov 7, 2026 |
| kernel-default-base · opensuse-leap 16.0 | 6.12.0-160000.40.1.160000.2.29 | OPENSUSE-SU-2026:22167-1 | Nov 7, 2026 |
| kernel-default-base · sles 16.0 | 6.12.0-160000.40.1.160000.2.29 | SUSE-SU-2026:24446-1 | Nov 7, 2026 |
| kernel-docs · opensuse-leap 16.0 | 6.12.0-160000.40.1 | OPENSUSE-SU-2026:22167-1 | Nov 7, 2026 |
| kernel-docs · sles 16.0 | 6.12.0-160000.40.1 | SUSE-SU-2026:24446-1 | Nov 7, 2026 |
| kernel-kvmsmall · opensuse-leap 16.0 | 6.12.0-160000.40.1 | OPENSUSE-SU-2026:22167-1 | Nov 7, 2026 |
| kernel-kvmsmall · sles 16.0 | 6.12.0-160000.40.1 | SUSE-SU-2026:24446-1 | Nov 7, 2026 |
| kernel-livepatch-6.18.54-121.166 · amzn 2023 | 1:1.0-0.amzn2023 | ALAS2023-2026-3192 | Nov 7, 2026 |
| kernel-obs-build · opensuse-leap 16.0 | 6.12.0-160000.40.1 | OPENSUSE-SU-2026:22167-1 | Nov 7, 2026 |
| kernel-obs-qa · opensuse-leap 16.0 | 6.12.0-160000.40.1 | OPENSUSE-SU-2026:22167-1 | Nov 7, 2026 |
| kernel-obs-qa · sles 16.0 | 6.12.0-160000.40.1 | SUSE-SU-2026:24446-1 | Nov 7, 2026 |
| kernel-rt · opensuse-leap 16.0 | 6.12.0-160000.40.1 | OPENSUSE-SU-2026:22167-1 | Nov 7, 2026 |
| kernel-source · opensuse-leap 16.0 | 6.12.0-160000.40.1 | OPENSUSE-SU-2026:22167-1 | Nov 7, 2026 |
| kernel-source · sles 16.0 | 6.12.0-160000.40.1 | SUSE-SU-2026:24446-1 | Nov 7, 2026 |
| kernel-syms · opensuse-leap 16.0 | 6.12.0-160000.40.1 | OPENSUSE-SU-2026:22167-1 | Nov 7, 2026 |
| kernel-syms · sles 16.0 | 6.12.0-160000.40.1 | SUSE-SU-2026:24446-1 | Nov 7, 2026 |
| kernel-zfcpdump · opensuse-leap 16.0 | 6.12.0-160000.40.1 | OPENSUSE-SU-2026:22167-1 | Nov 7, 2026 |
| kernel-zfcpdump · sles 16.0 | 6.12.0-160000.40.1 | SUSE-SU-2026:24446-1 | Nov 7, 2026 |
| kernel6.18 · amzn 2023 | 1:6.18.54-121.166.amzn2023 | ALAS2023-2026-3192 | Nov 7, 2026 |
| kernel6.18-debuginfo · amzn 2023 | 1:6.18.54-121.166.amzn2023 | ALAS2023-2026-3192 | Nov 7, 2026 |
| kernel6.18-debuginfo-common-aarch64 · amzn 2023 | 1:6.18.54-121.166.amzn2023 | ALAS2023-2026-3192 | Nov 7, 2026 |
| kernel6.18-debuginfo-common-x86_64 · amzn 2023 | 1:6.18.54-121.166.amzn2023 | ALAS2023-2026-3192 | Nov 7, 2026 |
| kernel6.18-devel · amzn 2023 | 1:6.18.54-121.166.amzn2023 | ALAS2023-2026-3192 | Nov 7, 2026 |
| kernel6.18-headers · amzn 2023 | 1:6.18.54-121.166.amzn2023 | ALAS2023-2026-3192 | Nov 7, 2026 |
| kernel6.18-modules-extra · amzn 2023 | 1:6.18.54-121.166.amzn2023 | ALAS2023-2026-3192 | Nov 7, 2026 |
| kernel6.18-modules-extra-common · amzn 2023 | 1:6.18.54-121.166.amzn2023 | ALAS2023-2026-3192 | Nov 7, 2026 |
| kernel6.18-tools · amzn 2023 | 1:6.18.54-121.166.amzn2023 | ALAS2023-2026-3192 | Nov 7, 2026 |
| kernel6.18-tools-debuginfo · amzn 2023 | 1:6.18.54-121.166.amzn2023 | ALAS2023-2026-3192 | Nov 7, 2026 |
| kernel6.18-tools-devel · amzn 2023 | 1:6.18.54-121.166.amzn2023 | ALAS2023-2026-3192 | Nov 7, 2026 |
| linux · Debian 14 | 7.2.6-1 | DEBIAN-CVE-2026-93066 | Sep 23, 2026 |
| microvm-kernel6.18 · amzn 2023 | 1:6.18.54-121.166.amzn2023 | ALAS2023-2026-3192 | Nov 7, 2026 |
| perf6.18 · amzn 2023 | 1:6.18.54-121.166.amzn2023 | ALAS2023-2026-3192 | Nov 7, 2026 |
| perf6.18-debuginfo · amzn 2023 | 1:6.18.54-121.166.amzn2023 | ALAS2023-2026-3192 | Nov 7, 2026 |
| python3-perf6.18 · amzn 2023 | 1:6.18.54-121.166.amzn2023 | ALAS2023-2026-3192 | Nov 7, 2026 |
| python3-perf6.18-debuginfo · amzn 2023 | 1:6.18.54-121.166.amzn2023 | ALAS2023-2026-3192 | Nov 7, 2026 |
Patch Radar data is free to use with attribution. Terms and how to credit it.
Product names, logos and trademarks shown on Patch Radar belong to their respective owners. They are used only to identify the software each security fix applies to and to help readers find their platform. Their use does not imply any affiliation with, or endorsement by, those owners, and Patchblox is not affiliated with any of them.