A brief technical analysis of the vulnerability
React应用程序基于组件模型构建。这意味着应用程序或框架的每个部分都应独立运行,并为其他组件提供清晰、简单的交互方法。虽然这种方法允许灵活的开发和功能添加,但可能需要用户下载大量数据,导致不同设备间的性能表现不一致。这正是React服务器组件旨在解决的问题。 该漏洞存在于RSC的服务器操作组件中。要触发漏洞功能,攻击者只需向服务器发送一个包含序列化数据负载的POST请求以供执行。该处理程序中允许不安全反序列化的部分功能如下图所示: 比较存在漏洞(左)和已修复(右)的函数
CVE-2025-55182 on Kaspersky honeypots
由于该漏洞利用起来相当简单,攻击者很快就将其加入了武器库。卡巴斯基蜜罐于12月5日记录到最初的利用尝试。到了12月8日星期一,尝试次数显著增加,并且持续上升。
针对卡巴斯基蜜罐的CVE-2025-55182攻击次数,按天统计(可下载)
攻击者首先会探测目标以确保其不是蜜罐:他们运行whoami命令,在bash中执行乘法运算,或计算随机字符串的MD5或Base64哈希值,以验证其代码能否在目标机器上执行。
在大多数情况下,他们随后会尝试使用wget或curl等命令行Web客户端下载恶意文件。此外,一些攻击者会投递一个基于PowerShell的Windows载荷,用于安装流行的门罗币挖矿软件XMRig。
CVE-2025-55182迅速被众多恶意软件活动武器化,从经典的Mirai/Gafgyt变种到加密货币矿工和RondoDox僵尸网络。感染系统后,RondoDox毫不拖延,其加载脚本立即开始清除竞争对手:
除了检查硬编码路径外,RondoDox还会禁用AppArmor和SELinux安全模块,并采用更复杂的方法来查找和终止那些ELF文件已被删除以进行伪装的进程。
只有在完成这些步骤后,脚本才会按顺序尝试三种不同的加载器:wget、curl和BusyBox的wget,来下载并执行主载荷。它还会遍历针对不同CPU架构的18种不同恶意软件构建版本,使其能够感染IoT设备和标准的x86_64 Linux服务器。
在一些攻击中,攻击者并非部署恶意软件,而是试图窃取Git和云环境的凭证。成功的入侵可能导致云基础设施被攻陷、软件供应链攻击以及其他严重后果。
Risk mitigation measures
我们强烈建议通过应用相应模块和捆绑包的开发人员发布的补丁来更新相关软件包。 存在漏洞的React服务器组件版本:
- react-server-dom-webpack (19.0.0, 19.1.0, 19.1.1, 19.2.0)
- react-server-dom-parcel (19.0.0, 19.1.0, 19.1.1, 19.2.0)
- react-server-dom-turbopack (19.0.0, 19.1.0, 19.1.1, 19.2.0)
确认使用React服务器组件的捆绑包和模块:
- next
- react-router
- waku
- @parcel/rsc
- @vitejs/plugin-rsc
- rwsdk
在部署补丁期间为防止漏洞被利用,请考虑拦截所有在参数或请求体中包含以下关键字的POST请求:
- #constructor
- #proto
- #prototype
- vm#runInThisContext
- vm#runInNewContext
- child_process#execSync
- child_process#execFileSync
- child_process#spawnSync
- module#_load
- module#createRequire
- fs#readFileSync
- fs#writeFileSync
- s#appendFileSync
Conclusion
由于易于利用且公开存在可用的PoC,威胁行为者迅速采用了CVE-2025-55182。攻击活动在近期很可能会持续增长。 我们建议立即将React更新到最新的已修复版本,扫描易受攻击的主机以查找恶意软件迹象,并更改其上存储的任何凭据。
Indicators of compromise
恶意软件URL
|
|
MD5哈希值
|
|