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-2026-21710 — Exploit de prueba de concepto para CVE-2026-21710, una falla en el manejo de solicitudes HTTP de Node.js que provoca un TypeError no capturado a través del encabezado __proto__, lo que conduce a una denegación de servicio. | Kitploit
Herramientas/GitHubGitHub/open-flaw/cve-2026-21710
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones Web
GitHubopen-flaw/cve-2026-21710

CVE-2026-21710

Exploit de prueba de concepto para CVE-2026-21710, una falla en el manejo de solicitudes HTTP de Node.js que provoca un TypeError no capturado a través del encabezado __proto__, lo que conduce a una denegación de servicio.

Ver Repositorio
hace 4 mesesAú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-2026-21710 — DoS en req.headersDistinct de Node.js

Resumen

CampoValor
ID CVECVE-2026-21710
Publicado2026-03-30
CVSS v3.17.5 ALTO (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H)
CWECWE-770 — Asignación de recursos sin límites ni limitación
AfectadosNode.js 20.x, 22.x, 24.x, 25.x
Corregido enLanzamientos de seguridad de marzo de 2026

Descripción

Una falla en el manejo de solicitudes HTTP de Node.js provoca un TypeError no capturado cuando se recibe una solicitud con una cabecera llamada __proto__ y la aplicación accede a req.headersDistinct.

dest["__proto__"] se resuelve a Object.prototype en lugar de undefined, lo que hace que se llame a .push() sobre un elemento que no es un array. Esta excepción se lanza de forma síncrona dentro de un getter de propiedad y no puede ser interceptada por los listeners del evento error — no se puede manejar sin envolver cada acceso a req.headersDistinct en un try/catch.

Causa raíz

El getter headersDistinct acumula los valores de las cabeceras en un objeto plano:

root@kitploit:~
const dest = {};
// ...
dest[name] = dest[name] || [];
dest[name].push(value);

Cuando name === "__proto__":

  • dest["__proto__"] devuelve Object.prototype (truthy, no undefined)
  • Se omite la inicialización || []
  • Se llama a .push(value) sobre Object.prototype → TypeError: dest[name].push is not a function
  • El lanzamiento síncrono escapa del límite de errores del event-loop y provoca el cierre del proceso

Archivos

ArchivoDescripción
server.jsServidor HTTP vulnerable (accede a req.headersDistinct directamente)
poc.jsExploit de prueba de concepto

Uso

Solo para investigación de seguridad autorizada / divulgación responsable.

Iniciar el servidor vulnerable

root@kitploit:~
node server.js
# Escuchando en http://127.0.0.1:3000

Ejecutar el POC

root@kitploit:~
node poc.js

Salida esperada:

  1. Paso 1 — la solicitud normal tiene éxito (HTTP 200).
  2. Paso 2 — se envía la cabecera __proto__; el servidor se bloquea con un TypeError no capturado.
  3. Paso 3 — la solicitud posterior recibe un error de conexión, lo que confirma el bloqueo.

Referencias

  • NVD — CVE-2026-21710
  • Lanzamientos de seguridad de Node.js de marzo de 2026
Descargar herramienta