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

CVE-2026-35344 uutils coreutils dd截断错误抑制漏洞

披露日期: 2026-04-22

漏洞信息

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

相关标签

逻辑错误uutils coreutils数据损坏本地漏洞静默失败

漏洞概述

uutils coreutils中的dd工具存在一个逻辑漏洞,无条件抑制文件截断操作中的错误。该行为虽然是为了兼容GNU coreutils对/dev/null等特殊文件的处理,但也导致在磁盘已满或文件系统只读时,常规文件的截断失败被静默忽略。这会导致备份或迁移脚本产生静默数据损坏,工具报告成功但目标文件包含旧数据,严重影响数据完整性。

技术细节

漏洞位于uutils coreutils的dd实现中,具体是对文件截断函数的返回值处理不当。代码在Rust中直接调用了Result::ok()方法来处理截断操作结果。该方法会将Result中的Err(错误)转换为None并丢弃,从而不向调用者返回任何错误代码。当底层文件系统无法截断文件(例如由于ENOSPC磁盘空间不足或EROFS只读文件系统)时,系统调用会返回错误,但dd工具捕获到该错误后将其忽略,继续执行并最终返回退出码0。本地低权限攻击者可通过消耗磁盘空间或设置文件只读,触发该漏洞。这将导致依赖dd的备份或迁移脚本看似成功运行,实则未写入新数据,造成严重的静默数据完整性破坏。

攻击链分析

STEP 1
步骤1
攻击者获得本地低权限账户访问权限。
STEP 2
步骤2
攻击者制造磁盘空间不足(ENOSPC)的条件或修改目标文件权限为只读。
STEP 3
步骤3
管理员或系统自动运行使用uutils coreutils dd的备份或迁移脚本。
STEP 4
步骤4
dd尝试截断文件时遇到底层错误,但被Result::ok()忽略,返回退出码0。
STEP 5
步骤5
脚本认为操作成功,但实际数据未写入,造成静默数据损坏。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # PoC for CVE-2026-35344: Silent data corruption in uutils coreutils dd # This script demonstrates that dd might report success even when truncation fails. echo "Creating a dummy file..." touch /tmp/target_file echo "Setting file to read-only to trigger truncation failure..." chmod 000 /tmp/target_file echo "Attempting to truncate/write using uutils dd..." # Assuming 'dd' refers to the uutils version. If installed as 'uu-dd', change accordingly. dd if=/dev/zero of=/tmp/target_file bs=1M count=1 oflag=truncate 2>/dev/null if [ $? -eq 0 ]; then echo "POC Result: dd returned Success (0), but write likely failed." echo "The file size is: $(stat -c%s /tmp/target_file)" echo "This indicates the vulnerability is present (silent failure)." else echo "POC Result: dd returned Error." fi # Cleanup rm /tmp/target_file

影响范围

uutils coreutils (修复前版本)

防御指南

临时缓解措施
建议暂时切换回GNU coreutils的dd工具,或者在备份脚本中添加额外的文件完整性校验(如MD5/SHA校验)和文件大小检查,以确保数据确实已写入。

参考链接

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