CVE-2026-31636Linux内核的rxrpc模块中存在一个严重的越界读取漏洞。该漏洞源于rxgk_verify_authenticator函数在计算解析器限制时发生了指针运算错误,导致处理特制的RESPONSE authenticator时可能读取超出分配缓冲区的内存。未经认证的攻击者可通过发送恶意网络数据包利用此漏洞,造成内核崩溃或敏感信息泄露。
漏洞位于net/rxrpc/rxgk.c文件的rxgk_verify_authenticator函数中。该函数首先复制auth_len字节的数据到临时缓冲区,随后将p + auth_len作为解析器极限传递给rxgk_do_verify_authenticator函数。关键问题在于p被定义为__be32 *类型,因此指针运算p + auth_len实际上使指针向前移动了auth_len * 4个字节,而非预期的auth_len字节。这种计算错误导致解析器的结束指针远超实际分配的kmalloc缓冲区边界。当接收到格式错误的RESPONSE authenticator时,内核会读取越界数据,触发KASAN(Kernel Address SANitizer)slab-out-of-bounds报错,可能导致系统崩溃(DoS)或内存信息泄露。