SteamCMD GitHub Action 严重漏洞:认证令牌泄露风险

RageAgainstThePixel/setup-steamcmd 认证令牌泄露漏洞 (GHSA-c5qx-p38x-qf5w)

漏洞概述

严重程度:高危
受影响版本:< 1.3.0
已修复版本:1.3.0
CVSS v4 评分:8.7(高分)

漏洞详情

摘要

作业后处理操作(post job action)会打印 config/config.vdf 文件的内容,该文件保存了已认证的 Steam 令牌。这个令牌可以被用于在其他机器上登录账户。因此,任何公开使用此 Action 的操作都会使关联 Steam 账户的认证令牌暴露在公开日志中。

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

漏洞原理分析

该漏洞属于 CWE-532:敏感信息写入日志文件 类型。具体技术细节如下:

  1. 触发时机:GitHub Actions 工作流执行完成后,post-job 钩子被触发
  2. 问题代码:Action 在作业结束时直接输出 config/config.vdf 文件内容到标准输出
  3. 令牌用途:该 VDF 文件中的认证令牌相当于会话凭证,攻击者可直接用于模拟合法用户登录 Steam
  4. 攻击向量:攻击者可通过网络访问 GitHub Actions 的作业运行日志,无需任何认证或特殊权限即可获取令牌

漏洞复现(PoC)

任何使用以下工作流配置的仓库都会受到影响:

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

影响范围

任何使用此 GitHub Action 并关联 Steam 账户的用户均受到影响。特别是公开仓库用户风险最高,因为:

  • 任何拥有 GitHub 账户的人都可以访问这些日志
  • 令牌一旦泄露,攻击者可获取账户完整控制权
  • 令牌有效期内可持续进行未授权访问

技术指标

CVSS v4 评分详情

攻击向量(AV):网络(Network)
攻击复杂度(AC):低(Low)
攻击需求(AT):无(None)
所需权限(PR):无(None)
用户交互(UI):无(None)

受影响系统影响

  • 机密性(VC):高(High)
  • 完整性(VI):无(None)
  • 可用性(VA):无(None)

修复建议

  1. 立即升级:将 setup-steamcmd 升级至 v1.3.0 或更高版本
  2. 令牌轮换:立即更换所有可能泄露的 Steam 认证令牌
  3. 审查日志:检查历史 CI/CD 日志,确认是否存在令牌泄露
  4. 私有仓库考虑:敏感操作建议在私有仓库中执行

参考资料

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容