CVE-2025-71115CVE-2025-71115是Linux内核User Mode Linux(UML)子系统中的一个空指针引用漏洞,CVSS评分5.5,属于中等严重程度。该漏洞源于cpu_tasks数组的初始化时机不当,在启用KCOV(Kernel Coverage)功能时,某些初始化代码会调用带有覆盖率注解的函数(如memparse()),而check_kcov_mode()函数中的检查会因为current指针为NULL而导致系统崩溃。攻击者需要具备本地低权限访问即可触发此漏洞,成功利用可导致目标系统拒绝服务(DoS),造成可用性大幅下降。由于攻击向量为本地且需要特定的内核配置(KCOV启用),实际利用门槛相对较高,但仍建议及时应用安全更新。
该漏洞的核心问题在于Linux内核UML子系统中cpu_tasks[]数组的初始化顺序。在正常情况下,cpu_tasks[]数组的初始化在uml_finishsetup()函数中完成。然而,当内核启用KCOV代码覆盖率检测功能时,早期的初始化代码可能会调用memparse()等带有KCOV覆盖率注解的函数。这些函数内部会调用check_kcov_mode()来检查当前进程的KCOV模式,而该函数依赖current宏来获取当前任务结构。但由于cpu_tasks[]尚未初始化,current可能为NULL或处于未定义状态,导致空指针引用并引发内核崩溃。攻击者可通过本地低权限账户在启用KCOV的内核上触发此漏洞,无需任何用户交互即可造成系统崩溃。修复方案是将cpu_tasks[]数组改为静态初始化,确保在任何初始化代码执行前该数组就已存在并可用,从而避免空指针引用问题的发生。