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
tough-cookie-2.5.0-cve-2023-26136-fix — Parche de seguridad para CVE-2023-26136 en tough-cookie 2.5.0 - Corrección de vulnerabilidad de contaminación de prototipos con compatibilidad hacia atrás | Kitploit
Herramientas/GitHubGitHub/uriyahav/tough-cookie-2.5.0-cve-2023-26136-fix
Análisis EstáticoAnálisis de VulnerabilidadesAnálisis de CódigoSeguridad WebPapers e InvestigaciónAprendizaje y Educación
GitHuburiyahav/tough-cookie-2.5.0-cve-2023-26136-fix

tough-cookie-2.5.0-cve-2023-26136-fix

Parche de seguridad para CVE-2023-26136 en tough-cookie 2.5.0 - Corrección de vulnerabilidad de contaminación de prototipos con compatibilidad hacia atrás

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
Ver Repositorio
hace 1 añoAún no revisado

Corrección para CVE-2023-26136 en tough-cookie 2.5.0

Resumen de la misión

Este proyecto aborda CVE-2023-26136, una vulnerabilidad crítica de contaminación de prototipos en versiones de tough-cookie anteriores a la 4.1.3. La vulnerabilidad afecta a la aplicación web de Penguin Software Inc., que utiliza [email protected] para el procesamiento de cookies.

Descripción de la vulnerabilidad

CVE-2023-26136 es una vulnerabilidad de contaminación de prototipos que ocurre cuando se usa CookieJar con rejectPublicSuffixes=false. El problema surge de una inicialización inadecuada de objetos en la clase MemoryCookieStore, lo que permite a los atacantes inyectar propiedades en el Object.prototype a través de dominios de cookies maliciosamente manipulados.

Detalles técnicos

La vulnerabilidad existe en lib/memstore.js donde las cookies se almacenan usando objetos JavaScript simples ({}). Dado que estos objetos heredan del Object.prototype, los atacantes pueden explotar esto estableciendo cookies con dominios como __proto__, constructor o prototype, lo que provoca contaminación de prototipos.

Solución

Implementación del parche

La corrección reemplaza todas las instancias de {} con Object.create(null) en la clase MemoryCookieStore:

root@kitploit:~
// Before (vulnerable)
this.idx = {};

// After (fixed)
this.idx = Object.create(null);

Este cambio previene la contaminación de prototipos al crear objetos sin cadena de prototipos, aislando efectivamente el almacenamiento de cookies de herencias no deseadas.

Archivos modificados

  • lib/memstore.js: Inicialización de objetos actualizada para usar Object.create(null)

Estructura del proyecto

root@kitploit:~
├── README.md                    # This file
├── changes.diff                 # Git-compatible diff file
├── test-cve-2023-26136.js      # Unit test for the fix
├── tough-cookie/
│   ├── index.js                 # Exploit demonstration
│   ├── Original v2.5.0/         # Original vulnerable version
│   ├── v2.5.0-PATCHED/          # Patched version
│   │   └── tough-cookie-2.5.0.tgz  # Packed version
│   └── package.json
└── mission.txt                  # Original mission requirements

Instalación y pruebas

1. Versión empaquetada (.tgz)

La versión parcheada está disponible como tough-cookie/v2.5.0-PATCHED/tough-cookie-2.5.0.tgz.

Para instalar:

root@kitploit:~
npm install ./tough-cookie/v2.5.0-PATCHED/tough-cookie-2.5.0.tgz

2. Ejecución del conjunto de pruebas

El conjunto de pruebas original de tough-cookie debería pasar. Para ejecutar las pruebas:

root@kitploit:~
cd tough-cookie/v2.5.0-PATCHED
npm install
npm test

Nota: La versión original de tough-cookie 2.5.0 no incluye un directorio de pruebas en esta distribución, pero la versión parcheada mantiene total compatibilidad con la API original.

3. Prueba unitaria para la corrección de vulnerabilidad

Ejecute la prueba unitaria personalizada para verificar la corrección:

root@kitploit:~
node test-cve-2023-26136.js

Salida esperada:

root@kitploit:~
Testing CVE-2023-26136 fix...
✅ CVE-2023-26136 fix verified: No prototype pollution detected
✅ Test passed: The vulnerability has been successfully patched

4. Demostración del exploit

El proyecto incluye una demostración del exploit en tough-cookie/index.js:

root@kitploit:~
cd tough-cookie
node index.js

Esto probará tanto la versión original vulnerable como la versión parcheada, mostrando:

  • EXPLOITED SUCCESSFULLY para la versión original
  • EXPLOIT FAILED para la versión parcheada

Documentación de cambios

changes.diff

El archivo changes.diff contiene un diff compatible con git que se puede aplicar usando:

root@kitploit:~
git apply changes.diff

Este diff incluye solo los cambios necesarios para corregir la vulnerabilidad sin modificaciones no deseadas.

Detalles del exploit

El exploit funciona de la siguiente manera:

  1. Creando un CookieJar con rejectPublicSuffixes: false
  2. Estableciendo una cookie maliciosa con dominio __proto__
  3. Esto contamina la cadena del Object.prototype
  4. Los nuevos objetos heredan las propiedades contaminadas

Daño potencial:

  • Manipulación del comportamiento de la aplicación
  • Elusión de seguridad
  • Denegación de servicio
  • Corrupción de datos

Compatibilidad con Node.js

✅ Probado y verificado en Node.js 20 (LTS)

Información del repositorio

Repositorio de GitHub: Repositorio fork de tough-cookie

Git Tag: v2.5.0-patched-cve-2023-26136-fix

Experiencia en CI/CD

Herramientas de Integración Continua Utilizadas:

  1. GitHub Actions - Nivel experto

    • Pruebas automatizadas y despliegue
    • Escaneo de seguridad y gestión de dependencias
    • Pruebas multi-plataforma
  2. Jenkins - Nivel avanzado

    • Desarrollo y mantenimiento de pipelines
    • Contenedores Docker
    • Integración con varias herramientas
  3. Travis CI - Nivel intermedio

    • Automatización de compilación
    • Ejecución de pruebas
    • Flujos de trabajo de despliegue
  4. CircleCI - Nivel intermedio

    • Configuración de pipelines CI/CD
    • Soporte Docker
    • Ejecución de trabajos en paralelo
  5. GitLab CI/CD - Nivel avanzado

    • Desarrollo de pipelines
    • Despliegue en Kubernetes
    • Integración de escaneo de seguridad

Herramientas adicionales:

  • Docker - Nivel experto (contenedores y orquestación)
  • Kubernetes - Nivel avanzado (despliegue y escalado)
  • SonarQube - Nivel intermedio (análisis de calidad de código)
  • Snyk - Nivel intermedio (escaneo de vulnerabilidades de seguridad)

Referencias

  • CVE-2023-26136 - NVD
  • Repositorio de GitHub de tough-cookie
  • Guía de seguridad sobre contaminación de prototipos

Licencia

Este proyecto mantiene la licencia original de tough-cookie (BSD-3-Clause) mientras añade la corrección de seguridad.


Nota: Este es un parche centrado en la seguridad que mantiene la compatibilidad total hacia atrás mientras elimina la vulnerabilidad CVE-2023-26136.

Descargar herramienta