已关闭
security: release download 存在 symlink TOCTOU 竞态条件 #364
aflyingto创建于  6月27日关闭于  6月27日
aflyingto成员
6月27日 创建

发现来源

Agent 2 - 安全审查 (Low)

位置

pkg/cmd/release/download/download.go:208-215

证据

os.Lstat 检查 symlink 后,攻击者在 os.Create 执行前将路径替换为 symlink,即可将下载内容写入任意文件。safeOutputPath 已做了路径遍历防护,但此 TOCTOU 是最后一道防线上的缺口。

影响评估

利用条件苛刻(需本地文件系统写入权限 + 精确时间窗口),但在多用户共享系统中可行。

建议修复方向

使用 os.OpenFile 配合 O_NOFOLLOW(Linux)或先创建临时文件再 os.Rename(原子操作)。


🤖 Generated by daily multi-agent code review workflow

likedislike
Aaflyingto成员
6月27日 添加了label:risk/lowscope/release, status/triage,type/security
aflyingto成员
6月27日 评论:

已修复: 使用 os.CreateTemp + os.Rename 原子写入,消除 Lstat→Create TOCTOU 窗口。

likedislike
Aaflyingto成员
6月27日 关闭了 issue