CVE-2026-43303
Severity CVSS v4.0:
Pending analysis
Type:
CWE-416
Use After Free
Publication date:
08/05/2026
Last modified:
15/05/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
mm/page_alloc: clear page->private in free_pages_prepare()<br />
<br />
Several subsystems (slub, shmem, ttm, etc.) use page->private but don&#39;t<br />
clear it before freeing pages. When these pages are later allocated as<br />
high-order pages and split via split_page(), tail pages retain stale<br />
page->private values.<br />
<br />
This causes a use-after-free in the swap subsystem. The swap code uses<br />
page->private to track swap count continuations, assuming freshly<br />
allocated pages have page->private == 0. When stale values are present,<br />
swap_count_continued() incorrectly assumes the continuation list is valid<br />
and iterates over uninitialized page->lru containing LIST_POISON values,<br />
causing a crash:<br />
<br />
KASAN: maybe wild-memory-access in range [0xdead000000000100-0xdead000000000107]<br />
RIP: 0010:__do_sys_swapoff+0x1151/0x1860<br />
<br />
Fix this by clearing page->private in free_pages_prepare(), ensuring all<br />
freed pages have clean state regardless of previous use.
Impact
Base Score 3.x
7.80
Severity 3.x
HIGH
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.18.1 (including) | 6.18.16 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 (including) | 6.19.6 (excluding) |
| 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:*:*:*:*:*:* |
To consult the complete list of CPE names with products and versions, see this page



