CVE-2026-43401Linux内核中的intel_pstate驱动程序存在安全漏洞,涉及空指针解引用。该问题发生在系统使用'nosmt'参数启动的情况下,此时同步多线程(SMT)兄弟线程的all_cpu_data[cpu]值为NULL。update_cpu_qos_request()函数在验证policy的有效性之前,尝试通过cpudata指针访问pstate.turbo_freq以初始化freq变量。由于指针为NULL,该操作将导致内核崩溃,造成拒绝服务。
该漏洞源于Linux内核电源管理子系统中intel_pstate驱动的逻辑缺陷。具体而言,update_cpu_qos_request()函数在执行流程中存在顺序错误:它过早地解引用cpudata指针以获取turbo_freq值,而此时并未确保cpudata指针非空。当系统以'nosmt'(禁用多线程)参数启动时,对于逻辑上的SMT兄弟CPU核心,内核并未为其分配相应的cpu数据结构,导致all_cpu_data数组中的对应指针为NULL。一旦内核尝试通过该空指针调用update_qos_requests(),就会触发空指针解引用异常。此外,描述中提到intel_pstate_get_hwp_cap()可能会更新pstate.turbo_freq,因此修复方案是将freq的赋值操作推迟到策略和驱动数据验证之后。本地低权限攻击者若能触发相关的电源管理调用,可利用此漏洞导致系统崩溃。