CVE-2026-31781Linux内核drm/ioc32兼容层存在Spectre类推测执行漏洞。攻击者可利用本地低权限,通过用户可控指针作为函数指针表索引,触发越界推测执行。该漏洞可能导致内核信息泄露或系统可用性受损,建议及时升级内核版本。
该漏洞位于Linux内核的图形驱动(DRM)子系统中,具体涉及处理32位兼容IOCTL的路径。在`drm_compat_ioctl`函数中,代码将用户空间传入的命令号转换为数组索引,以此访问函数指针表。由于该操作未对CPU的推测执行进行限制,攻击者可以利用Spectre V1(边界检查绕过)攻击手段。攻击者通过训练分支预测器,诱使CPU在确认索引合法之前,就推测性地执行越界内存读取。虽然这种越界访问最终会被回滚,但会在CPU缓存中留下可观测的痕迹。结合侧信道攻击技术,攻击者可读取内核内存中的敏感数据。此外,如果推测执行的代码导致异常,还可能引发系统崩溃(DoS)。补丁通过引入`array_index_nospec()`,对索引进行掩码处理,确保即使在推测执行阶段,也无法访问数组边界之外的内存,从而有效缓解了该风险。