CVE-2026-23331Linux内核UDP协议栈存在拒绝服务漏洞。在UDP套接字绑定通配符地址并建立连接后,若执行断开连接操作,内核未能正确从四元组哈希表中移除旧条目,导致哈希链表中残留无效数据结构。本地低权限攻击者可重复利用此缺陷消耗内核内存资源,严重影响系统稳定性并可能导致服务崩溃。
该漏洞发生在Linux内核UDP协议栈的套接字管理逻辑中。当UDP套接字通过`bind()`绑定至通配符地址(0.0.0.0)并指定端口后,内核设置`SOCK_BINDPORT_LOCK`标志。随后调用`connect()`时,通过`udp_lib_hash4()`将套接字加入四元组哈希表。在执行断开连接操作(如连接至AF_UNSPEC)时,`__udp_disconnect`函数会调用`rehash`计算基于通配符的新哈希值并移动套接字,但未清理原哈希槽中的旧条目。这导致四元组哈希表中残留无效链表节点,长期运行会消耗内核内存并降低哈希表查询效率,本地攻击者可利用此缺陷造成拒绝服务。