React2Shell 漏洞(CVE-2025-55182 / CVE-2025-66478)完整脚本
一款概念验证(PoC)工具,用于在仅限授权的本地测试环境中演示严重的 React2Shell 漏洞(CVE-2025-55182 / CVE-2025-66478)。
该漏洞(CVSS 10.0)正遭到高度复杂的威胁行为者的积极利用。 Amazon 威胁情报报告指出,包括 Earth Lamia 和 Jackpot Panda 在内的多个与中国关联的国家资助组织,在漏洞披露后数小时内便开始将公开的利用代码武器化。美国网络安全与基础设施安全局(CISA)已将其列入已知被利用漏洞(KEV)目录。
CVE-2025-55182(React2Shell)是 React Server Components(RSC)"Flight" 协议中的一个严重的、无需认证即可利用的远程代码执行(RCE)漏洞。另一个标识符 CVE-2025-66478 曾被分配给 Next.js,但随后因与 CVE-2025-55182 重复而被驳回,因为两者具有相同的根本原因。
chmod +x pwn-nextjs.sh
./pwn-nextjs.sh [TARGET_URL] [COMMAND]
# Target specific URL
./pwn-nextjs.sh https://vulnerable-app.example.com "whoami"
root
该漏洞源于特定的 React 包,影响所有捆绑了这些包的框架。
不受影响:Next.js 13.x、Next.js 14.x 稳定版、Pages Router 应用程序以及 Edge Runtime 不受影响。
RSC Flight 协议将数据序列化以用于客户端与服务器之间的通信。漏洞存在于服务器的反序列化逻辑中,该逻辑在没有充分验证的情况下不安全地展开传入载荷中的对象属性。这使攻击者能够将恶意键(如 __proto__ 或 constructor)注入请求,从而导致原型污染。
一旦原型链被污染,服务器就会遵循受攻击者影响的执行路径。这可以进一步链接利用,以服务器权限执行任意 JavaScript 代码,最终实现完全远程代码执行(RCE)。
安全研究人员已观察到成功的利用会导致:
.aws/credentials)。修补是强制性的,也是彻底消除该漏洞的唯一方法。不存在可以禁用易受攻击代码路径的配置项。
# For Next.js users, upgrade to the latest patched version in your release line.
# Example: If you are on Next.js 15.5.x:
npm install [email protected]
# Also ensure React dependencies are updated:
npm install react@latest react-dom@latest
验证您的 package-lock.json 或 yarn.lock 文件是否反映了已修补的 react-server-dom-* 包版本(19.0.1、19.1.2 或 19.2.1)。
在等待修补期间,请部署 Web 应用防火墙(WAF)规则以阻止漏洞利用尝试:
AWSManagedRulesKnownBadInputsRuleSet(v1.24+)包含针对此 CVE 的规则。cve-canary 规则。注意:WAF 规则是临时性的、不完整的缓解措施。它们不能替代修补。
请审查日志中以下漏洞利用尝试的迹象:
next-action 或 rsc-action-id 请求头的 POST 请求。请求体包含 $@ 或 "status":"resolved_model" 等模式。whoami、id、uname)、读取 /etc/passwd,或向 /tmp/ 写入文件(例如 pwned.txt)。本工具演示了一个 CVSS 评分为 10.0(最高严重性) 且正在被国家资助组织积极利用的漏洞。
请记住:本工具旨在说明为什么修补工作迫在眉睫。请利用这些知识来提升安全性、防御系统,而不是破坏它们。确保您的所有依赖项都已更新到上面列出的已修补版本。
| 组件 | 受影响版本 | 已修补版本 | 备注 |
|---|
| React 包 ( react-server-dom-webpack, -parcel, -turbopack) | 19.0.0、19.1.0、19.1.1、19.2.0 | 19.0.1、19.1.2、19.2.1 | 上游缺陷的根源。 |
| Next.js(App Router) | 15.x、16.x、 14.3.0-canary.77 及更高版本 | 15.0.5、15.1.9、15.2.6、15.3.6、15.4.8、15.5.7、16.0.7 | 主要受影响的框架。 |
| 其他框架 | React Router、Waku、RedwoodJS、Parcel(@parcel/rsc)、Vite RSC 插件 | 请更新到使用已修补 React 包(>19.0.1、19.1.2、19.2.1)的版本。 | 如果使用了受影响的 React 包,则存在漏洞。 |