Se ha revelado una vulnerabilidad crítica de Ejecución de Código Remoto (RCE) en Redis, identificada como CVE-2025-49844 y apodada “RediShell”, con una puntuación máxima de CVSS 10.0. La falla ha estado latente en el código de Redis durante aproximadamente 13 años y permite a un atacante con acceso autenticado ejecutar código nativo en el servidor host.
Detalles de la Falla y Riesgo de Explotación
La vulnerabilidad explota una falla en el scripting Lua de Redis, comprometiendo la seguridad del sistema operativo subyacente.
- Mecanismo: La falla es un error de Use-After-Free (UAF) explotado al manipular el recolector de basura durante la ejecución de scripts Lua. Esto permite al script malicioso escapar del sandbox de Lua y ejecutar código arbitrario en el servidor que hospeda Redis.
- Requisito: El atacante debe tener credenciales válidas en Redis (autenticación activa) para enviar el script Lua. La vulnerabilidad no permite el acceso sin autenticación por sí misma.
- Alcance del Riesgo: La falla existe en todas las versiones de Redis que permiten scripting Lua. Aunque se requiere autenticación, se estima que cientos de miles de instancias de Redis están expuestas a Internet, y cerca de 60,000 de ellas carecen de autenticación o están mal protegidas, lo que reduce drásticamente la barrera de acceso.
Consecuencias Críticas
- Control Total: Escapar del sandbox de Lua equivale a una escalada de privilegios significativa, dando al atacante control completo sobre el servidor host subyacente.
- Latencia Histórica: El hecho de que la falla haya existido por 13 años significa que instancias antiguas u olvidadas en la nube, que suelen estar desatendidas, son altamente explotables.
- Riesgo por Defecto: La capacidad de ejecutar scripts Lua por defecto en Redis se convierte en un riesgo inaceptable si no se limita o supervisa estrictamente a los usuarios.
Recomendaciones
- Actualizar Redis de Inmediato
- Parche Oficial: Migrar a las versiones corregidas publicadas por Redis para mitigar la CVE-2025-49844. Las versiones seguras incluyen: Redis OSS/CE 6.2.20, 7.2.11, 7.4.6, 8.0.4, 8.2.2 o superior.
- Verificación: Confirmar que todas las instancias (productivas, de desarrollo y de staging) hayan aplicado el parche.
- Fortalecer la Autenticación y el Acceso a la Red
- Autenticación Obligatoria: Asegurarse de que todas las instancias de Redis requieran una contraseña fuerte (requirepass configurado). No permitir ninguna instancia sin autenticación expuesta en ningún entorno.
- Restricción de Red: No exponer Redis directamente a Internet. Utilizar firewalls, VPNs, controles de acceso IP o redes privadas virtuales para asegurar que solo los sistemas autorizados y de confianza puedan conectarse a Redis.
- Deshabilitar o Limitar el Scripting Lua
- Mitigación Temporal: Como medida temporal o permanente, deshabilitar la ejecución de scripts Lua si no es estrictamente necesaria.
- ACLs: Revocar los comandos EVAL y EVALSHA mediante Listas de Control de Acceso (ACLs) para usuarios que no necesiten esta funcionalidad, limitando la superficie de ataque de la vulnerabilidad.




