CVE-2026-35354uutils coreutils中的mv实用程序在执行跨设备移动操作期间存在Time-of-Check to Time-of-Use (TOCTOU)漏洞。该漏洞源于扩展属性保留逻辑使用了多个基于路径的系统调用,且每次操作都执行新的路径到inode查找。拥有目录写入权限的本地攻击者可利用此竞态条件在调用之间交换文件,导致目标文件接收到不一致的安全扩展属性,例如SELinux标签或文件能力,从而破坏系统完整性。
该漏洞属于典型的TOCTOU(检查时与使用时)竞态条件漏洞。在uutils coreutils的mv工具执行跨设备文件移动时,为了保留文件的扩展属性,代码逻辑需要分别复制源文件和目标文件的属性。该过程依赖于基于文件路径的系统调用,而不是基于文件描述符的操作。由于每次系统调用都会重新进行路径到inode的解析,这为攻击者提供了时间窗口。攻击者如果拥有对源或目标目录的写入权限,可以在mv工具检查路径属性和实际设置属性之间的极短时间间隙内,快速交换文件(例如通过重命名或符号链接替换)。这种交换会导致mv工具将原本属于源文件的安全属性(如SELinux上下文或setuid/setgid位等文件能力)错误地应用到攻击者控制的文件上,或者导致属性混合。虽然机密性未受影响,但完整性受到严重破坏,攻击者可能借此提升权限或绕过安全策略。