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

CVE-2026-35346 uutils coreutils数据损坏漏洞

披露日期: 2026-04-22

漏洞信息

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

相关标签

数据损坏uutils coreutils编码错误本地漏洞

漏洞概述

uutils coreutils项目中的comm实用工具存在数据损坏漏洞。该漏洞源于实现过程中使用了`String::from_utf8_lossy()`函数,导致所有输出行均执行有损的UTF-8转换。此机制会将无效的UTF-8字节序列替换为Unicode替换字符(U+FFFD),这与GNU comm处理原始字节并保留原始输入的标准行为存在显著差异。当该工具被用于比较二进制文件或采用非UTF-8遗留编码的文件时,将直接导致输出数据被静默损坏,从而破坏数据的完整性和准确性。

技术细节

该漏洞位于uutils coreutils的Rust实现代码中。在`comm`命令的底层逻辑里,开发者错误地使用了Rust标准库的`String::from_utf8_lossy()`方法来处理输入流。该函数在遇到非UTF-8字节序列(如二进制数据或GBK等编码)时,不会抛出异常或保留原样,而是强制将其转换为Unicode替换字符。这种有损转换导致原始数据的字节流不可逆地被修改。攻击向量为本地(AV:L),需要低权限(PR:L)即可触发。虽然此漏洞不直接影响机密性和可用性,但严重破坏了数据完整性(I:L)。攻击者可通过诱导受害者使用受影响版本的comm工具处理特定编码文件,实现数据的静默篡改。

攻击链分析

STEP 1
准备阶段
攻击者准备包含非UTF-8字节序列(如二进制数据或特定编码)的文件。
STEP 2
诱导执行
诱导具有本地低权限的用户或系统进程使用受影响的uutils coreutils中的comm工具处理这些文件。
STEP 3
数据损坏
comm工具在处理过程中将无效字节替换为U+FFFD,导致输出数据与原始数据不一致,造成静默的数据完整性破坏。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # PoC for CVE-2026-35346: uutils coreutils comm data corruption # Create two files with identical non-UTF-8 binary sequences echo -n "Valid Text\n\xff\xfe" > file1.txt echo -n "Valid Text\n\xff\xfe" > file2.txt echo "[+] Generated test files with binary content." # Run uutils comm (assuming 'comm' is the uutils version) # In a real scenario, ensure the path points to the vulnerable binary echo "[+] Running uutils comm..." comm file1.txt file2.txt > output_corrupted.txt echo "[+] Output hexdump (should show replacement chars if vulnerable):" xxd output_corrupted.txt # Compare with GNU comm behavior (which preserves bytes) echo "[+] For comparison, GNU comm preserves the raw bytes."

影响范围

uutils coreutils < 0.6.0

防御指南

临时缓解措施
建议用户立即将uutils coreutils升级到包含修复补丁的0.6.0版本。如果无法立即升级,应临时切换回使用GNU coreutils提供的comm命令,或者在处理数据前确保文件内容为有效的UTF-8编码,以防止数据被静默篡改。

参考链接

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