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

CVE-2026-35375 uutils coreutils文件名损坏漏洞

披露日期: 2026-04-22

漏洞信息

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

相关标签

逻辑错误uutils coreutils文件名损坏CVE-2026-35375本地漏洞

漏洞概述

CVE-2026-35375 是 uutils coreutils 中 split 工具的一个逻辑错误漏洞。当提供非 UTF-8 前缀或后缀输入时,会导致输出文件名损坏。该实现在构建块文件名时使用了 to_string_lossy(),会自动将无效字节序列重写为 UTF-8 替换字符。这种行为与 GNU split 不同,后者保留了原始路径名字节。在使用非 UTF-8 编码的环境中,此漏洞会导致创建名称错误的文件,潜在地导致文件名冲突、自动化中断或输出数据误导。

技术细节

该漏洞的核心在于 uutils coreutils 中 split 命令对非 UTF-8 编码的处理方式不当。在 Rust 标准库中,字符串必须是有效的 UTF-8,当处理文件路径(本质上是字节序列)时,如果直接将 OsString 或字节切片转换为 String 并使用 to_string_lossy(),所有无效字节都会被替换为 U+FFFD。这使得两个不同的非 UTF-8 输入(例如包含字节 0x80 和 0x81)可能被转换为相同的文件名,导致文件覆盖(完整性影响)。攻击者可利用此特性,在本地环境通过构造特殊的输入参数,触发文件名冲突,进而导致关键数据被意外覆盖或备份脚本失效。尽管需要低权限且仅限本地攻击,但在多用户共享环境或自动化数据处理流水线中,其破坏性不容忽视。

攻击链分析

STEP 1
侦察
攻击者确认目标系统安装了受影响版本的 uutils coreutils,且系统中存在使用非 UTF-8 编码的场景或需求。
STEP 2
武器化
攻击者构造包含非 UTF-8 字节序列的特定前缀或后缀字符串,旨在触发 to_string_lossy() 的替换逻辑。
STEP 3
交付
攻击者在本地执行 split 命令,输入正常的源数据文件,并将构造的非 UTF-8 字符串作为参数传递。
STEP 4
利用
由于漏洞存在,split 工具将无效字节转换为替换字符,导致生成的文件名与预期不符,或与其他文件名发生冲突。
STEP 5
影响
导致数据完整性受损(文件覆盖误删)、自动化脚本失效或数据处理流程中断。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # PoC for CVE-2026-35375: uutils coreutils split filename corruption # This script demonstrates the filename collision issue using non-UTF-8 bytes. echo "[+] Creating dummy input file..." echo "Hello World" > input_data.txt echo "[+] Attempting to split with non-UTF-8 suffix (byte 0xFF)..." # In a vulnerable version of uutils split, this might replace 0xFF with � # potentially causing collisions if other invalid bytes map to the same replacement. # Note: Actual reproduction depends on the shell and locale settings. # Create a suffix with raw hex byte 0xFF SUFFIX=$(printf "\xff") # Run split (assuming 'split' is the uutils version) split -b 1 input_data.txt --additional-suffix="$SUFFIX" echo "[+] Listing generated files:" ls -l | grep "x" echo "[!] If filenames contain replacement characters (�) instead of raw bytes, the vulnerability is present." # Cleanup rm -f x* input_data.txt

影响范围

uutils coreutils < 0.8.0

防御指南

临时缓解措施
建议用户立即将 uutils coreutils 更新至修复了该问题的最新版本(0.8.0+)。在无法立即升级的情况下,应避免在 split 命令中使用非 ASCII 或非 UTF-8 字符作为文件名前缀或后缀,或者切换使用系统原生的 GNU coreutils 工具以确保文件名处理的正确性。

参考链接

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