一个替代解决方案(作为Magento 2扩展),用于修复XXE漏洞CVE-2024-34102(又名Cosmic Sting)。如果您无法升级Magento或无法应用官方补丁,请尝试这个。
如果您不修复此漏洞,攻击者可能实现远程代码执行(RCE)。我们已观察到真实世界的攻击。
2.3.0 ~ 2.4.4-p8
2.4.5 ~ 2.4.5-p7
2.4.6 ~ 2.4.6-p5
2.4.7
CVE-2024-34102(又名Cosmic Sting)被确定为XXE漏洞,详细信息于2024年6月发布。通过利用此漏洞,攻击者可以读取服务器上的机密和重要配置文件。
通常,攻击者会提取env.php中的加密密钥。
在被入侵的大多数服务器上,我们观察到以下一种或多种情况:
如果您想知道“它究竟如何工作”,我们有非常详细的博客文章来分析和修复该漏洞。
攻击者可以使用窃取的加密密钥制作伪造的管理员令牌。利用伪造的管理员令牌,攻击者能够执行管理员级别的操作,例如创建伪造订单、修改CMS块以注入恶意Javascript等。
XXE现在就是RCE。
由于CVE-2024-34102允许读取服务器上的任意文件,攻击者现在可以将其与在glibc中发现的一个错误(CVE-2024-2961)组合,以在服务器上运行任何命令。我们经历的一个真实案例是多个后门被下载并安装。
该glibc错误存在于glibc版本 <= 2.3.9
glibc版本ldd --version | grep -i 'libc'
有3种可用方法:
注意:完成上述步骤后,您仍需修复“次生灾害”。
此步骤会使伪造的令牌失效,从而完全拒绝攻击者的WebAPI访问。
如果您不确定加密密钥是否已泄露,请执行此步骤。
某些Magento 2.4版本存在一个错误,需要先应用一个补丁才能执行密钥轮换。
glibc错误(强烈建议)将glibc更新到 >= 2.40 以修复CVE-2024-2961。
别忘了重启服务器。
此扩展
默认情况下,为性能考虑,日志记录是禁用的。要启用,请打开本地模块并将以下内容合并到etc/di.xml中。
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Wubinworks\CosmicStingPatch\Plugin\Framework\Webapi\ServiceInputProcessor">
<arguments>
<argument name="loggerConfig" xsi:type="array">
<item name="ip" xsi:type="array">
<item name="enabled" xsi:type="boolean">true</item>
</item>
</argument>
</arguments>
</type>
</config>
<magento_root>/var/log/wubinworks_cve-2024-34102.log
如果您获得不正确的IP,例如127.0.0.1、空字符串或CDN的IP,这意味着您的Web服务器、中间件和/或代理服务器设置不正确。不修复这些不正确的设置,就没有办法获得真实IP地址。
Magento 2.3 或 2.4
1.0.0和1.1.0版本仅支持PHP 8
1.2.0版本(重新设计)支持PHP 7和PHP 8
最新版本:
composer require wubinworks/module-cosmic-sting-patch
安装提示:
composer安装composer安装或直接安装到app/code如果您喜欢此扩展或它帮助了您,请★star☆此仓库。
您可能还喜欢:
Magento 2 针对 CVE-2022-24086, CVE-2022-24087 的补丁
Magento 2 增强 XML 安全
Magento 2 加密密钥管理 CLI
Magento 2 JWT 认证补丁