CVE-2026-35339uutils coreutils的chmod工具在递归模式下存在逻辑漏洞。处理多个文件时,最终退出码仅取决于最后一个文件的结果,忽略之前的错误。这导致即使部分文件修改失败,命令仍返回成功。依赖退出码的脚本会误判操作成功,敏感文件权限可能未被正确修改,存在安全风险。
该漏洞源于uutils coreutils中chmod工具递归模式(-R)下的状态处理逻辑缺陷。当chmod遍历文件系统并修改权限时,程序在内部循环中逐个处理文件。在受影响的版本中,循环逻辑存在错误,每次迭代都会用当前文件的操作结果覆盖之前的错误状态。最终,只有最后一个文件的处理状态被保留并作为整个命令的返回值。攻击者若拥有本地低权限账户,可利用此缺陷干扰依赖退出码的系统管理脚本。例如,若初始化脚本试图通过chmod -R放宽敏感目录权限,攻击者可在目录中设置一个受保护的文件(如通过chattr锁定),并确保普通文件位于列表末尾。脚本运行时,chmod处理受保护文件失败,但处理最后一个普通文件成功,最终返回退出码0。这导致脚本误以为所有文件权限均已正确设置,从而绕过了旨在确保文件系统完整性的关键安全检查,维持了不安全的权限配置。