kOaDT/poc-cve-2025-29927

GitHub: kOaDT/poc-cve-2025-29927

针对 Next.js 中间件授权绕过漏洞(CVE-2025-29927)的验证与检测工具,利用特定请求头探测鉴权失效风险。

Stars: 5 | Forks: 3

# Next.js Middleware Bypass (CVE-2025-29927) 概念验证 本仓库包含 **CVE-2025-29927** 的**概念验证 (POC)**,这是 **Next.js** 中的一个严重漏洞,允许攻击者绕过在 middleware 中实现的授权检查。 ## 📋 目录 1. [运行 POC 应用程序](#running-the-poc-application) 2. [使用漏洞利用脚本](#using-the-exploit-script) 3. [如何修复该漏洞](#how-to-fix-the-vulnerability) 4. [漏洞详情](#vulnerability-details) ## 运行 POC 应用程序 此 Next.js 应用程序通过一个受保护的 dashboard 路由演示了该漏洞。 ### 设置说明 1. Clone 该仓库 2. 安装并运行: npm install npm run build npm run start 3. 在浏览器中访问 http://localhost:3000 4. 尝试访问位于 /dashboard 的受保护 dashboard ## 使用漏洞利用脚本 该漏洞利用脚本可以测试任何 Next.js 应用程序是否存在此漏洞。 ### 用法 ``` npm run exploit ``` ### 示例 ``` npm run exploit http://localhost:3000/dashboard ``` ### 工作原理 该漏洞利用工具: 1. 将目标 URL 作为输入 2. 发送正常请求以检查路由是否受保护 3. 尝试使用 `x-middleware-subrequest` 标头绕过 middleware 4. 比较响应以确定是否存在漏洞 ### 示例输出 ``` === Next.js CVE-2025-29927 Middleware Bypass Tester === Target: http://localhost:3000/dashboard Testing vulnerability... Normal request status: 307 Bypass request status: 200 ⚠️ VULNERABLE The route is protected but accessible with the bypass header ``` ## 如何修复该漏洞 [how-to-fix 分支]() 中提供了修复实现。 ### 快速修复 1. **更新 Next.js 版本**(推荐) - 更新至以下修补版本之一: - Next.js 15.x → **15.2.3** - Next.js 14.x → **14.2.25** - Next.js 13.x → **13.5.9** - Next.js 12.x → **12.3.5** 2. **实施二次验证** - 在你的 API 路由/页面中添加身份验证检查 - 不要仅依赖 middleware 进行安全防护 ### 示例输出 ``` === Next.js CVE-2025-29927 Middleware Bypass Tester === Target: http://localhost:3000/dashboard Testing vulnerability... Making request without bypass header... Making request with bypass header... Normal request status: 307 Bypass request status: 307 ✓ NOT VULNERABLE - Protected Route The route is protected and the bypass attempt was unsuccessful Normal request redirected to: / Bypass request redirected to: / ``` ## 漏洞详情 ### CVE 信息 - **CVE ID**: CVE-2025-29927 - **受影响版本**: - 13.0.0 - 13.5.8 - 14.0.0 - 14.2.24 - 15.0.0 - 15.2.2 - 11.1.4 - 12.3.4 ### 描述 Next.js 使用一个内部标头 `x-middleware-subrequest` 来防止递归请求。此漏洞允许攻击者通过操纵此标头**绕过 middleware 安全检查**。 ### 影响 - 对受保护路由的未授权访问 - 绕过身份验证检查 - 规避安全 middleware ### 受影响的环境 - 使用 Middleware 的自托管 Next.js 应用程序 ### 参考 - [Next.js 安全公告](https://nextjs.org/blog/cve-2025-29927) - [GitHub 安全公告](https://github.com/advisories/GHSA-f82v-jwr5-mffw) ## 在真实的 CTF 环境中练习此漏洞利用 想要更进一步?此 CVE 已在 **OSS OopsSec Store** 中作为一个 flag 实现,这是一个专为进攻性安全培训设计的故意存在漏洞的实验室。 👉 **[在此尝试挑战 → kOaDT/oss-oopssec-store](https://github.com/kOaDT/oss-oopssec-store)** ## 免责声明 此工具仅用于教育和测试目的。请仅在你拥有或获得明确测试许可的系统上使用此工具。
标签:CISA项目, CVE-2025-29927, Exploit, GNU通用公共许可证, MITM代理, Node.js, PoC, Web安全, Web报告查看器, x-middleware-subrequest, 中间件绕过, 全栈框架, 关键漏洞, 安全测试, 安全漏洞, 授权检查绕过, 攻击性安全, 暗色界面, 暴力破解, 权限绕过, 网络安全, 自定义脚本, 蓝队分析, 隐私保护