CVE-2026-31646Linux内核的lan966x网络驱动中存在空指针解引用漏洞。在lan966x_fdma_rx_alloc_page_pool函数中,未对page_pool_create的返回值进行错误检查。当该函数失败返回错误指针时,后续代码直接使用该指针并将其传递给xdp_rxq_info_reg_mem_model,导致内核解引用无效指针并崩溃。本地低权限攻击者可利用此漏洞造成系统拒绝服务。
该漏洞位于Linux内核的net: lan966x驱动模块中。在函数lan966x_fdma_rx_alloc_page_pool()里,page_pool_create()用于创建页面池。如果分配失败(例如内存不足),该函数返回ERR_PTR错误指针。然而,原始代码未执行IS_ERR检查,直接将该指针用于后续循环和函数调用中。具体来说,该指针被传递给xdp_rxq_info_reg_mem_model(),进而调用page_pool_use_xdp_mem()。由于这些函数会对指针进行解引用操作,处理错误指针会导致内核空指针异常,引发系统崩溃。