VYPR
High severity7.8NVD Advisory· Published May 8, 2026· Updated May 15, 2026

CVE-2026-43303

CVE-2026-43303

Description

In the Linux kernel, the following vulnerability has been resolved:

mm/page_alloc: clear page->private in free_pages_prepare()

Several subsystems (slub, shmem, ttm, etc.) use page->private but don't clear it before freeing pages. When these pages are later allocated as high-order pages and split via split_page(), tail pages retain stale page->private values.

This causes a use-after-free in the swap subsystem. The swap code uses page->private to track swap count continuations, assuming freshly allocated pages have page->private == 0. When stale values are present, swap_count_continued() incorrectly assumes the continuation list is valid and iterates over uninitialized page->lru containing LIST_POISON values, causing a crash:

KASAN: maybe wild-memory-access in range [0xdead000000000100-0xdead000000000107] RIP: 0010:__do_sys_swapoff+0x1151/0x1860

Fix this by clearing page->private in free_pages_prepare(), ensuring all freed pages have clean state regardless of previous use.

Affected products

7
  • Linux/Kernel7 versions
    cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*+ 6 more
    • cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*range: >=5.18.1,<6.18.16
    • cpe:2.3:o:linux:linux_kernel:5.18:-:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:5.18:rc4:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:5.18:rc5:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:5.18:rc6:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:5.18:rc7:*:*:*:*:*:*
    • cpe:2.3:o:linux:linux_kernel:5.18:rc9:*:*:*:*:*:*

Patches

0

No patches discovered yet.

Vulnerability mechanics

AI mechanics synthesis has not run for this CVE yet.

News mentions

1