CVE-2025-30066 漏洞详情
摘要
一个供应链攻击入侵了 tj-actions/changed-files GitHub Action,影响了超过 23,000 个代码仓库。攻击者追溯性地修改了多个版本标签,使其指向一个恶意提交,导致 CI/CD 秘密在工作流日志中暴露。该漏洞在 2025年3月14日至3月15日期间存在,现已被修复。此漏洞存在未经授权访问敏感信息的重大风险。
此漏洞已在 v46.0.1 版本中修复。
详情
此次攻击涉及修改 tj-actions/changed-files GitHub Action 以执行恶意 Python 脚本。该脚本从 Runner Worker 进程内存中提取秘密,并将其打印在 GitHub Actions 日志中,使得在拥有公开工作流日志的仓库中这些秘密可被公开访问。
关键入侵指标 (IoC):
- 恶意提交:
0e58ed8671d6b60d0890c21b07f8835ace038e67 - 追溯更新的指向恶意提交的标签:
v1.0.0:0e58ed8671d6b60d0890c21b07f8835ace038e67v35.7.7-sec:0e58ed8671d6b60d0890c21b07f8835ace038e67v44.5.1:0e58ed8671d6b60d0890c21b07f8835ace038e67
恶意代码执行: 恶意脚本下载并执行了一个 Python 脚本,该脚本扫描内存以查找秘密,将其进行 base64 编码,然后记录在构建日志中:
|
|
该脚本针对 Runner Worker 进程,提取并外泄其内存内容。
概念验证 (PoC) 复现步骤:
- 创建一个使用
tj-actions/changed-filesaction 的 GitHub Actions 工作流:
|
|
- 运行该工作流并在 Actions 标签页中检查日志。
- 易受攻击的工作流可能在日志中显示秘密。
检测: 使用 Harden-Runner 分析网络流量,它可以检测到对以下地址的未授权出站请求:
gist.githubusercontent.com
实时复现日志:
🔗 Harden-Runner Insights
此攻击被 StepSecurity 检测到,当时异常检测标记了一个指向 gist.githubusercontent.com 的未授权出站网络调用。
漏洞持续时间 该漏洞在 2025年3月14日至3月15日期间活跃。
需采取的措施
-
审查你在 3月14日至3月15日期间执行的工作流:
- 检查
changed-files部分是否有意外输出。 - 使用以下命令解码可疑输出:
1echo 'xxx' | base64 -d | base64 -d - 如果输出包含敏感信息(例如令牌或秘密),请立即撤销并轮换这些秘密。
- 检查
-
更新引用受损提交的工作流:
- 如果你的工作流直接通过其 SHA 引用恶意提交,请立即更新它们以避免使用受感染的版本。
-
标签版本:
- 如果你正在使用带标签的版本(例如
v35,v44.5.1),则无需采取任何行动,因为这些标签已被更新,现在可以安全使用。
- 如果你正在使用带标签的版本(例如
-
轮换可能已暴露的秘密:
- 作为预防措施,轮换在此时间范围内可能已暴露的任何秘密,以确保工作流的持续安全性。
影响
- 漏洞类型: 供应链攻击,秘密暴露,信息泄露
- 受影响对象:
- 超过 23,000 个使用
tj-actions/changed-files的仓库。 - 拥有公开仓库的组织面临最高风险,因为它们的日志可能已经泄露。
- 超过 23,000 个使用
- 潜在后果:
- CI/CD 秘密被盗(API 密钥、云凭证、SSH 密钥)。
- 未经授权访问源代码、基础设施和生产环境。
- 公开仓库中的凭证泄露,可能引发进一步的供应链攻击。
参考链接
-
tj-actions/changed-files#2463
-
https://semgrep.dev/blog/2025/popular-github-action-tj-actionschanged-files-is-compromised
-
chains-project/maven-lockfile#1111
-
rackerlabs/genestack#903
-
espressif/arduino-esp32#11127
-
modal-labs/modal-examples#1100
-
tj-actions/changed-files#2464
-
https://www.wiz.io/blog/github-action-tj-actions-changed-files-supply-chain-attack-cve-2025-30066
-
https://www.sweet.security/blog/cve-2025-30066-tj-actions-supply-chain-attack
-
tj-actions/changed-files#2477
-
https://github.com/tj-actions/changed-files/releases/tag/v46.0.1
-
GHSA-mw4p-6x4p-x5m5
-
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2025-30066