CVE-2026-43303Linux内核内存管理模块存在释放后利用漏洞。由于free_pages_prepare()在释放页面时未清除page->private字段,导致页面被重新利用为高阶页并分割时,尾页残留旧数据,进而引发交换子系统崩溃或内存破坏。
该漏洞源于Linux内核在内存回收过程中的逻辑缺陷。多个内核子系统(如slub、shmem、ttm)使用page->private存储元数据,但在释放时未将其清零。当这些带有脏数据的物理页被后续分配为高阶页并通过split_page()分割时,尾页保留了旧的private值。攻击者可通过本地低权限账户触发特定内存分配模式,诱导内核交换子系统swap_count_continued()函数将残留数据误认为有效的交换计数延续链表。随后内核遍历未初始化的page->lru字段(包含LIST_POISON),导致野内存访问、内核崩溃(KASAN报错)或潜在的权限提升。