CVE-2026-23251CVE-2026-23251是Linux内核中XFS文件系统驱动的一个中等严重性安全漏洞。该漏洞存在于xfarray和xfblob数据结构的销毁逻辑中,攻击者可以通过构造特定的文件系统操作触发空指针解引用或使用后释放条件,导致系统崩溃(拒绝服务)。由于CVSS评分5.5且攻击向量为本地攻击,低权限攻击者即可利用此漏洞在受影响系统上造成可用性中断。漏洞影响Linux内核6.9至6.10版本之间合并的多个提交,修复措施包括在调用析构函数前验证指针有效性,并在销毁后将指针置空以防止二次释放。此漏洞主要影响服务器和桌面Linux系统,特别是那些大量使用XFS文件系统的环境。
该漏洞根源于Linux内核XFS文件系统驱动中xfarray和xfblob数据结构的内存管理缺陷。在原始代码中,xfarray_destroy和xfblob_destroy函数的调用缺乏对指针有效性的充分检查,可能导致在以下两种场景下触发安全问题:1)空指针解引用:当结构体指针未正确初始化或已被释放时,调用析构函数会导致内核崩溃;2)使用后释放(UAF):指针被释放后未置空,可能被后续代码再次引用。攻击者需要具备本地低权限访问,通过创建特制的XFS文件系统镜像或触发特定文件系统操作(如目录遍历、属性修改等)来触发漏洞。成功利用可导致内核panic,造成系统拒绝服务。修复方案采用防御性编程模式:首先检查指针是否为NULL,只有在指针有效时才调用对应的析构函数,并在调用后将指针显式置为NULL,确保即使代码路径再次经过此处也不会触发双重释放。