CVE-2026-43187Linux内核XFS文件系统在处理扩展属性时存在高危漏洞。由于freemap更新逻辑存在缺陷,当扩展xattr条目数组时,可能出现大小下溢并遗留错误的freemap条目。后续的setxattr操作会触发freemap重叠,导致新的属性数据被错误地分配到条目数组之上。这可能导致文件系统数据丢失或损坏,影响系统数据的完整性和可用性。
该漏洞源于Linux内核XFS文件系统中关于扩展属性(xattr)叶节点freemap管理的逻辑错误。在`_leaf_add`函数中,当xattr条目数组扩展消耗空间时,末尾的小freemap可能发生大小下溢。原代码允许保留base非零但size为零的freemap条目。随着后续setxattr操作,这些条目的base会增加,最终与正常freemap条目重叠。关键缺陷在于freemap更新代码未正确处理从xattr条目中间开始的freemap,导致出现base相同但大小冲突的条目。这使得空闲空间查找算法失效,将新的namevalue条目分配在现有的条目数组顶部,造成内存覆盖和数据丢失。修复方案是将size为零的条目的base清零,并依赖块压缩机制重新生成freemap。