
Exploit para CVE-2025-32023
Ejecución remota de código en operaciones HyperLogLog de Redis
CVE-2025-32023 es una vulnerabilidad de ejecución remota de código (RCE) en la base de datos Redis, que afecta específicamente al manejo de las operaciones de la estructura de datos HyperLogLog. Esta falla permite que un usuario autenticado provoque una escritura fuera de los límites basada en pila o montón al enviar cadenas manipuladas, lo que potencialmente puede conducir a la ejecución de código arbitrario en el servidor. La vulnerabilidad se origina en un desbordamiento de enteros en el procesamiento de codificaciones HyperLogLog dispersas. Fue reportada por GitHub, Inc. (el descubridor específico no fue revelado públicamente) y ha estado presente en Redis desde la versión 2.8.
Un atacante autenticado con acceso a una instancia de Redis vulnerable puede explotar esta vulnerabilidad para ejecutar código arbitrario en el servidor, lo que potencialmente puede conducir a un compromiso total del sistema. Esto podría resultar en acceso no autorizado a datos sensibles, instalación de puertas traseras persistentes o interrupción de los servicios. La vulnerabilidad es particularmente crítica en entornos donde Redis se utiliza para almacenamiento en caché de alto rendimiento o procesamiento de datos, ya que podría exponer infraestructura crítica a ataques.
Este repositorio contiene un script de exploit para CVE-2025-32023. Reemplace los comandos de marcador de posición a continuación con las instrucciones específicas para ejecutar su script.
# Example usage (replace with actual commands for your script):
git clone https://github.com/atomicjjbod/CVE-2025-32023.git
cd CVE-2025-32023
chmod +x exploit
./exploit --host <redis_host> --port <redis_port>
Nota: Asegúrese de tener las dependencias necesarias instaladas (por ejemplo, Python, librerías cliente de Redis). Pruebe el exploit en un entorno controlado para evitar consecuencias no deseadas.
PFADD, PFCOUNT, PFMERGE). Ejemplo de configuración de ACL:
ACL SETUSER username -~pf*
La vulnerabilidad surge de un desbordamiento de enteros en el procesamiento de codificaciones HyperLogLog dispersas. Específicamente, al iterar sobre datos HyperLogLog dispersos, el contador de longitud (int i) puede desbordarse a un valor negativo debido a una entrada malformada, lo que provoca una escritura fuera de los límites en la pila o el montón. Esto puede explotarse para corromper la memoria y ejecutar código arbitrario, dependiendo del contexto (por ejemplo, hllMerge utiliza estructuras asignadas en la pila, mientras que hllSparseToDense utiliza estructuras asignadas en el montón).
El problema se solucionó en Redis añadiendo comprobaciones de límites y corrigiendo el manejo de los contadores de longitud en las operaciones HyperLogLog. La corrección se incluye en el siguiente commit: Redis Commit 50188747.
Hasta el 10 de julio de 2025, no se ha informado de una explotación generalizada de CVE-2025-32023 en la práctica. Sin embargo, hay código de prueba de concepto público disponible, lo que aumenta el riesgo de ataques dirigidos. Se insta a los usuarios de Redis a aplicar los parches con prontitud e implementar las mitigaciones recomendadas para proteger sus sistemas.