CVE-2025-71118CVE-2025-71118是Linux kernel中ACPICA(Advanced Configuration and Power Interface Component Architecture)组件的一个空指针解引用漏洞。该漏洞存在于acpi_ns_get_next_node()函数中,当start_node参数为NULL时,代码尝试访问parent_node成员导致空指针解引用。攻击者可通过构造恶意的DSDT( Differentiated System Description Table)表触发此漏洞。虽然此前commit 0c9992315e73已尝试修复start_node和acpi_gbl_root_node都为NULL的情况,但未能完全解决问题。该漏洞已在Linux kernel mainline稳定版中修复,影响使用ACPICA固件接口的Linux系统,尤其是Honor Magicbook 14 Pro设备因使用有缺陷的DSDT表而受影响。
漏洞根源在于ACPICA的命名空间遍历逻辑。在acpi_ns_get_next_node()函数中,代码首先检查start_node是否为NULL,但如果start_node为NULL且不等于ACPI_ROOT_OBJECT时,代码仍会尝试访问parent_node->parent成员,导致空指针解引用。问题出在DSDT表解析过程中,当ACPI命名空间未正确初始化或DSDT表包含异常数据时,start_node可能为NULL但未被正确处理。修复方案是将start_node的NULL检查移到if语句块外部,确保在任何情况下都不会对NULL指针进行解引用操作。受影响的设备包括使用有缺陷DSDT表的Honor Magicbook 14 Pro (BIOS 1.13 05/08/2025),攻击者需要本地访问权限且无需用户交互即可触发漏洞。