CVE-2026-31641Linux内核RxRPC模块的`rxrpc_preparse_xdr_yfs_rxgk`函数存在整数溢出漏洞。在解析XDR token时,对长度值进行四舍五入操作未限制范围,导致特定大数值回绕为0。攻击者可利用此漏洞通过`add_key`系统调用触发堆缓冲区溢出,造成内核崩溃或权限提升。
漏洞发生在Linux内核的RxRPC子系统中。函数`rxrpc_preparse_xdr_yfs_rxgk`从XDR token读取密钥和票据长度(u32),并调用`round_up(x, 4)`进行对齐。若原始长度大于等于0xfffffffd,`round_up`计算结果将发生整数回绕变为0。内核随后基于0值进行内存分配和校验,但后续的`memcpy`操作仍使用原始的大长度值,导致向分配的小缓冲区写入约4GB数据。此漏洞可通过非特权用户的`add_key`调用触发,具有高机密性、完整性和可用性影响。