CVE-2026-31614Linux内核SMB客户端模块在处理WSL扩展属性时存在边界检查错误。由于未正确计算结构体头部偏移量,导致解析时发生越界读取。该漏洞允许恶意SMB服务器利用此问题泄露最多8字节的内核堆内存,并干扰后续属性解析。
漏洞位于Linux内核的`smb: client`驱动中`check_wsl_eas()`函数。该函数使用`(u8 *)ea + nlen + 1 + vlen`作为边界检查的结束点,但实际读取EA名称和值的起始位置是`ea->ea_data`。由于`ea_data`相对于`ea`有`sizeof(struct smb2_file_full_ea_info)`即8字节的偏移,当EA数据位于响应缓冲区末尾附近时,原有的检查无法防止越界读取。攻击者可通过控制SMB服务器响应,触发内核读取iov缓冲区之外的内存,从而泄露内核堆数据并影响WSL xattr的解释逻辑。