CVE-2026-43168Linux内核中的Oracle集群文件系统(OCFS2)模块存在一处安全漏洞,涉及reflink操作期间的保留清理机制。此漏洞源于对先前补丁的不完整修复,导致在处理扩展属性(xattr)条目时出现清理逻辑错误。具体问题在于,当清理数组条目时,用于追踪数组位置的'last'指针未能正确移位,且当xh_count计数为1时,代码逻辑完全跳过了对第一个条目的清理操作。这种逻辑缺陷可能导致内核数据结构损坏、内存泄漏或系统崩溃,进而引发拒绝服务。
该漏洞位于Linux内核的fs/ocfs2/xattr.c文件中,核心在于处理reflink(文件去重/克隆)过程中对保留扩展属性(xattr)列表的维护逻辑。漏洞触发点在于处理xattr数组时的边界条件判断错误。首先,在删除数组中的一个条目后,代码未能更新'last'指针,导致后续循环可能访问无效内存区域或未能正确处理剩余条目。其次,代码中的条件判断逻辑存在缺陷,当扩展属性头中的计数(xh_count)为1时,循环逻辑无法进入清理分支,导致唯一的条目未被释放。攻击者需要具备本地低权限账户(PR:L),通过创建具有特定扩展属性的文件并触发reflink操作(如使用FICLONE ioctl),即可利用此漏洞。虽然攻击复杂度低(AC:L),但由于需要本地访问,攻击范围受限。成功利用将导致内核空指针解引用、内存破坏或死锁,从而造成系统可用性丧失(A:H)。