CVE-2026-35373uutils coreutils中的ln工具存在逻辑错误,当使用目标目录形式(如ln SOURCE... DIRECTORY)时,程序会拒绝包含非UTF-8文件名的源路径。与GNU ln将文件名视为原始字节并正确创建链接不同,uutils实现强制执行UTF-8编码,导致无法stat文件并返回非零退出码。在处理Unix文件系统上有效的非UTF-8文件名的自动化脚本或系统任务环境中,这种差异会导致工具失败,从而造成针对特定操作的本地拒绝服务。
该漏洞的核心在于uutils coreutils对Unix文件系统中文件名编码的假设与实际情况不符。Unix文件系统允许文件名为任意字节序列,不强制要求UTF-8编码。然而,uutils的ln实现在处理'target-directory'模式时(即ln source... target_dir),在内部逻辑中错误地引入了UTF-8有效性检查。
当脚本或用户尝试链接包含非UTF-8字节(如0xFF)的文件时,程序在尝试获取文件状态(stat)前或过程中,会因为编码校验失败而抛出异常并退出。这不同于GNU ln的原始字节处理方式。攻击者若拥有本地低权限,可创建此类特殊文件名。一旦系统维护脚本(如日志轮转、备份任务)遍历并处理这些文件,ln命令将崩溃或报错退出,导致自动化任务中断,从而达成拒绝服务的目的。