
Exploit pour CVE-2025-32023
Exécution de code à distance dans les opérations HyperLogLog de Redis
CVE-2025-32023 est une vulnérabilité d'exécution de code à distance (RCE) dans la base de données Redis, affectant spécifiquement la gestion des opérations de la structure de données HyperLogLog. Cette faille permet à un utilisateur authentifié de déclencher une écriture hors limites sur la pile ou le tas en soumettant des chaînes conçues, pouvant conduire à une exécution de code arbitraire sur le serveur. La vulnérabilité provient d'un dépassement d'entier dans le traitement des encodages HyperLogLog clairsemés. Elle a été signalée par GitHub, Inc. (le découvreur spécifique n'a pas été divulgué publiquement) et est présente dans Redis depuis la version 2.8.
Un attaquant authentifié ayant accès à une instance Redis vulnérable peut exploiter cette vulnérabilité pour exécuter du code arbitraire sur le serveur, ce qui pourrait entraîner un compromis complet du système. Cela pourrait entraîner un accès non autorisé à des données sensibles, l'installation de portes dérobées persistantes ou une perturbation des services. La vulnérabilité est particulièrement critique dans les environnements où Redis est utilisé pour la mise en cache haute performance ou le traitement de données, car elle peut exposer l'infrastructure critique à des attaques.
# 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>
Remarque : Assurez-vous d'avoir installé les dépendances nécessaires (ex : Python, bibliothèques client Redis). Testez l'exploit dans un environnement contrôlé pour éviter des conséquences imprévues.
PFADD, PFCOUNT, PFMERGE). Exemple de configuration ACL :
ACL SETUSER username -~pf*
La vulnérabilité provient d'un dépassement d'entier dans le traitement des encodages HyperLogLog clairsemés. Plus précisément, lors de l'itération sur les données HyperLogLog clairsemées, le compteur de longueur (int i) peut déborder vers une valeur négative en raison d'une entrée malformée, conduisant à une écriture hors limites sur la pile ou le tas. Cela peut être exploité pour corrompre la mémoire et exécuter du code arbitraire, selon le contexte (par exemple, hllMerge utilise des structures allouées sur la pile, tandis que hllSparseToDense utilise des structures allouées sur le tas).
Le problème a été corrigé dans Redis en ajoutant des contrôles de limites et en corrigeant la gestion des compteurs de longueur dans les opérations HyperLogLog. Le correctif est inclus dans le commit suivant : Redis Commit 50188747.
Au 10 juillet 2025, aucune exploitation généralisée de CVE-2025-32023 n'a été signalée dans la nature. Cependant, un code de preuve de concept public est disponible, ce qui augmente le risque d'attaques ciblées. Les utilisateurs de Redis sont invités à appliquer rapidement les correctifs et à mettre en œuvre les mesures d'atténuation recommandées pour sécuriser leurs systèmes.