CVE-2026-35350uutils coreutils 的 cp 工具在处理文件权限时存在逻辑漏洞。在使用 -p 参数尝试保留文件属性时,若更改文件所有者的操作失败,该工具仍会错误地保留源文件的 setuid 和 setgid 权限位。这种行为可能导致用户拥有的文件意外获得执行特权,从而违反本地安全策略,造成潜在的安全风险。
该漏洞源于 uutils coreutils 中 `cp` 命令的权限处理逻辑与 GNU coreutils 不一致。当使用 `cp -p` 命令复制文件时,程序会尝试保留源文件的所有者和模式位。在标准行为中(如 GNU cp),如果当前用户没有权限更改文件所有者(即 chown 操作失败),为了防止权限提升,应当清除文件的 setuid 和 setgid 位。然而,uutils 的实现在 chown 失败的情况下,仍然强制应用源文件的模式位。这意味着,如果普通用户复制了一个属于 root 且设置了 setuid 位的文件,虽然所有权更改会被拒绝,但生成的文件仍将保留 setuid 位并由该用户所有。尽管这通常不会直接提升至 root 权限(除非针对特定用户),但它创建了不符合安全规范的特权可执行文件,破坏了系统的安全模型,可能被用于绕过某些基于文件属性的检测或与其他漏洞组合利用。