Test de Penetración Next.js: Middleware Bypass, Cache Poisoning y Seguridad React Moderna
Las aplicaciones Next.js combinan server rendering, edge middleware, ISR cache y server actions — cada uno una superficie de ataque única. Las vulnerabilidades Next.js de 2024 incluyen CVE-2024-43481 (middleware bypass, CVSS 9.1), CVE-2024-46982 (cache poisoning) y CVE-2024-34351 (SSRF). Matproof Sentinel realiza pentests Next.js dirigidos con prueba de explotación y reportes audit-ready DORA / NIS2 / ISO 27001 desde 149 €.
Por qué Next.js requiere atención específica de pentest
Next.js es el framework React más popular para aplicaciones full-stack modernas. CVE-2024-43481 (CVSS 9.1, marzo 2024) permite el bypass completo del middleware de autenticación mediante manipulación del header x-middleware-subrequest — un atacante no autenticado accede a rutas protegidas incluidos paneles admin y endpoints de transacción. CVE-2024-46982 expone aplicaciones Next.js al cache poisoning ISR. CVE-2024-34351 habilita ataques SSRF. Para empresas españolas bajo DORA Art. 24 o NIS2 (Real Decreto-ley), un pentest Next.js documentado es estándar para demostrar conformidad técnica.
- CVE-2024-43481 (CVSS 9.1): bypass completo del middleware Next.js mediante header x-middleware-subrequest — acceso no autenticado a rutas protegidas incluidos paneles admin y endpoints de pago.
- CVE-2024-46982: cache poisoning ISR — atacante manipula la caché estática regenerada, sirviendo contenido comprometido a otros usuarios sin autenticación requerida.
- CVE-2024-34351: SSRF mediante URLs relativas malformadas — acceso a endpoints metadata cloud (AWS IMDSv1) y servicios internos.
- Server Actions (Next.js 13+): nuevo modelo de seguridad requiere validación de entrada lado servidor, autorización explícita por action — un Server Action sin protección equivale a un endpoint API público.
- Estrategias de caché (ISR, dynamic, force-static): configuraciones erróneas pueden exponer datos cacheados entre usuarios — particularmente crítico para SaaS multi-tenant.
- Edge middleware en Vercel / Cloudflare: entornos de ejecución limitados (Web APIs, no Node.js completo) requieren tests específicos.
- Para empresas españolas bajo DORA Art. 24, NIS2 o LOPDGDD Art. 32, un pentest Next.js documentado es elemento estándar de cumplimiento.
Qué testeamos específicamente en una aplicación Next.js
- Middleware bypass (CVE-2024-43481): test con header x-middleware-subrequest manipulado; verificación de versiones Next.js < 14.2.25 / < 13.5.7 / < 15.0.4.
- ISR cache poisoning (CVE-2024-46982): test de manipulación de caché mediante header x-now-route-matches.
- SSRF via Next.js server (CVE-2024-34351): URLs relativas malformadas, intento de acceso a endpoints metadata cloud, servicios internos VPC.
- Server Actions security: validación entrada Zod / Yup, autorización explícita por action, gestión correcta de useFormState.
- API routes: OWASP Top 10 estándar (injection, broken auth, IDOR), validación tipo TypeScript runtime con Zod, rate limiting.
- Configuración next.config.js: headers de seguridad (CSP strict, HSTS con preload), images.remotePatterns para evitar bypass de whitelist.
- Patrones de autenticación: Next-Auth / Auth.js, Clerk, Lucia — verificación firma JWT, flags cookie sesión (Secure, HttpOnly, SameSite), CSRF.
- Vercel-específico: edge functions vs node runtime, variables ambiente expuestas client-side (NEXT_PUBLIC_*), preview deployments con autenticación.
- Composition Analysis: package.json + package-lock.json para CVE en dependencias.
- TypeScript strict mode: noUncheckedIndexedAccess, strictNullChecks.
Ejemplo de hallazgo
CVE-2024-43481 — Middleware bypass mediante header x-middleware-subrequest
La aplicación Next.js 14.2.3 expone CVE-2024-43481, que permite el bypass completo del middleware de autenticación mediante manipulación del valor del header HTTP x-middleware-subrequest. Un atacante no autenticado puede enviar una petición como 'GET /admin/users HTTP/1.1 + x-middleware-subrequest: src/middleware:src/middleware:src/middleware:src/middleware:src/middleware' que omite la ejecución del middleware authentication.ts. El test permitió acceder a /admin/users (panel administrativo con lista completa de usuarios, emails, roles), /admin/orders (panel pedidos con datos de pago parciales), y endpoints /api/admin/* sin autenticación. Vulnerabilidad parcheada en Next.js ≥ 14.2.25, ≥ 13.5.7, ≥ 15.0.4. Tiempo de explotación: 12 segundos.
Corrección: Acción inmediata (prioridad 1): actualizar Next.js a versión parcheada: ≥ 14.2.25 para línea 14.x, ≥ 13.5.7 para línea 13.x, ≥ 15.0.4 para línea 15.x. Verificación: tras actualizar, intentar explotación con mismo payload — debe retornar 401/403. Acciones complementarias: implementar autorización de segundo nivel a nivel API route / Server Action (nunca confiar solo en middleware como única defensa); habilitar Content-Security-Policy strict con report-uri; configurar WAF (Cloudflare, AWS WAF) con regla de bloqueo explícito para header x-middleware-subrequest desde fuentes no internas.
Referencia: CVE-2024-43481 (CVSS 9.1) · CWE-285 Improper Authorization · OWASP A01:2021 Broken Access Control · Next.js Security Advisory GHSA-7gfc-8cq8-jh5f
Pentest Next.js: opciones comparadas
| — | Escaneo gratuito | Matproof Sentinel | Consultoría tradicional |
|---|---|---|---|
| Motor de escaneo automatizado | ✓ (vista previa 3 min) | ✓ Escaneo completo | ✗ Solo manual |
| Cobertura OWASP Top 10 | Parcial | ✓ Completa | ✓ Completa |
| Evidencia proof-of-exploit | ✗ | ✓ Por hallazgo | ✓ Por hallazgo |
| Mapeo normativo (DORA/NIS2/ISO 27001) | ✗ | ✓ Automatizado | ✓ Manual |
| Informe PDF listo para auditoría | ✗ | ✓ Inmediato | ✓ Entrega 2–4 semanas |
| Escaneos continuos / recurrentes | ✗ | ✓ Por despliegue | ✗ Encargo anual |
| Tiempo hasta el primer resultado | ~3 min | ~30 min escaneo completo | 2–4 semanas |
| Precio | €0 | Desde €149 | €8.000–€25.000 |
| Revisión de código fuente (SAST) | ✗ | ✓ Plan Growth | ✓ En alcance |
| Pruebas de API (REST/GraphQL) | ✗ | ✓ Automatizado | ✓ Manual |
Paquetes Pentest Next.js
- 1 escaneo pentest completo
- Hallazgos priorizados por IA con CVSS 3.1
- Proof-of-exploit por hallazgo
- Informe PDF listo para auditoría
- Mapeo normativo (DORA, NIS2, ISO 27001)
- Escaneos ilimitados (hasta 3 dominios)
- Monitorización continua
- Integración CI/CD (GitHub, GitLab)
- Todos los mapeos normativos
- Soporte prioritario
- Escaneos + dominios ilimitados
- Pruebas autenticadas / White-Box
- Pruebas de API e infraestructura cloud
- Account manager de seguridad dedicado
- SLA de respuesta en 24h
Preguntas frecuentes sobre el pentest Next.js
¿Qué versiones Next.js están afectadas por CVE-2024-43481?
Todas las versiones Next.js < 14.2.25 (línea 14.x), < 13.5.7 (línea 13.x) y < 15.0.4 (línea 15.x). La vulnerabilidad fue divulgada y parcheada el 14 de marzo de 2024.
¿El pentest cubre Vercel, Cloudflare Workers, AWS Amplify o solo self-hosted?
Cubrimos todos los targets de deployment Next.js: Vercel, Cloudflare Workers + Pages, AWS Amplify, Netlify, y self-hosted (Node.js, Docker, Kubernetes).
¿Testean también Next.js App Router (13+) o solo Pages Router?
Ambos. App Router tiene nuevos patrones de seguridad: Server Actions, Streaming SSR. Pages Router clásico: getServerSideProps, API routes /pages/api/*.
¿Cuánto tiempo requiere un pentest Next.js completo?
Escaneo automatizado completo: aproximadamente 60 minutos. Para aplicaciones complejas: 2-3 horas. Informe audit-ready en 24 horas.
¿El informe es aceptado para auditorías DORA Art. 24 / NIS2 en España?
Sí. Informe técnico con mapeo explícito a DORA Art. 24/25, NIS2 Art. 21 según trasposición española, ISO 27001:2022 A.8.29.
¿Podemos integrar Matproof Sentinel en nuestro CI/CD con Vercel o Cloudflare?
Sí, en planes Starter (299 €/mes) y Growth (799 €/mes). Para Vercel: integración GitHub Actions en preview deployments. Para Cloudflare: webhook integration. Critical/High findings pueden bloquear merge.
Temas relacionados
Profundiza — artículos relacionados del blog
Proteja su aplicación Next.js ahora
Primer escaneo en 3 minutos, pentest Next.js completo en 60 minutos. Informe audit-ready DORA / NIS2 / ISO 27001 desde 149 €.
Iniciar escaneo gratuito