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
redis-poc — PoC de RCE para Redis 6.2.22, 7.4.9, 8.6.4, 8.8.0, 8.8.1 | Kitploit
Herramientas/GitHubGitHub/berabuddies/redis-poc
Análisis de VulnerabilidadesExplotaciónPruebas de PenetraciónRed TeamingSeguridad de Bases de DatosExplotación de Binarios
GitHubberabuddies/redis-poc

redis-poc

PoC de RCE para Redis 6.2.22, 7.4.9, 8.6.4, 8.8.0, 8.8.1

Ver Repositorio
487118hace 28 díasRevisado por Kitploit

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

RCE autenticado en Redis (doble liberación de NACK en streams, errores de los módulos TDigest y TopK)

Exploits de RCE no destructivos para Redis 6.2.22, 7.4.9, 8.6.4 mediante la doble liberación de NACK compartido en grupos de consumidores de streams (una evasión del parche de CVE-2026-25243), para 8.8.0 mediante un desbordamiento de heap en TDigest dentro del RedisBloom incluido, y para 8.8.1 mediante una liberación salvaje en TopK (una evasión del parche de CVE-2026-25589).

Archivos

  • A_exploit_stock.py — exploit para 6.2.22 (imagen redis:6.2.22)
  • P74_exploit.py (+ P74_g2.py) — exploit para 7.4.9 (imagen redis:7.4)
  • P86_exploit.py — exploit para 8.6.4 (imagen redis:8.6)
  • P88W_exploit.py (+ P88W_lib.py, P88W_corrupt.py) — exploit para 8.8.0 (imagen redis:8.8.0, mediante desbordamiento de heap en TDigest del módulo incluido)
  • T88_exploit.py — exploit para 8.8.0 y 8.8.1 (mediante liberación salvaje en TopK del módulo incluido; evasión de la corrección incompleta de CVE-2026-25589 — funciona en RedisBloom v8.8.0 y v8.8.2)
  • A_lib.py, G2_arbread.py — helpers compartidos (deben estar junto a los exploits)
  • crc64.c/h, crcspeed.c/h — fuentes de libcrc64.so (CRC64 de Redis, necesario para construir payloads RESTORE válidos)
  • calibrate.sh — calcula los offsets binarios para compilaciones no oficiales
  • P74_loop.sh, P86_run.sh — envoltorios de reintento de arranque

Compilación (una sola vez)

root@kitploit:~
gcc -shared -fPIC -O2 -o libcrc64.so crc64.c crcspeed.c

Requisitos: Python 3.6+ (sin paquetes pip), gcc.

Uso

root@kitploit:~
# 6.2.22 (DEBUG enabled by default)
python3 A_exploit_stock.py <host> <port> [password] [trigger]

# 7.4.9 / 8.6.4 — stock target, NO debug flag needed
python3 P74_exploit.py <host> <port> [password] [trigger]
python3 P86_exploit.py <host> <port> [password] [trigger]

# 8.8.0 — stock target, FRESH container/instance strongly recommended
python3 P88W_exploit.py <host> <port> [password] [trigger]

# 8.8.0 / 8.8.1 — TopK wild free, stock target, fresh instance recommended
python3 T88_exploit.py <host> <port> [password] [trigger]
  • password — omítelo (o pasa "") para objetivos sin autenticación
  • trigger — comando de shell; por defecto escribe una prueba en /data/pwned*

Ejemplos:

root@kitploit:~
# local lab, 6.2.22
docker run -d -p 6379:6379 redis:6.2.22 redis-server --requirepass exploitme
python3 A_exploit_stock.py 127.0.0.1 6379 exploitme "id > /data/pwned_stock"

# local lab, 7.4.9
docker run -d -p 6379:6379 redis:7.4 redis-server --requirepass exploitme
python3 P74_exploit.py 127.0.0.1 6379 exploitme "id > /data/pwned74"

# local lab, 8.6.4
docker run -d -p 6379:6379 redis:8.6 redis-server --requirepass exploitme
python3 P86_exploit.py 127.0.0.1 6379 exploitme "id > /data/pwned86"

# local lab, 8.8.0
docker run -d -p 6379:6379 redis:8.8.0 redis-server --requirepass exploitme
python3 P88W_exploit.py 127.0.0.1 6379 exploitme "id > /data/pwned88"
python3 T88_exploit.py 127.0.0.1 6379 exploitme "id > /data/pwned_t88"

Requisitos del objetivo

  • 6.2.22: offsets de la imagen oficial por defecto. Para otras compilaciones, sobrescribe los offsets (--str-format-off etc.; consulta --help), o ejecuta ./calibrate.sh /path/to/redis-server [/path/to/libc.so.6] para generarlos. Unos offsets incorrectos provocan la caída del servidor objetivo (lecturas fuera de rango).
  • 7.4.9 / 8.6.4 / 8.8.0 / 8.8.1: imágenes oficiales estándar, no se necesita ninguna flag de depuración.
  • Comandos disponibles para el usuario: EVAL, RESTORE, XGROUP (8.8.0/8.8.1 también necesitan el módulo RedisBloom incluido, presente por defecto).
  • Los exploits de 8.8.0/8.8.1 son sensibles al diseño de memoria: el corredor de TDigest y la liberación salvaje de TopK dependen ambos del diseño de jemalloc — usa una instancia nueva sin otros clientes o comandos intercalados, y reintenta si el grooming falla.

Notas

  • Residuos posteriores a la ejecución (deliberados e inertes): un puñado de claves del exploit que mantienen vivos los fragmentos con doble liberación; consulta HARDENING.md para más detalles. El exploit de 8.8.0 deja ~2000 estructuras tdigest a cero y una clave oracle corrupta — no hagas FLUSHALL/SAVE en el objetivo después.
  • La doble liberación de NACK compartido solo está corregida en 8.8.0 (PR #15081); el exploit de 8.8.0 usa en su lugar un error separado y sin corregir del módulo incluido.
  • Evasiones de parche demostradas: la variante de NACK compartido evade la corrección de CVE-2026-25243; la liberación salvaje de TopK evade la corrección de CVE-2026-25589 (puesta a cero parcial de punteros — TopK_Destroy sigue leyendo todos los punteros k más allá del heap de tamaño insuficiente tanto en RedisBloom v8.8.0 como en v8.8.2).
  • Fiabilidad: 6.2.22 10/10, 7.4.9 5/5, 8.6.4 25/25, 8.8.0 5/5 validados en contenedores nuevos. Los fallos abortan limpiamente; vuelve a ejecutar o usa los envoltorios.

Solo para pruebas autorizadas.

Descargar herramienta