CVE-2025-30066:tj-actions/changed-files供应链攻击分析
漏洞概述
tj-actions/changed-files 在45.0.7及之前版本存在高危漏洞,允许远程攻击者通过读取Actions日志发现敏感机密信息。该漏洞已被评定为高危级别,CVSS评分为8.6。
受影响范围
受影响的版本
- 所有 <= 45.0.7 的版本
已修复版本
- 46.0.1
攻击详情
供应链攻击时间线
攻击发生在2025年3月14日至15日期间,攻击者通过篡改多个版本标签指向恶意提交,实施了供应链攻击:
恶意提交哈希: 0e58ed8671d6b60d0890c21b07f8835ace038e67
被篡改的版本标签:
- v1.0.0
- v35.7.7-sec
- v44.5.1
恶意代码执行机制
攻击脚本通过下载并执行Python脚本从Runner Worker进程内存中提取机密信息:
|
|
该脚本扫描内存中的机密信息,进行base64编码后记录到构建日志中。
漏洞检测
重现步骤
- 创建使用受影响版本的GitHub Actions工作流:
|
|
- 运行工作流并检查Actions标签页中的日志
- 受影响的工组流可能在日志中显示机密信息
网络流量检测
使用Harden-Runner分析网络流量,检测到未经授权的出站请求:
gist.githubusercontent.com
应急响应措施
立即行动要求
-
审查受影响期间的工作流
- 检查在2025年3月14-15日期间执行的工作流
- 检查changed-files部分是否有异常输出
- 使用以下命令解码可疑输出:
1echo 'xxx' | base64 -d | base64 -d
-
更新工作流引用
- 如果工作流直接引用了恶意提交SHA,请立即更新
- 使用标签版本的用户无需操作,相关标签已被更新
-
轮换可能暴露的机密
- 作为预防措施,轮换在此期间可能暴露的所有机密信息
影响评估
漏洞类型
- 供应链攻击
- 机密信息暴露
- 信息泄露
受影响用户
- 超过23,000个使用tj-actions/changed-files的代码仓库
- 拥有公共仓库的组织面临最高风险
潜在后果
- CI/CD机密信息被盗(API密钥、云凭证、SSH密钥)
- 对源代码、基础设施和生产环境的未授权访问
- 公共仓库中的凭证泄露,可能导致进一步的供应链攻击