GitHub Actions 安全漏洞:get-workflow-version-action 可能泄露部分 GITHUB_TOKEN

文章详细披露了GitHub Actions官方插件canonical/get-workflow-version-action的一个高危安全漏洞。该漏洞在步骤执行失败时,异常输出中可能包含部分未完全屏蔽的GITHUB_TOKEN,存在敏感信息泄露风险。

canonical/get-workflow-version-action 在异常输出中可能泄露部分 GITHUB_TOKEN · CVE-2025-31479 · GitHub 安全公告数据库

漏洞详情

软件包

  • actions: canonical/get-workflow-version-action (GitHub Actions)

受影响版本

< 1.0.1

已修复版本

1.0.1

描述

影响

使用了 github-token 输入的用户会受到影响。

如果 get-workflow-version-action 步骤执行失败,其异常输出中可能包含 GITHUB_TOKEN。如果完整的令牌包含在异常输出中,GitHub 会自动从 GitHub Actions 日志中屏蔽该密钥。然而,令牌可能会被截断——导致部分 GITHUB_TOKEN 以明文形式显示在 GitHub Actions 日志中。

任何对 GitHub 仓库有读取权限的人都可以查看 GitHub Actions 日志。对于公共仓库,任何人都可以查看 GitHub Actions 日志。

利用此漏洞的机会是有限的——GITHUB_TOKEN 会在作业完成时自动撤销。但是,在 GITHUB_TOKEN 显示在日志中和作业完成之间的这段时间内,存在攻击机会。通常这段时间少于一秒,但如果在该步骤中使用了 continue-on-error,或者在同一作业的后续步骤中使用了状态检查功能,则这段时间可能会更长。关于在 GITHUB_TOKEN 显示在日志中和作业完成之间进行攻击的示例,请参阅:https://www.praetorian.com/blog/codeqleaked-public-secrets-exposure-leads-to-supply-chain-attack-on-github-codeql/

对于向 github-token 输入传递了 GITHUB_TOKEN 的用户,请更新到 v1.0.1。在使用 v1.0.0 时可能被部分泄露的任何密钥应该已经被撤销,因为 GITHUB_TOKEN 会在作业完成时自动撤销。然而,在极少数情况下,如果在 GITHUB_TOKEN 被撤销之前(如上所述)利用它执行了攻击,用户的仓库可能仍会受到影响——例如,复杂的攻击可能已经使用该 GITHUB_TOKEN 向仓库推送了某些内容。

攻击的潜在影响取决于任何被泄露的 GITHUB_TOKEN 的权限。然而,在一次非常复杂的攻击中,即使是具有只读权限的 GITHUB_TOKEN,如果同一仓库中的其他 GitHub Actions 使用了 Actions 缓存,也可能影响它们。更多信息,请参阅 https://www.praetorian.com/blog/codeqleaked-public-secrets-exposure-leads-to-supply-chain-attack-on-github-codeql/ 的 “But Wait, There’s More” 部分以及 https://github.com/AdnaneKhan/Cacheract

如果有任何用户使用了长期有效的密钥(例如个人访问令牌)而非 GITHUB_TOKEN 作为 github-token 的输入,他们应立即撤销该密钥。get-workflow-version-action 的文档和示例都指示用户使用 GITHUB_TOKEN,因此用户不太可能使用长期有效的密钥代替 GITHUB_TOKEN

补丁

此问题已在 v1.0.1 中修复。同时,v1 标签也已更新以包含此修复。

参考资料

元数据

  • 发布者: carlcsaposs-canonical (发布于 canonical/get-workflow-version-action)
  • 发布日期: 2025年4月2日
  • 由国家漏洞数据库发布: 2025年4月2日
  • 发布到 GitHub 安全公告数据库: 2025年4月2日
  • 审核日期: 2025年4月2日
  • 最后更新日期: 2025年4月3日

严重程度

高危 - CVSS 总体评分: 8.2 / 10

CVSS v3 基础指标

  • 攻击向量: 网络
  • 攻击复杂度: 高
  • 所需权限: 低
  • 用户交互: 无
  • 范围: 已更改
  • 机密性影响: 无
  • 完整性影响: 高
  • 可用性影响: 高

CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:C/C:N/I:H/A:H

EPSS 分数

  • 分数: 0.047% (第14百分位数)
  • 说明: 此分数估计了该漏洞在未来30天内被利用的概率。数据由 FIRST 提供。

缺陷

  • 弱点: CWE-532 - 将敏感信息插入日志文件
  • 描述: 写入日志文件的信息可能具有敏感性,为攻击者提供有价值的指导或暴露敏感的用户信息。在 MITRE 上了解更多。

标识符

  • CVE ID: CVE-2025-31479
  • GHSA ID: GHSA-26wh-cc3r-w6pj

源代码

  • canonical/get-workflow-version-action

致谢

发现者: dannystaple

本公告已编辑。请查看历史记录。

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