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-2021-32675 — Exploit DoS funcional para CVE-2021-32675 en Redis, que aprovecha cabeceras de cadenas masivas de gran tamaño para provocar el agotamiento de la memoria. Incluye instrucciones de uso y un entorno de pruebas basado en Docker. | Kitploit
Herramientas/GitHubGitHub/rubbxalc/cve-2021-32675
Análisis de VulnerabilidadesExplotaciónPruebas de PenetraciónAprendizaje y EducaciónRed Teaming
GitHubrubbxalc/cve-2021-32675

CVE-2021-32675

Exploit DoS funcional para CVE-2021-32675 en Redis, que aprovecha cabeceras de cadenas masivas de gran tamaño para provocar el agotamiento de la memoria. Incluye instrucciones de uso y un entorno de pruebas basado en Docker.

Ver Repositorio
hace 15h 32mAú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-2021-32675 – Redis Denegación de Servicio por Pre-Asignación (OOM)

Este repositorio contiene un exploit funcional para CVE-2021-32675, una vulnerabilidad de denegación de servicio (DoS) en Redis. La falla permite que atacantes remotos no autenticados provoquen pre-asignaciones masivas de memoria en el servidor Redis enviando cabeceras de cadenas masivas sobredimensionadas sin proporcionar datos de argumento, lo que conduce al agotamiento de la memoria y al bloqueo del servicio.

Descripción

CVE-2021-32675 es una vulnerabilidad en el manejo del búfer de consultas de Redis. Al analizar comandos entrantes en el protocolo RESP (REdis Serialization Protocol), Redis lee la longitud declarada de un argumento de cadena masiva ($<length>\r\n) e inmediatamente pre-asigna un búfer SDS (Simple Dynamic String) en memoria para recibir la carga útil antes de leer cualquier byte de argumento.

Debido a que esta pre-asignación ocurre antes de recibir la carga útil del argumento, un cliente no autenticado puede declarar el tamaño máximo permitido de cadena masiva (por defecto, proto-max-bulk-len es 512 MB) y mantener la conexión abierta indefinidamente sin transmitir los datos reales. Redis retiene la memoria pre-asignada para cada conexión activa, creando una relación de amplificación de aproximadamente 32.000.000× (~16 bytes de tráfico de red resultan en una reserva de memoria de 512 MB).

Abrir múltiples conexiones concurrentes utilizando esta técnica de solo cabecera agota rápidamente la memoria disponible del servidor, causando:

  • Expulsiones forzadas de claves si una política maxmemory está activa.
  • Denegación de servicio al rechazar operaciones de escritura posteriores (OOM command not allowed).
  • Terminación del proceso por el asesino OOM (Out-Of-Memory) del sistema operativo.
  • La vulnerabilidad afecta a versiones de Redis anteriores a:

    • 6.2.6
    • 6.0.16
    • 7.0 (cuando no está autenticado o se ejecuta con límites de cadena masiva predeterminados)

    Las instancias de Redis que se ejecutan sin autenticación (requirepass no configurado) o con proto-max-bulk-len predeterminado (512 MB) son vulnerables a este exploit. Las versiones parcheadas imponen un límite estricto de 16 KB en el búfer de protocolo para clientes no autenticados antes de que se realice la pre-asignación.

    Instrucciones de Instalación

    1. Crear un Entorno Virtual (Opcional pero Recomendado):
    root@kitploit:~
    python3 -m venv .venv
    source .venv/bin/activate
    
    1. Instalar Dependencias:
    root@kitploit:~
    pip install -r requirements.txt
    

    Requisitos

    • Python 3.8+

      • librería colorama
      • librería redis
    • Instancia de Redis vulnerable (versiones anteriores a 6.2.6 / 6.0.16 o instancias no autenticadas)

    Uso

    root@kitploit:~
    python3 exploit.py --host <IP> --port <PUERTO> [opciones]
    

    Opciones

    OpciónTipoPredeterminadoDescripción
    --hoststrRequeridoHostname o dirección IP de Redis de destino
    --portint6379Número de puerto
    --connectionsint10Número de conexiones maliciosas a abrir
    --sizeint512Tamaño declarado del búfer de cadena masiva en MB
    --holdint5Segundos para mantener las conexiones abiertas antes de la limpieza
    --password, --authstrNoneContraseña para la autenticación de Redis (si es necesaria)

    Ejemplo

    root@kitploit:~
    python3 exploit.py --host 127.0.0.1 --port 6379 --connections 10 --size 512 --hold 5
    

    Entorno de Pruebas Local (Opcional)

    Puede lanzar un laboratorio de pruebas local utilizando la configuración de Docker Compose incluida:

    root@kitploit:~
    # Iniciar Redis vulnerable (puerto 6380) y Redis mitigado (puerto 6381)
    docker compose -f conf/docker-compose.yml up -d
    
    # Probar contra la instancia vulnerable
    python3 exploit.py --host 127.0.0.1 --port 6380 --connections 10 --size 512
    
    # Probar contra la instancia mitigada
    python3 exploit.py --host 127.0.0.1 --port 6381 --password "L4bS3cur3!2024" --connections 10 --size 512
    
    # Detener los contenedores
    docker compose -f conf/docker-compose.yml down
    

    Aviso Legal

    Esta Prueba de Concepto se proporciona únicamente con fines educativos, de investigación y de verificación de seguridad. El autor no es responsable de ningún uso indebido, daño o prueba no autorizada contra sistemas sin permiso explícito.

    Descargar herramienta