
CVE-2025-49844

Ejecución Remota de Código Crítica en la Tienda en Memoria Más Rápida del Mundo
La programación Lua de Redis se convierte en la zona de aterrizaje perfecta post-autenticación.
Atacante autenticado → script Lua manipulado → escape del sandbox → RCE total en el host
CVE-2025-49844 ("RediShell") es una vulnerabilidad crítica de use-after-free (UAF) por corrupción de memoria en el motor de scripting Lua embebido de Redis.
Un usuario autenticado envía un script Lua especialmente diseñado mediante EVAL / EVALSHA que manipula el recolector de basura, provoca un UAF durante el análisis/ejecución, escapa del sandbox de Lua y logra ejecución arbitraria de código en el host subyacente.
El error permaneció oculto en el código fuente de Redis durante ~13 años (desde la integración temprana de Lua) y afecta prácticamente a todas las versiones con Lua habilitado hasta su parcheo en octubre de 2025.
“Una sola llamada EVAL maliciosa. Control total del servidor. Redis en 2025–2026 se ha vuelto interesante.”
Realidad en marzo de 2026:
Redis embebe Lua 5.x para scripting (EVAL, EVALSHA, funciones, etc.).
La falla reside en la interacción entre el analizador de Lua y el GC:
EVALluaY_parser), un objeto TString se asigna pero no se protege en la pila de LuaPunto crítico fatal: El sandbox de Lua nunca fue endurecido contra primitivas de corrupción de memoria.
| Fecha | Evento |
|---|---|
| ~2012 | Integración vulnerable de Lua introducida |
| Mayo 2025 | Wiz descubre y demuestra en Pwn2Own Berlin |
| 3 Oct 2025 | Divulgación pública + aviso de seguridad de Redis |
| 3 Oct 2025 | Versiones corregidas publicadas (6.2.20+, 7.x, 8.x) |
| 6–7 Oct 2025 | Blogs de Wiz/Sysdig/Redrays + PoCs iniciales |
| Oct 2025+ | Aparecen repositorios de exploits (GitHub, labs) |
| Marzo 2026 | Explotación en curso contra configuraciones heredadas/cloud |
Vulnerables: Todas las versiones de Redis con scripting Lua habilitado anteriores a los parches de octubre de 2025
Corregido en:
Objetivos comunes en 2026:
Solución alternativa (pre-parche):
EVAL, EVALSHA, SCRIPT LOAD, etc.Flujo de ataque realista (alto nivel, a partir de análisis públicos):
EVAL manipulado que provoca UAF + fuga de memoriaEjemplo esqueleto de una línea (no es exploit completo – solo para ilustración):
redis-cli -h <objetivo> -p 6379 -a contraseña
> EVAL "script_lua_que_provoca_uaf_y_ejecuta_shell" 0
PoCs completos armados aparecieron en GitHub en cuestión de días (fuga de memoria → ROP → shell).
Muchos incluyen bypass de ASLR, evasión de NX/DEP y opciones de persistencia.
redis-cli INFO SERVER | grep redis_version
→ Vulnerable si es anterior a las versiones parcheadas anteriores
# En redis.conf o ACL
acl setuser default off ~* &* +@all -EVAL -EVALSHA -SCRIPT
EVAL