CVE-2026-31618CVE-2026-31618是Linux内核中fbdev子系统(具体为tdfxfb驱动程序)的一个安全漏洞。该漏洞源于在处理FBIOPUT_VSCREENINFO ioctl调用时存在除零错误。当本地低权限用户通过该接口传递特定的像素时钟值(通常为零)时,驱动程序会在未进行验证的情况下执行除法操作,导致系统崩溃。此漏洞的CVSS评分为5.5,属于中危级别,主要影响系统的可用性。
该漏洞位于Linux内核的`tdfxfb`驱动程序中,具体表现为在处理`FBIOPUT_VSCREENINFO` ioctl命令时未对关键参数进行校验。当用户空间程序调用该ioctl设置屏幕参数时,驱动程序会从用户传入的`fb_var_screeninfo`结构体中读取`pixclock`(像素时钟)字段。代码随后直接使用该值作为除数进行运算,以计算显示时序参数。如果攻击者将`pixclock`设置为0,内核在执行除法指令时会触发除零异常,导致内核错误,进而引发系统崩溃或拒绝服务。由于攻击向量为本地且无需特殊权限,普通用户即可利用此漏洞造成系统不稳定。修复方案参考了此前针对`pm2fb`和`udlfb`驱动的补丁,在除法运算前增加了对`pixclock`是否为0的检查。