CVE-2026-31484Linux内核io_uring模块存在越界读取漏洞。在处理IORING_SETUP_SQE_MIXED环形缓冲区时,__io_uring_show_fdinfo()函数的边界检查逻辑存在缺陷,导致在特定条件下读取数组边界外的内存,可能泄露敏感信息。
该漏洞源于Linux内核io_uring子系统中__io_uring_show_fdinfo()函数的数组边界检查逻辑错误。在使用IORING_SETUP_SQE_MIXED标志创建环形缓冲区时,允许混合使用64字节和128字节的SQE。当函数遍历挂起的SQE时,需要检测128字节SQE的后半部分是否越界。原有代码通过检查(++sq_head & sq_mask) == 0来判断回绕,但由于sq_head仅在处理128字节SQE时递增,导致在特定索引计算下,实际访问的数组索引sq_idx可能等于sq_mask(即数组末尾之后),从而触发越界读取。本地低权限攻击者可利用此漏洞读取内核敏感内存信息。