React2Shell 漏洞 (CVE-2025-55182 / CVE-2025-66478)
一款用于在仅限授权的本地测试环境中演示严重 React2Shell 漏洞(CVE-2025-55182 / CVE-2025-66478)的概念验证工具。
该漏洞(CVSS 10.0)正被高级威胁行为者积极利用。 Amazon Threat Intelligence 报告称,包括 Earth Lamia 和 Jackpot Panda 在内的多个与中国有关联的国家资助组织,在漏洞披露后的数小时内便开始将公开的漏洞利用代码武器化。美国网络安全和基础设施安全局(CISA)已将其添加到其已知被利用漏洞(KEV)目录中。
CVE-2025-55182(React2Shell)是 React 服务端组件(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 包,影响任何捆绑了这些包的框架。
| 组件 | 受影响版本 | 已修补版本 | 备注 |
|---|---|---|---|
| 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 Plugin | 更新到使用已修补 React 包的版本(>19.0.1、19.1.2、19.2.1)。 | 如果使用受影响的 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(最高严重性) 且正被国家资助行为者积极利用的漏洞。
请记住:此工具证明了修补工作刻不容缓。请利用这些知识来改善安全性并防御系统,而不是危害它们。确保您的所有依赖项都已更新到上面列出的已修补版本。