SteamCMD GitHub Action 泄漏认证令牌漏洞分析

本文详细分析了一个在GitHub Actions工作流中使用的`buildalon/setup-steamcmd`动作存在的安全漏洞。该漏洞导致Steam账户的认证令牌被明文记录在公开的作业日志中,造成高严重性的信息泄露风险,尤其对公开仓库影响巨大。

buildalon/setup-steamcmd 在工作输出日志中泄漏认证令牌

漏洞编号: GHSA-mj96-mh85-r574

严重等级: 高 (CVSS 评分 8.7)

漏洞状态: 已由 GitHub 审核

发布日期: 2025年7月19日

受影响仓库: buildalon/setup-steamcmd (GitHub Actions)

受影响版本: < 1.1.0

已修复版本: 1.1.0

漏洞详情

摘要

buildalon/setup-steamcmd 这个 GitHub Actions 的操作(action)存在一个安全漏洞,会导致认证令牌(authentication token)被包含在工作日志的输出中。这个令牌拥有对关联 Steam 账户的完全访问权限。

详细描述

该操作的“作业后”(post job)操作会打印 config/config.vdf 文件的内容,而这个文件保存了已登录用户的认证令牌。任何能够访问作业日志的人都可以使用此令牌在另一台机器上登录该 Steam 账户。这意味着任何公开使用此操作的工作流,都会使关联 Steam 账户的认证令牌公开可用。

此外,userdata/$user_id$/config/localconfig.vdf 文件同样包含潜在敏感信息,这些信息也不应出现在公开日志中。

漏洞复现步骤

使用以下工作流步骤即可触发此漏洞:

1
2
3
4
5
6
7
8
steps:
      - name: Setup SteamCMD
        uses: buildalon/setup-steamcmd@v1.0.4

      - name: Sign into steam
        shell: bash
        run: |
          steamcmd +login ${{ secrets.WORKSHOP_USERNAME }} ${{ secrets.WORKSHOP_PASSWORD }} +quit

影响

任何使用此工作流操作并登录了 Steam 账户的用户都会受到影响,有效的认证令牌已在其作业日志中泄露。这对于公开仓库尤其严重,因为任何拥有 GitHub 账户的人都可以访问日志并查看令牌。

参考资料

安全技术指标 (CVSS v4.0)

总体评分: 8.7 (高危)

CVSS v4.0 向量字符串: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

基本指标:

  • 攻击向量 (AV): 网络 (Network)
  • 攻击复杂度 (AC): 低 (Low)
  • 攻击要求 (AT): 无 (None)
  • 所需权限 (PR): 无 (None)
  • 用户交互 (UI): 无 (None)
  • 受影响系统的机密性影响 (VC): 高 (High)
  • 受影响系统的完整性影响 (VI): 无 (None)
  • 受影响系统的可用性影响 (VA): 无 (None)

弱点分类 (CWE)

  • CWE-532: 将敏感信息插入日志文件
    • 该产品将敏感信息写入日志文件。

时间线与贡献者

  • 报告者: BrknRobot
  • 维护者发布: StephenHodgson 于 2025年7月19日发布至 buildalon/setup-steamcmd 仓库。
  • 发布至 GitHub 安全通告数据库: 2025年7月21日
  • 审核日期: 2025年7月21日
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计