CVE-2026-31603Linux内核中的staging sm750fb驱动程序存在一个除以零漏洞。该漏洞源于`ps_to_hz()`函数在`hw_sm750_crtc_set_mode()`调用时未验证`pixclock`参数是否为零。攻击者可以通过`FBIOPUT_VSCREENINFO`系统调用传递零值`pixclock`触发该漏洞,导致内核崩溃及系统拒绝服务。
该漏洞存在于Linux内核的staging/sm750fb驱动程序中,具体涉及函数`ps_to_hz()`的调用逻辑。在设置CRT控制器模式时,`hw_sm750_crtc_set_mode()`函数会调用`ps_to_hz()`,该函数内部执行除法运算以将像素时钟周期转换为频率(通常是常数除以pixclock)。然而,代码逻辑中缺少了对输入参数`pixclock`的非零校验。攻击者可以通过用户空间的ioctl系统调用接口`FBIOPUT_VSCREENINFO`,传递一个`pixclock`字段为0的`fb_var_screeninfo`结构体。当该请求传递到内核空间并执行上述除法运算时,会触发除以零异常。在内核上下文中,这种异常通常会导致内核恐慌(Kernel Panic),致使系统重启或死机,从而造成拒绝服务。此漏洞利用门槛较低,仅需本地低权限用户即可触发。