> For the complete documentation index, see [llms.txt](https://beafn28.gitbook.io/beafn28/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://beafn28.gitbook.io/beafn28/cve-and-poc/poc-cve-2025-32023-redis-remote-code-execution-rce.md).

# PoC - CVE-2025-32023 (Redis) - Remote Code Execution (RCE)

{% embed url="<https://www.exploit-db.com/exploits/52477>" %}

### Resumen

Desarrollé una Proof of Concept (PoC) que demuestra una vulnerabilidad que puede derivar en **Remote Code Execution (RCE)** en **Redis**, explotable mediante operaciones de **HyperLogLog (HLL)** con una entrada especialmente manipulada que provoca una condición de **out-of-bounds write** (stack/heap) durante el procesamiento interno.

La PoC fue verificada y publicada en **Exploit Database (EDB-ID 52477)**. Esta entrada documenta el vector afectado, el enfoque de explotación y recomendaciones de mitigación.

### Detalle técnico

* **Producto afectado:** Redis
* **Versiones afectadas (según descripción pública):**
  * `>= 8.0.0` y `< 8.0.3`
  * (También se menciona impacto en ramas anteriores y correcciones en `7.4.5`, `7.2.10` y `6.2.19`)
* **CVE:** CVE-2025-32023
* **Componente / feature:** Operaciones **HyperLogLog (HLL)**
* **Técnica:** Payload binario manipulado para provocar **escritura fuera de límites** durante operaciones HLL
* **Precondición:** Usuario **autenticado** (capaz de ejecutar comandos HLL)
* **Impacto potencial:** Corrupción de memoria → posible **RCE**

### Descripción de la PoC

La PoC construye un payload **HYLL** (estructura interna de HyperLogLog) utilizando el modo **sparse**, generando múltiples “runs” tipo **xzero** con un tamaño concreto para forzar un desbordamiento en contadores/longitudes internas cuando Redis procesa el valor.

Flujo general:

1. Conexión a un servidor Redis accesible.
2. Escritura del payload HLL malformado en una key.
3. Disparo del procesado vulnerable mediante una operación HLL (p. ej. `PFCOUNT` con merge).

### Comportamiento demostrado

* Escritura de una estructura HLL malformada en Redis.
* Ejecución de una operación HLL que dispara el procesamiento del payload.
* Posible corrupción de memoria por **out-of-bounds write** (dependiendo de build/mitigaciones), con riesgo de:
  * crash,
  * comportamiento indefinido,
  * y **potencial ejecución de código**.

### Entorno de pruebas

* **Sistema:** Ubuntu 22.04
* **Redis:** versión vulnerable dentro del rango publicado (`8.0.2` en el PoC)
* **Herramientas empleadas:**
  * `redis-py` (cliente Python)
  * Python 3
* **Entorno:** laboratorio controlado

### Impacto

Un atacante autenticado podría explotar esta vulnerabilidad para:

* Provocar **corrupción de memoria** en el proceso Redis.
* Potencialmente derivar en **RCE**, comprometiendo:
  * **confidencialidad** (lectura de datos sensibles),
  * **integridad** (modificación de datos / ejecución de acciones),
  * **disponibilidad** (caídas del servicio).

### Mitigaciones recomendadas

* **Actualizar Redis** a una versión corregida:
  * `>= 8.0.3` (y/o ramas parcheadas `7.4.5`, `7.2.10`, `6.2.19`).
* Restringir mediante **ACL** el uso de comandos HLL:
  * bloquear `PFADD`, `PFCOUNT`, `PFMERGE` para usuarios no confiables.
* Segmentar y limitar el acceso a Redis:
  * no exponer el servicio a redes no confiables,
  * aplicar autenticación fuerte,
  * minimizar roles y permisos.
* Monitorizar y alertar ante patrones anómalos:
  * operaciones HLL repetitivas,
  * tamaños inusuales de valores en keys asociadas.

### Referencias

* **Exploit DB:** <https://www.exploit-db.com/exploits/52477>
* **CVE Record:** <https://nvd.nist.gov/vuln/detail/CVE-2025-32023>

{% hint style="danger" %}
Esta PoC ha sido desarrollada únicamente con fines educativos y de investigación. No debe ejecutarse contra sistemas en producción ni sin autorización expresa. Seguir siempre prácticas de *responsible disclosure*.
{% endhint %}
