CVE-2025-71114CVE-2025-71114是Linux内核中VIA watchdog驱动的本地拒绝服务漏洞。该漏洞存在于drivers/watchdog/via_wdt.c文件中,源于allocate_resource()函数在分配MMIO内存区域时未正确设置资源名称。当资源未命名时,内核资源树在x86平台的/proc/iomem中会将该条目标记为<BAD>。在系统启动过程中,后续的资源查找和冲突检查无法正确处理这个无效条目,导致系统出现严重挂起。此漏洞为本地攻击,攻击者需要低权限即可触发,但影响的是系统启动阶段,可能导致设备无法正常启动。由于CVSS评分为5.5且可用性影响为高,该漏洞被评定为中危级别。建议相关用户及时更新内核补丁以修复此问题。
漏洞根源在于drivers/watchdog/via_wdt.c中的allocate_resource()调用。当通过allocate_resource()为看门狗控制寄存器预留MMIO区域时,代码未调用request_mem_region或设置适当的资源名称属性。这导致内核的resource树结构中产生一个名为<BAD>的无效条目。在x86架构系统中,/proc/iomem会显示此异常条目。系统在启动阶段进行资源分配和冲突检测时,由于无法正确解析这个未命名的资源条目,导致资源查找逻辑失败,进而引发内核恐慌或系统挂起。攻击者可通过加载via_wdt驱动模块或触发相关硬件初始化路径来利用此漏洞。修复方案是在allocate_resource()后为分配的资源设置正确的.name字段,或改用request_mem_region()进行内存区域申请,并确保资源名称被正确初始化。