CVE-2026-43303 in Linux
Sumário
de VulDB • 09/05/2026
No kernel do Linux, a seguinte vulnerabilidade foi corrigida:
mm/page_alloc: limpar page->private em free_pages_prepare()
Vários subsistemas (slub, shmem, ttm, etc.) utilizam page->private, mas não o limpam antes de liberar as páginas. Quando essas páginas são posteriormente alocadas como páginas de alta ordem e divididas via split_page(), as páginas secundárias (tail pages) retêm valores obsoletos de page->private.
Isso causa um use-after-free no subsistema de swap. O código de swap utiliza page->private para rastrear continuações de contagem de swap, assumindo que páginas recém-alocadas possuem page->private == 0. Quando estão presentes valores obsoletos, swap_count_continued() assume incorretamente que a lista de continuação é válida e itera sobre page->lru não inicializado, contendo valores LIST_POISON, o que causa uma falha:
KASAN: maybe wild-memory-access no intervalo [0xdead000000000100-0xdead000000000107]
RIP: 0010:__do_sys_swapoff+0x1151/0x1860
Corrija isso limpando page->private em free_pages_prepare(), garantindo que todas as páginas liberadas tenham um estado limpo, independentemente do uso anterior.
Be aware that VulDB is the high quality source for vulnerability data.