Wallarm 拦截远程代码执行漏洞利用:为脆弱的React服务端组件工作流提供防御
2025年12月4日
2分钟阅读
2025年12月3日,React维护者披露了React服务端组件(RSC)中存在的一个严重的未认证远程代码执行(RCE)漏洞,该漏洞被追踪为CVE-2025-55182。可用的概念验证代码(PoC)被公开,Wallarm立即开始观察到客户环境中广泛的漏洞利用尝试。
什么是CVE-2025-55182?
CVE-2025-55182是一个未认证远程代码执行(RCE)漏洞,CVSS评分为10.0,并且已在野外被积极利用。更多细节可参考此安全公告。该问题影响了React的服务器端实现,例如react-server-dom-webpack和react-server-dom-parcel(版本19.0.0、19.1.x、19.2.0)。
该漏洞源于RSC操作元数据反序列化期间不安全的导出解析,具体表现为返回moduleExports[metadata[2]]时未进行属性或原型安全检查。
公开的PoC表明,攻击者可以制作恶意的RSC操作载荷,直接通过vm.runInThisContext(...)导致任意代码执行。
什么是CVE-2025-66478?
除了影响React的CVE-2025-55182外,该问题也影响了Next.js部署,被追踪为CVE-2025-66478。根据公开报告,RSC反序列化中的相同底层缺陷在Next.js使用其启用RSC的组件或通过React的server-dom包进行服务器端渲染时也会产生影响。
换句话说:CVE-2025-66478并非一个独立的新漏洞,它与CVE-2025-55182是同一个RSC反序列化漏洞,只是通过Next.js表现出来。因此,使用RSC的Next.js应用程序应被视为易受攻击,必须应用相同的补丁或缓解措施。
影响是什么?
成功利用该漏洞允许攻击者:
- 实现对运行React应用程序的服务器的完全远程代码执行。
- 读取和写入文件,使攻击者能够升级其入侵、维持访问权限、部署额外工具或发起进一步攻击。
- 根据环境权限,可能完全控制受影响的服务器。
由于该漏洞利用无需认证、极易武器化且已公开流传,风险严重且紧迫。
Wallarm如何防范这些漏洞?
Wallarm已经为CVE-2025-55182相关的漏洞利用尝试提供了完整的开箱即用防护。
具体来说,Wallarm在漏洞披露后不久就开始检测并阻断最早的漏洞利用尝试。为了加强覆盖,Wallarm还部署了额外的检测规则,旨在识别利用此漏洞中被滥用的不安全服务器端执行路径的尝试。这些规则侧重于捕捉攻击者试图执行的以下特征行为:
- 触发服务器端评估或沙箱逃逸
- 执行任意系统命令
- 生成新进程或调用系统工具
- 在服务器上读取或写入敏感文件
- 利用工具函数来升级其操作或链接操作
换句话说,增强的保护措施旨在检测与攻击者如何滥用易受攻击的RSC反序列化流程以访问敏感服务器API并执行远程代码执行相一致的利用模式。
这些保护措施会自动应用,Wallarm客户无需采取任何操作。
在PoC发布后的头两个小时内,Wallarm观察到超过4,100次针对客户基础设施的漏洞利用尝试,且数量持续增长。绝大多数攻击是完全自动化的,源自僵尸网络和机会主义扫描器,试图大规模武器化该漏洞。大多数尝试重复使用了几乎相同的RCE载荷结构,与公开PoC中演示的模式高度一致。下图展示了此类攻击的一个例子。
建议的修复措施
- 立即将React server-dom包更新到已修复的版本:19.0.1、19.1.2、19.2.1。
- 审查依赖React服务端组件或服务器操作(server actions)的应用程序代码,确保没有不必要地暴露敏感的服务器端模块。
- 如果您的设施中发现了面向公众的、易受攻击的React服务端组件实例,请启动调查以评估潜在的入侵,并确定在打补丁之前是否有任何漏洞利用尝试成功。
结论
现代应用程序运行在复杂的框架和众多依赖项的生态系统中,这意味着新的漏洞随时可能出现,使得零日暴露的风险成为一种持续存在的现实。这突显了需要采用多层、纵深防御的安全策略来限制新兴威胁的影响。
Wallarm通过以下方式支持这种方法:
- 主动防护Web和API零日漏洞,通常自动阻止漏洞利用尝试。
- 通过API攻击面管理(AASM)识别暴露或未受保护的主机,减少攻击者的机会。
- 确保Wallarm研究团队持续监控新兴威胁并增强产品保护,以跟上攻击者不断发展的技术。
鉴于零日威胁始终存在,Wallarm帮助组织保持韧性并领先于潜在攻击。