CVE-2025-30066:tj-actions/changed-files供应链攻击分析
漏洞概述
tj-actions/changed-files在45.0.7及之前版本存在安全漏洞,允许远程攻击者通过读取Actions日志发现敏感密钥。该漏洞被评定为高风险级别(CVSS评分8.6),影响了超过23,000个代码仓库。
漏洞详情
受影响版本
- 受影响版本:<= 45.0.7
- 已修复版本:46.0.1
攻击机制
攻击者通过供应链攻击手段,回溯修改了多个版本标签指向恶意提交:
- 恶意提交SHA:0e58ed8671d6b60d0890c21b07f8835ace038e67
- 被修改的标签包括:v1.0.0、v35.7.7-sec、v44.5.1
恶意代码执行
攻击注入的恶意脚本会下载并执行Python脚本,扫描Runner Worker进程内存中的密钥,进行Base64编码后记录到工作流日志中:
|
|
漏洞检测与复现
复现步骤
- 创建使用受影响版本的工作流配置:
|
|
- 运行工作流并检查Actions日志中是否显示密钥信息
检测方法
- 使用Harden-Runner分析网络流量,检测到未经授权的出站请求:
gist.githubusercontent.com - StepSecurity的异常检测系统标记了此攻击行为
影响范围
受影响对象
- 使用tj-actions/changed-files的23,000多个代码仓库
- 拥有公开仓库的组织面临最高风险
潜在后果
- CI/CD密钥被盗(API密钥、云凭证、SSH密钥)
- 对源代码、基础设施和生产环境的未授权访问
- 公开仓库中的凭证泄露,可能导致进一步的供应链攻击
修复措施
立即行动要求
- 审查工作流:检查2025年3月14日至15日期间执行的工作流
- 检测异常输出:在changed-files部分查找意外输出
- 解码可疑内容:使用命令
echo 'xxx' | base64 -d | base64 -d
版本更新
- 直接引用恶意SHA的工作流:立即更新
- 使用标签版本的工作流:无需操作(标签已更新为安全版本)
密钥轮换
作为预防措施,轮换在此时间段内可能暴露的所有密钥
技术指标
CVSS v3基础指标
- 攻击向量:网络
- 攻击复杂度:低
- 所需权限:无
- 用户交互:无
- 范围:已更改
- 机密性影响:高
弱点分类
- CWE-506:嵌入式恶意代码
参考资源
包括NVD漏洞详情、GitHub问题跟踪、安全厂商分析报告以及CISA安全警报等权威信息来源。