Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
cve-2025-29927 — Exploit de prueba de concepto para CVE-2025-29927, una vulnerabilidad de omisión del middleware de Next.js. Incluye payloads específicos de versión y un laboratorio basado en Docker para probar el acceso no autorizado a rutas protegidas. | Kitploit
Herramientas/GitHubGitHub/jeymo092/cve-2025-29927
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebPruebas de PenetraciónAprendizaje y EducaciónLabs y Práctica
GitHubjeymo092/cve-2025-29927

cve-2025-29927

Exploit de prueba de concepto para CVE-2025-29927, una vulnerabilidad de omisión del middleware de Next.js. Incluye payloads específicos de versión y un laboratorio basado en Docker para probar el acceso no autorizado a rutas protegidas.

Ver Repositorio
1hace 1 añoAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2025-29927

Image

Vulnerabilidad CVE-2025-29927

Todas las versiones de Next.js desde la 11.1.4 hasta la 13.5.6, 14.x anteriores a 14.2.25, y 15.x anteriores a 15.2.3 se ven afectadas por esta vulnerabilidad. El impacto es particularmente significativo para aplicaciones que dependen de middleware para implementar controles de acceso, ya que los atacantes pueden obtener acceso no autorizado a recursos protegidos sin autenticación.

El mecanismo de la vulnerabilidad

La vulnerabilidad CVE-2025-29927 se origina de un defecto de diseño en cómo Next.js procesa el encabezado x-middleware-subrequest. Este encabezado fue originalmente diseñado para uso interno dentro del framework Next.js para evitar bucles infinitos de ejecución de middleware.

Cuando una aplicación Next.js utiliza middleware, la función runMiddleware es llamada para procesar las solicitudes entrantes. Como parte de su funcionalidad, esta función verifica la presencia del encabezado x-middleware-subrequest. Si este encabezado existe y contiene un valor específico, la ejecución del middleware se omite por completo y la solicitud se reenvía directamente a su destino original mediante NextResponse.next().

La vulnerabilidad radica en que esta verificación del encabezado puede ser explotada por usuarios externos. Al agregar el encabezado x-middleware-subrequest con el valor correcto a una solicitud, un atacante puede omitir por completo cualquier mecanismo de protección basado en middleware.

Guía de configuración del proyecto

  1. Clona el repositorio:

    root@kitploit:~
    git clone <repository_url>
    
  2. Navega al directorio del proyecto:

    root@kitploit:~
    cd nextjs-docker-app
    
  3. Construye la imagen de Docker:

    root@kitploit:~
    docker build -t nextjs-app .
    
  4. Ejecuta el contenedor de Docker:

    root@kitploit:~
    docker run -p 3000:3000 nextjs-app
    
  5. Accede a la aplicación en tu navegador en http://localhost:3000.

Explotación en diferentes versiones de Next.js

El método de explotación varía ligeramente dependiendo de la versión de Next.js:

Para versiones anteriores a 12.2:

En estas versiones, los archivos de middleware debían llamarse _middleware.ts y colocarse dentro de la carpeta pages. El valor de middlewareInfo.name se componía del nombre del directorio y el nombre del archivo:

root@kitploit:~
x-middleware-subrequest: pages/_middleware

Para rutas anidadas, podía haber múltiples archivos de middleware en diferentes niveles, resultando en múltiples valores posibles para el encabezado:

root@kitploit:~
x-middleware-subrequest: pages/dashboard/_middleware

o

root@kitploit:~
x-middleware-subrequest: pages/dashboard/panel/_middleware

Para versiones 12.2 y posteriores:

A partir de la versión 12.2, Next.js cambió las convenciones de middleware. El archivo debe llamarse middleware.ts (sin el guion bajo) y ya no debe ubicarse en la carpeta pages. Para estas versiones, el payload es más simple:

root@kitploit:~
x-middleware-subrequest: middleware

Adicionalmente, Next.js permite una estructura de proyecto alternativa con un directorio /src. En tales casos, el payload sería:

root@kitploit:~
x-middleware-subrequest: src/middleware

Para versiones 13.2.0 y posteriores:

Para las versiones 13.2.0 y superiores, Next.js introdujo una profundidad máxima de recursión para la ejecución de middleware. Esto fue implementado para evitar bucles infinitos pero no afecta la vulnerabilidad. La explotación sigue siendo la misma, ya que la verificación del encabezado ocurre antes de cualquier comprobación de profundidad de recursión.

root@kitploit:~
x-middleware-subrequest: middleware:middleware:middleware:middleware:middleware

Alternativamente, para proyectos que usan una estructura de directorio /src:

root@kitploit:~
x-middleware-subrequest: src/middleware:src/middleware:src/middleware:sr
=======
# cve-2025-29927
>>>>>>> 56c7b2dcd548caf771750519107bf7c57749a864
Descargar herramienta