CVE-2026-31559Linux内核中的LoongArch架构组件存在一个空指针解引用漏洞。该漏洞源于kstrdup()函数缺少必要的NULL值检查,当系统在早期启动阶段尝试从设备树解析CPU模型信息时,如果内存分配失败,将导致内核崩溃。此外,修复代码还优化了设备树节点的查找方式,通过直接使用of_root变量避免了潜在的引用计数错误。此漏洞可能被本地低权限用户利用,造成拒绝服务攻击。
该漏洞位于Linux内核的LoongArch架构特定代码中。核心问题在于对`kstrdup()`函数返回值的处理不当。在系统早期启动阶段,内核尝试从设备树解析CPU模型信息时会调用`kstrdup()`进行内存分配。如果此时内存分配失败,函数返回NULL指针,而原代码未对此进行检查,直接使用该指针会导致空指针解引用,进而引发内核崩溃。此外,代码优化部分通过直接使用全局变量`of_root`替代`of_find_node_by_path("/")`,减少了引用计数的操作,降低了潜在的内存管理风险。由于漏洞发生在本地且需要低权限即可触发,攻击者可利用此漏洞造成系统拒绝服务,影响可用性。