CVE-2026-31491Linux内核的RDMA/irdma模块存在整数溢出漏洞。当操作系统传入U32_MAX作为SQ/RQ/SRQ队列大小时,由于深度计算函数未进行充分的类型转换和边界检查,导致整数溢出及深度数值截断。这使得原本应失败的非法请求被错误地判定为成功,进而可能导致后续内存操作错误或系统崩溃。攻击者需具备本地低权限即可利用此漏洞,影响系统可用性。
该漏洞位于Linux内核的irdma驱动深度计算函数中。核心问题在于处理队列大小时使用了32位变量进行计算。当攻击者传入U32_MAX作为大小时,计算过程发生整数回绕溢出,结果被截断为较小的合法数值。由于原始代码未在边界检查前将变量提升为64位,错误的计算结果通过了限制检查,函数返回成功。这导致实际分配的缓冲区大小与预期不符,可能引发内核堆溢出或系统崩溃。修复方案是将计算过程强制转换为u64类型以防止溢出。