GitHub Actions 下载工件漏洞:路径穿越导致任意文件写入风险剖析

本文详细分析了GitHub Actions官方`actions/download-artifact`组件在v4.1.3之前版本中存在的路径穿越漏洞(CWE-22)。攻击者可构造特制工件,在下载提取时实现任意文件写入,影响系统机密性与完整性。文章涵盖影响版本、修复方案及CVSS评分等技术细节。

@actions/download-artifact 因工件提取存在任意文件写入漏洞 · GHSA-cxww-7g56-2vh6 · GitHub 安全公告数据库

漏洞详情

Dependabot 警报: 0

  • actions
  • actions/download-artifact (GitHub Actions)

受影响版本 >= 4.0.0, < 4.1.3

已修复版本 4.1.3

描述

影响 actions/download-artifact 在 4.1.3 之前的版本,在下载和提取包含路径穿越文件名的特制工件时,容易受到任意文件写入攻击。

补丁 升级到 4.1.3 或更高版本。或者使用指向最新安全版本的 v4 标签。

参考

CVE CVE-2024-42471

致谢 Google 的 Justin Taft

参考


joshmgross 于 2024年9月2日 发布到 actions/download-artifact

发布到 GitHub 安全公告数据库 2024年9月3日

已审核 2024年9月3日

最后更新 2025年1月22日


严重程度

CVSS 总体评分: 8.6 / 10

CVSS v4 基础指标

可利用性指标

  • 攻击向量: 网络
  • 攻击复杂度:
  • 攻击要求:
  • 所需权限:
  • 用户交互:

脆弱系统影响指标

  • 机密性:
  • 完整性:
  • 可用性:

后续系统影响指标

  • 机密性:
  • 完整性:
  • 可用性:

CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N


EPSS 分数


弱点

弱点: CWE-22

将路径名不当限制于受限目录(‘路径遍历’) 产品使用外部输入来构建一个路径名,该路径名旨在标识位于受限父目录下的文件或目录,但产品未能正确规范化路径名中的特殊元素,这些元素可能导致路径名解析到受限目录之外的位置。 在 MITRE 上了解更多。


CVE ID 无已知 CVE

GHSA ID GHSA-cxww-7g56-2vh6

源代码 actions/download-artifact

致谢

  • holmanb (分析师)

此公告已被编辑。 查看历史记录。

有什么可以贡献的吗? 为此漏洞建议改进。

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计