CVE-2026-23332Linux内核intel_pstate驱动存在空指针解引用漏洞。当系统使用“nosmt”或“maxcpus”参数启动限制CPU数量时,用户通过写入no_turbo文件禁用Turbo功能会导致内核崩溃。该漏洞源于代码错误地遍历了离线CPU,访问了未初始化的all_cpu_data指针,从而引发系统异常和拒绝服务。
该漏洞位于Linux内核的cpufreq: intel_pstate驱动模块中。问题根源在于store_no_turbo函数处理Turbo禁用请求时的逻辑缺陷。当系统通过内核参数(如“nosmt”或“maxcpus”)启动并限制了在线CPU数量时,部分CPU处于离线状态。在更新最大频率的流程中,代码使用了for_each_possible_cpu()宏进行遍历,这导致迭代范围包含了所有可能但当前未上线的CPU。对于这些离线CPU,全局数组all_cpu_data[]中对应的指针为NULL。由于后续代码直接对该指针进行解引用操作(访问结构体成员),导致内核发生“Oops”错误(通常是页错误)。这会引发内核恐慌或崩溃,导致系统拒绝服务。攻击者仅需本地低权限即可执行触发操作。