漏洞总结:cp TOCTOU 漏洞 (Issue #10017) 漏洞概述 存在一个经典的 TOCTOU(Time-of-check to Time-of-use)漏洞。该漏洞源于程序在决定源文件是否为符号链接时使用了 风格的元数据检查,但在后续打开文件路径时却未使用 标志。 攻击者可以通过在检查与打开之间并发替换源树中的常规文件为符号链接,导致 命令意外复制符号链接指向的目标文件内容。 影响范围 受影响组件: 触发条件: 1. 攻击者可以修改/重命名源路径下的条目。 2. 攻击者拥有比 进程更高的权限。 3. 目标路径对攻击者可读。 修复方案 状态:Open (未修复) 建议措施:在打开源文件路径时强制使用 标志,以防止跟随符号链接。 POC / 复现代码 前置条件:攻击者可修改/重命名源路径下的条目,且权限高于 进程,目标路径对攻击者可读。 复现步骤: 1. 创建一个源目录,攻击者拥有控制权,并设置一个目标路径。 2. 在源目录内部运行 命令,同时第二个进程反复在该路径名之间交换常规文件和符号链接。 3. 观察在元数据检查和打开操作之间发生交换时,目标路径中偶尔会出现符号链接目标的内容。 代码片段: