CVE-2026-23326Linux内核的xsk组件存在缓冲区泄漏漏洞。由于list_node字段被复用且在删除时未正确初始化,导致xp_free()函数无法将缓冲区归还至空闲列表,造成系统内存资源持续耗尽,可能导致拒绝服务。
该漏洞源于Linux内核AF_XDP(XDP sockets)组件中对链表节点的管理逻辑错误。在引入commit b692bf9a7543后,`list_node`字段被复用于xskb池列表和缓冲区空闲列表。漏洞的核心在于`xp_free()`函数依赖`list_empty()`检查缓冲区状态,而代码在处理分片时使用`list_del()`移除节点。`list_del()`仅将节点从链表中摘除,并未重置其内部指针(prev/next),导致`list_empty()`检查返回假,系统误认为缓冲区仍处于使用状态。这使得`xp_free()`错误地跳过回收操作,导致缓冲区永久泄漏。攻击者可利用本地低权限账户,通过创建AF_XDP套接字并发送特制的分片数据包,反复触发此代码路径,最终耗尽系统内核内存。