
Exploit per CVE-2025-32023
Esecuzione di codice remoto nelle operazioni HyperLogLog di Redis
CVE-2025-32023 è una vulnerabilità di esecuzione di codice remoto (RCE) nel database Redis, che interessa specificamente la gestione delle operazioni della struttura dati HyperLogLog. Questa falla consente a un utente autenticato di innescare una scrittura fuori dai limiti (out-of-bounds) basata su stack o heap inviando stringhe appositamente predisposte, potenzialmente portando all'esecuzione di codice arbitrario sul server. La vulnerabilità deriva da un overflow di interi nell'elaborazione delle codifiche HyperLogLog sparse. È stata segnalata da GitHub, Inc. (lo scopritore specifico non è stato divulgato pubblicamente) ed è presente in Redis dalla versione 2.8.
Un attaccante autenticato con accesso a un'istanza Redis vulnerabile può sfruttare questa vulnerabilità per eseguire codice arbitrario sul server, portando potenzialmente al compromesso completo del sistema. Ciò potrebbe comportare accesso non autorizzato a dati sensibili, installazione di backdoor persistenti o interruzione dei servizi. La vulnerabilità è particolarmente critica in ambienti in cui Redis viene utilizzato per caching ad alte prestazioni o elaborazione dei dati, poiché potrebbe esporre infrastrutture critiche ad attacchi.
Questo repository contiene uno script di exploit per CVE-2025-32023. Sostituisci i comandi segnaposto qui sotto con le istruzioni specifiche per eseguire il tuo 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: assicurati di avere installate le dipendenze necessarie (ad es. Python, librerie client Redis). Testa l'exploit in un ambiente controllato per evitare conseguenze indesiderate.
PFADD, PFCOUNT, PFMERGE). Esempio di configurazione ACL:
ACL SETUSER username -~pf*
La vulnerabilità deriva da un overflow di interi nell'elaborazione delle codifiche HyperLogLog sparse. Nello specifico, durante l'iterazione sui dati HyperLogLog sparsi, il contatore di lunghezza (int i) può subire un overflow fino a diventare un valore negativo a causa di un input malformato, portando a una scrittura fuori dai limiti (out-of-bounds) sullo stack o sullo heap. Questo può essere sfruttato per corrompere la memoria ed eseguire codice arbitrario, a seconda del contesto (ad es. hllMerge utilizza strutture allocate sullo stack, mentre hllSparseToDense utilizza strutture allocate sullo heap).
Il problema è stato corretto in Redis aggiungendo controlli sui limiti (bounds checks) e correggendo la gestione dei contatori di lunghezza nelle operazioni HyperLogLog. La correzione è inclusa nel seguente commit: Redis Commit 50188747.
Al 10 luglio 2025, non è stata segnalata alcuna diffusione su larga scala dello sfruttamento di CVE-2025-32023 in natura. Tuttavia, è disponibile codice di prova di concetto pubblico, che aumenta il rischio di attacchi mirati. Gli utenti Redis sono invitati ad applicare tempestivamente le patch e a implementare le mitigazioni raccomandate per proteggere i propri sistemi.