Adobe Commerce 中的严重漏洞 (CVE-2024-34102) 赏金$9000
字数 1304 2025-08-20 18:18:23
Adobe Commerce (Magento) 严重漏洞分析:CVE-2024-34102 与 CVE-2024-2961 (CosmicSting)
漏洞概述
CosmicSting 是由两个关键漏洞组成的组合攻击链:
- CVE-2024-34102 - 目录遍历漏洞(严重性评分9.1)
- CVE-2024-2961 - 服务器端模板注入(SSTI)漏洞(严重性评分8.8)
这两个漏洞结合使用可实现远程代码执行(RCE),影响Adobe Commerce (Magento) 2.4.6及更早版本,赏金高达$9000。
技术细节
CVE-2024-34102: 目录遍历漏洞
漏洞位置:vendor/magento/framework/Archive/Helper/File.php中的getRealPath()方法
漏洞代码:
protected function getRealPath($filePath)
{
$filePath = str_replace('\\', '/', $filePath);
$filePath = $this->removeSignificantTrailingSlash($filePath);
// 漏洞点:未正确验证路径
$realPath = realpath($filePath);
return $realPath ?: $filePath;
}
利用条件:
- 攻击者可以控制文件路径参数
- 系统未正确限制对敏感目录的访问
影响:
- 读取任意文件(包括配置文件、数据库凭证等)
- 为后续SSTI攻击提供必要信息
CVE-2024-2961: SSTI漏洞
漏洞位置:模板渲染过程中的eval()调用
利用前提:
- 通过CVE-2024-34102获取
env.php配置文件 - 从中提取加密密钥和数据库凭证
攻击流程:
- 构造恶意模板注入payload
- 通过特定API端点触发模板渲染
- 系统在渲染过程中执行恶意代码
示例payload:
{{7*7}} // 测试用简单payload
{{self.__init__.__globals__.__builtins__.__import__('os').popen('id').read()}} // RCE payload
利用步骤
阶段1:信息收集
- 使用CVE-2024-34102读取
app/etc/env.php:GET /path/to/vulnerable/endpoint?file=../../../../app/etc/env.php - 从配置文件中提取:
- 加密密钥
- 数据库凭证
- 系统路径信息
阶段2:SSTI利用
- 构造包含恶意代码的模板
- 通过以下方式之一触发渲染:
- 特定API调用
- 管理员功能滥用
- 缓存机制操纵
阶段3:建立持久化访问
- 上传Web shell
- 创建后门账户
- 修改系统配置
影响范围
受影响版本:
- Adobe Commerce (Magento) 2.4.6及更早版本
- Magento Open Source 2.4.6及更早版本
潜在影响:
- 完全接管电子商务网站
- 客户数据泄露(PII、支付信息)
- 供应链攻击(修改产品信息、价格)
缓解措施
临时解决方案
- 限制对敏感端点的访问
- 实施严格的输入验证
- 监控可疑的文件读取尝试
永久修复
Adobe已发布安全补丁,建议用户立即升级至:
- Adobe Commerce 2.4.7或更高版本
- Magento Open Source 2.4.7或更高版本
检测方法
日志检查
- 查找异常的
env.php读取请求 - 监控模板渲染过程中的异常行为
文件系统检查
- 验证
vendor/magento/framework/Archive/Helper/File.php的修改时间 - 检查是否有未知模板文件
参考链接
漏洞赏金信息
- 组合漏洞赏金:$9000
- 报告平台:Adobe Bug Bounty Program
- 严重性等级:Critical