尘封四年的 Next.js 框架惊天漏洞 CVE-2025-29927 炸裂曝光!从零基础到精通,收藏这篇就够了!

从 NextJS SSRF 漏洞看 Host 头滥用所带来的危害 本篇博文主要内容是通过代码审计以及场景复现一个 NextJS 的安全漏洞(CVE-2024-34351)来讲述滥用 Host 头的危害。严正声明:本博文所讨论的技术仅用于研究学习,旨在增强读者的信息安全意识,提高信息安全防护技能,严禁用于非法活动。任何个人、团体、组织不得用于非法目的,违法犯罪必将受到法律的严厉制裁。Host 是什么。 阅读详情

各位网络安全冲浪选手们,最近有个大瓜!Next.js 框架被两位大佬 Allam Rachid (zhero;) 和 Allam Yasser (inzo_) 揪出一个陈年老漏洞 CVE-2025-29927,一个身份验证绕过检查的 Bug,影响范围还贼广,简直是爷青回!

受害者名单(影响版本)

  • >=11.1.4,<=13.5.6
  • >=14.0,<14.2.25
  • >=15.0,<15.2.3

正义联盟(修复版本)

  • 14.2.25
  • 15.2.3

Part.01 技术扫盲:啥是 Next.js?

简单来说,Next.js 就是一个基于 React 的 Web 开发框架,火得一塌糊涂!为啥?因为它能用 JavaScript 搞定前后端,还能服务器端渲染、静态站点生成,自带路由系统,让开发过程像德芙一样丝滑。

这次出事的 CVE-2025-29927 漏洞,就藏在 Next.js 的 Middleware(中间件)里。这玩意儿就像高速公路收费站,拦截 HTTP 请求和响应,干些身份验证、重定向、路径重写、安全处理之类的活儿。身份验证是重中之重,不然每个页面都得单独验证,权限管理乱成一锅粥,越权问题分分钟教你做人!

Part.02 漏洞扒皮:这洞是怎么捅出来的?

两位漏洞猎手没费多大力气,就在 4 年前的 Next.js v12.0.7 版本里,发现了这个“显眼包”漏洞。

关键点:x-middleware-subrequest 请求头

老版本 Next.js 的 Middleware 会检查请求头里的 x-middleware-subrequest 值,用冒号分割后,看看是不是包含 middlewareInfo.name。如果包含,就放行!

问题来了,v12.0.7 版本的 middlewareInfo.name 几乎是写死的,或者说,太容易猜到了!在 v12.2 版本之前,Middleware 文件名必须是 _middleware.ts,路由文件指定是 pages 目录。所以,middlewareInfo.name 的真名就是 pages/_middleware!这简直是把钥匙直接塞到坏人手里!

即使是嵌套路由,也能根据请求路径猜出正确的 middlewareInfo.name,比如 pages/dashboard/_middleware 和 pages/dashboard/panel/_middleware。

更骚的是,即使 Next.js 升级了,路由结构和文件结构变了,这个 x-middleware-subrequest 请求头还是没能逃脱被利用的命运!

以 v15.1.7 为例,漏洞藏在 next.js/packages/next/src/server/web/sandbox/sandbox.tx 文件里。

这段代码对 x-middleware-subrequest 的处理没变,只是增加了对 MAX_RECURSION_DEPTH(最大嵌套深度)的判断,防止请求死循环。但是!代码只判断了 5 次以内,如果 x-middleware-subrequest 请求头分割后的 params.name 数量超过 5 次,照样放行!而 params.name 实际上还是 middleware 文件的路径。

根据官方约定,middleware 文件的名称是 middleware.ts,路径要么在项目根路径(与 pages 或 app 目录同级),要么在 /src 目录下。也就是说,params.name 的值要么是 middleware,要么是 src/middleware。

攻击姿势:

构造恶意的 x-middleware-subrequest 请求头,无非两种套路:

  • x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware
  • x-middleware-subrequest: src/middleware:src/middleware:src/middleware:src/middleware:src/middleware

Part.03 漏洞复现:手把手教你搞事情

还是拿文章开头的代码举例子。正常情况下,通过 middleware 访问 /about 页面会被重定向到首页,如下图所示。

正常访问需要身份验证,需要进行一些页面交互,设置 Cookie 中 auth 的值为 1(这设计本身也不太安全)。

但是!如果 Next.js 版本小于 v15.2.3,就可以通过构造恶意的请求头:

x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware

来绕过身份验证,直接访问 /about 页面!

Part.04 漏洞修复:官方亡羊补牢

以 15.2.3 版本为例,官方引入了 x-middleware-subrequest-id 来修复漏洞。

修复逻辑:

  1. 在 router-server.ts 中存储全局 Symbol 注册信息 @next/middleware-subrequest-id,这个值是一个随机的十六位字符串。
  2. 在 context.ts 中设置网站的 x-middleware-subrequest-id,并初始化为全局 Symbol 注册信息。
  3. 在 utls.ts 中判断请求头中是否存在 x-middleware-subrequest 请求头,以及 x-middleware-subrequest-id 值是否与网站存储的 x-middleware-subrequest-id 一致。如果存在请求头但 id 不一致,则会删除 x-middleware-subrequest 请求头。

WAF 的应对:

WAF 的检测规则更简单粗暴,直接判断请求头中是否存在 x-middleware-subrequest,如果存在就阻断!但是,这样可能会误伤一些应用自身设计的同名请求头,所以 CloudFlare 很快将这条规则改为了 Opt-in,需要用户主动开启。

黑客/网络安全学习包

资料目录

  1. 成长路线图&学习规划

  2. 配套视频教程

  3. SRC&黑客文籍

  4. 护网行动资料

  5. 黑客必读书单

  6. 面试题合集

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************

1.成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图&学习规划。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************

2.视频教程

很多朋友都不喜欢晦涩的文字,我也为大家准备了视频教程,其中一共有21个章节,每个章节都是当前板块的精华浓缩。


因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*************************************

3.SRC&黑客文籍

大家最喜欢也是最关心的SRC技术文籍&黑客技术也有收录

SRC技术文籍:

黑客资料由于是敏感资源,这里不能直接展示哦!

4.护网行动资料

其中关于HW护网行动,也准备了对应的资料,这些内容可相当于比赛的金手指!

5.黑客必读书单

**

**

6.面试题合集

当你自学到这里,你就要开始思考找工作的事情了,而工作绕不开的就是真题和面试题。

更多内容为防止和谐,可以扫描获取~

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

*************************************优快云大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享*********************************

Next.js框架 SSRF漏洞(CVE-2024-34351) ZEIT Next.js是ZEIT公司的一款基于Vue.js、Node.js、Webpack和Babel.js的开源Web应用框架。在13.4版本至14.1.1之前版本存在代码问题漏洞,该漏洞源于存在服务器端请求伪造 (SSRF) 漏洞。检测站点版本13.4.10。 阅读详情

相关推荐

next.js 存在缓存中毒漏洞(CVE-2024-46982)

Next.js 是一个基于 React 的开源框架,由 Vercel(原 ZEIT)开发和维护。它主要用于构建现代化的前端应用和全栈应用,提供了服务器渲染(SSR)和静态网站生成(SSG)的能力,同时具有强大的性能优化和开发效率。

缘梦未来的博客 576

CVE-2025-66478 Next.js 远程代码执行漏洞

摘要: CVE-2025-66478是Next.js框架(15.x/16.x版本)因依赖存在缺陷的React服务端DOM包导致的高危远程代码执行漏洞(CVSS 10.0)。攻击者通过构造恶意Flight Payload发送至Next.js服务端,利用React对序列化数据验证不严的缺陷,触发反序列化漏洞执行任意代码,无需认证即可实现RCE(文件读写、命令执行等)。目前已有公开PoC,官方建议升级至Next.js 15.0.5+/16.0.7或更新版本修复漏洞。

大河之犬的博客 4512

本地部署DeepSeek-Coder-6.7B 离线版的完整指南:打造适配当前系统的AI助手

《DeepSeek-Coder-6.7B本地部署指南》详细介绍了如何离线部署这款专注于代码生成的AI模型。文章涵盖硬件要求(推荐8核CPU、32GB内存、NVIDIA RTX3080显卡)、软件依赖(Python3.8+、CUDA11.0+、PyTorch1.9+)以及具体安装步骤,包括模型下载、路径配置和GPU加速设置。重点说明如何通过输入系统配置文档和使用说明书,让模型生成适配特定系统的代码,并提供了参数调优和模型微调的方法。该指南旨在帮助开发者在本地安全高效地使用AI助手,实现代码自动生成与优化,提升

欢迎来到我的优快云博客!我专注于技术创新和数字化转型,特别是在低代码平台、人工智能和大数据分析领域的探索与应用。通过深入分析各种行业案例,帮助企业加速数字化进程,提升运营效率与创新能力。在这里,您将找到关于低代码平台、AI技术、数据分析与 1493

Next.js 中间件权限绕过漏洞分析(CVE-2025-29927)

CVE-2025-29927是Next.js框架中存在的一个高危中间件逻辑绕过漏洞,允许攻击者通过构造特定HTTP请求头,绕过中间件的安全控制逻辑(如身份验证、路径重写、CSP防护等)。该漏洞CVSS评分9.1(Critical),可导致未授权访问、数据泄露及拒绝服务攻击。

柠檬i的博客 1513

用74LS194和555定时器DIY流水灯:一个经典的数字电路课程设计复盘(附Multisim仿真文件)

本文详细介绍了使用74LS194移位寄存器和555定时器搭建八路彩灯控制器的完整过程,包括硬件选型、电路设计、调试技巧及常见问题解决方案。作为经典的数字电路课程设计,该项目涵盖了EDA工具应用、电路原理图设计和Multisim仿真等核心技能,适合电子工程学习者实践参考。

weixin_29185199的博客 426

一文详细讲解CRM系统(附架构图、流程、功能介绍)

专为中小企业量身打造高性价比的数字化转型路径!企业如何用CRM才能真正做到降本增效?今天,就用一文讲清这些问题!读完本文,你将清楚得了解CRM的概念、框架、流程、功能、企业成功案例,文末还有常见问题解答。

Dabeishandong的博客 9928

Next.js中间件权限绕过漏洞(CVE-2025-29927),从零基础到精通,收藏这篇就够了!

简单来说,就是黑客可以利用这个漏洞,绕过你的层层设防,直接进入你的系统“搞事情”。当你配置了中间件进行身份验证和授权时,攻击者可以通过“骚操作”篡改这个请求头,就能堂而皇之地绕过权限控制,访问你原本想保护的资源。Next.js,作为 Node.js 阵营中冉冉升起的 Web 框架新星,凭借其 Server Actions 功能,让后端开发变得更加丝滑。绿盟科技自动化渗透测试工具(EZ)支持 Next.js 应用的指纹识别,你可以直接使用 web 模块进行扫描检测,揪出潜在的风险点。

Javachichi的博客 1380

AT32F421玩转AM32电调:手把手教你调试过零点比较器,告别电机抖动

本文详细介绍了如何使用AT32F421芯片调试AM32电调的过零点比较器,解决电机抖动问题。通过硬件配置、软件环境搭建、比较器电路原理分析及filter_level参数动态调整等实战步骤,帮助开发者精准诊断和优化电机控制性能。

weixin_42525632的博客 276

网络安全自学入门:(超详细)从入门到精通学习路线&规划,学完即可就业

很多人上来就说想学习黑客,但是连方向都没搞清楚就开始学习,最终也只是会无疾而终!黑客是一个大的概念,里面包含了许多方向,不同的方向需要学习的内容也不一样。算上从学校开始学习,已经在网安这条路上走了10年了,无论是以前在学校做安全研究,还是毕业后在百度、360从事内核安全产品和二进制漏洞攻防对抗,我都深知学习方法的重要性。没有一条好的学习路径和好的学习方法,往往只会事倍功半。网络安全再进一步细分,还可以划分为:网络渗透、逆向分析、漏洞攻击、内核安全、移动安全、破解PWN等众多子方向。

jennycisp的博客 587

AI图像识别在临电配电箱安全检测中的应用与实践

计算机视觉与AI图像识别技术正逐步改变传统工业检测方式。通过深度学习模型如YOLOv5和ResNet,系统能自动识别设备元件并分析其状态,大幅提升检测效率和准确性。这种技术特别适用于需要严格遵循行业标准的场景,如临电配电箱的安全检测。将《施工现场临时用电安全技术规范》等条文转化为可量化的算法,AI系统能自动检查PE线连接、漏保功能等关键项目。实际应用表明,此类解决方案可使电气事故率下降90%以上,同时检测耗时缩短80%,为工地安全提供了智能化保障。

weixin_29042035的博客 328

C++ muduo网络库知识分享01 - Linux平台下muduo网络库源码编译安装

Muduo is a multithreaded C++ network library based on the reactor pattern. muduo库的介绍就是:一个基于reactor反应堆模型的多线程C++网络库。 muduo网络库是C++语言开发的一个非常优秀的网络库,作者陈硕,muduo网络库在多线程环境下性能非常高,该系列文章会分享一些muduo库源码的知识,包括它的线程池源码...

大秦坑王的专栏 3万+

Windows和Linux系统查看端口和文件占用

在Windows环境中要知道当前端口被哪个进程所占用,或者是查看当前系统网络的会话连接,操作如下:(1)、查看端口被那个进程ID(PID)所占用查看指定端口,使用命令:netstat -ano | findstr “445”上边这个445端口当前正在监听0.0.0.0地址,可以看到占用进程PID为4findstr更多用法可以通过findstr /?查看(2)、通过PID查看进程上边已知进程PID为4,使用命令:tasklist | findstr "4"查找进程。

A1_3_9_7的博客 1123

【ArcGIS教程】基于DEM数据的洪水淹没分析——提取淹没区并计算淹没区洪水量

使用ArcGIS开展洪水淹没区分析、提取淹没区并计算淹没区洪水量的详细说明,如果想获取教程中实验数据,请关注微信公众号【GIS小能手】然后在后台留言。

weixin_45469245的博客 6820

严重的 Next.js 身份验证绕过漏洞导致 Web 应用程序遭受攻击(CVE-2025-29927)

所有版本的 Next.js 都存在 CVE-2025-29927 漏洞。

网络研究观 1060

【PCIe EP 设备入门学习专栏 -- 8 PCIe EP 架构详细介绍】

Synopsys PCIe 5.0 EP 架构由多个功能模块组成,整体遵循分层 + 模块化设计CXPL(事务层 + 链路层 + 物理层 MAC)XADM(仲裁/生成)、XAIM(应用接口)RADM(过滤/路由/Completion)CDM(配置空间)、PMC(电源管理)、LBC/DBI(寄存器访问)MSG_GEN(消息)、CXS(多芯片一致性)

CodingCos的博客 383

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Next.js 中间件曝高危漏洞 CVE-2025-29927,授权绕过风险波及全版本

【代码】Next.js 中间件曝高危漏洞 CVE-2025-29927,授权绕过风险波及全版本。

xixixixixixixi21的博客 943

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

漏洞预警 | Next.js 中间件鉴权绕过漏洞 (CVE-2025-29927)

鉴权绕过。

C20220511的博客 984

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

漏洞分析 | CVE-2025-29927:Next.js 中间件授权绕过

Next.js 是由 Vercel 开发的广受欢迎的 React 框架,它凭借无缝集成的服务器端渲染、静态生成和强大的中间件系统,驱动着数百万个 Web 应用程序。然而,在 2025 年 3 月,一个关键漏洞 CVE-2025-29927 震撼了整个生态系统。该漏洞暴露了一个缺陷,使攻击者能够轻易绕过基于中间件的安全控制。该问题由安全研究员 Rachid Allam(又名 zhero)发现,突显了 Next.js 中间件的强大与风险。让我们深入探讨该漏洞的技术细节、其工作原理以及对开发者的影响。

zkaqlaoniao的博客 991

CVE-2025-29927 Next.js 中间件鉴权绕过漏洞复现

Next.js框架存在中间件授权绕过漏洞(CVE-2025-29927),影响11.1.4至13.5.6、14.0至14.2.25和15.0至15.2.3版本。攻击者可通过在请求头中重复添加"x-middleware-subrequest"字段超过5次,绕过中间件鉴权机制访问受保护资源。漏洞成因是当中间件标识超过阈值时系统会返回指纹识别而非执行鉴权。复现环境可通过Docker搭建,使用BurpSuite拦截登录请求并添加恶意请求头即可实现未授权访问。建议用户及时升级至安全版本修复该漏洞。

m0_63382893的博客 717
上一篇: 网络安全加壳脱壳知识点大放送,从零基础到精通,收藏这篇就够了!
下一篇: 网络安全工程师教你用Wireshark 抓包,一文通关,从零基础到精通,收藏这篇就够了!
程序员_大白
博客等级 码龄5年 1万+粉丝 4001原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值