Featured image of post GitHub Actions安全漏洞:GITHUB_TOKEN部分泄露风险分析

GitHub Actions安全漏洞:GITHUB_TOKEN部分泄露风险分析

本文详细分析了canonical/get-workflow-version-action中存在的安全漏洞CVE-2025-31479,该漏洞可能导致GITHUB_TOKEN在异常输出中部分泄露,涉及GitHub Actions工作流的安全风险和修复方案。

CVE-2025-31479:canonical/get-workflow-version-action可能泄露部分GITHUB_TOKEN

漏洞详情

包名: 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显示在日志中与作业完成之间的时间段内存在攻击机会。通常这不到一秒钟,但如果在get-workflow-version-action步骤中使用continue-on-error,或者在同一个作业的后续步骤中使用状态检查功能,则时间可能更长。

潜在风险

如果使用泄露的GITHUB_TOKEN执行了攻击(如上所述),用户仓库可能仍会受到影响——例如,复杂的攻击可能使用GITHUB_TOKEN向仓库推送某些内容。

攻击的潜在影响取决于任何泄露的GITHUB_TOKEN的权限。然而,在非常复杂的攻击中,即使具有只读权限的GITHUB_TOKEN也可能影响同一仓库中的其他GitHub Actions(如果这些操作使用Actions缓存)。

修复建议

  • 将github-token传递给github-token输入的用户应更新到v1.0.1
  • 任何在使用v1.0.0时部分泄露的密钥应该已经被撤销,因为GITHUB_TOKEN在作业完成时自动撤销
  • 如果任何用户在github-token输入中使用了长期有效的密钥(例如个人访问令牌)而不是GITHUB_TOKEN,应立即撤销该密钥

参考链接

安全指标

严重等级: 高
CVSS评分: 8.2
弱点类型: CWE-532 - 敏感信息插入日志文件

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