Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2021-32675 — Exploit DoS fonctionnel pour CVE-2021-32675 dans Redis, exploitant des en-têtes de chaînes volumineuses surdimensionnés pour déclencher un épuisement de la mémoire. Inclut des instructions d'utilisation et un environnement de test basé sur Docker. | Kitploit
Outils/GitHubGitHub/rubbxalc/cve-2021-32675
Analyse des VulnérabilitésExploitationTests d'IntrusionApprentissage et ÉducationRed Teaming
GitHubrubbxalc/cve-2021-32675

CVE-2021-32675

Exploit DoS fonctionnel pour CVE-2021-32675 dans Redis, exploitant des en-têtes de chaînes volumineuses surdimensionnés pour déclencher un épuisement de la mémoire. Inclut des instructions d'utilisation et un environnement de test basé sur Docker.

Voir le dépôt
il y a 15h 32mPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2021-32675 – Déni de service par pré-allocation Redis (OOM)

Ce dépôt contient un exploit fonctionnel pour CVE-2021-32675, une vulnérabilité de déni de service (DoS) dans Redis. La faille permet à des attaquants distants non authentifiés de déclencher des pré-allocations massives de mémoire sur le serveur Redis en envoyant des en-têtes de chaînes volumineuses sans fournir les données d'argument, entraînant l'épuisement de la mémoire et le crash du service.

Description

CVE-2021-32675 est une vulnérabilité dans la gestion du tampon de requêtes de Redis. Lors de l'analyse des commandes entrantes dans le protocole RESP (REdis Serialization Protocol), Redis lit la longueur déclarée d'un argument de chaîne volumineuse ($<longueur>\r\n) et pré-alloue immédiatement un tampon SDS (Simple Dynamic String) en mémoire pour recevoir la charge utile avant de lire les octets de l'argument.

Comme cette pré-allocation se produit avant la réception de la charge utile de l'argument, un client non authentifié peut déclarer la taille maximale autorisée de chaîne volumineuse (par défaut, proto-max-bulk-len est de 512 Mo) et maintenir la connexion ouverte indéfiniment sans transmettre les données réelles. Redis conserve la mémoire pré-allouée pour chaque connexion active, créant un ratio d'amplification d'environ 32 000 000× (~16 octets de trafic réseau entraînent une réservation mémoire de 512 Mo).

L'ouverture de plusieurs connexions simultanées utilisant cette technique d'en-tête uniquement épuise rapidement la mémoire disponible du serveur, provoquant :

  • Des évictions forcées de clés si une politique maxmemory est active.
  • Un déni de service en rejetant les opérations d'écriture ultérieures (OOM command not allowed).
  • La terminaison du processus par le tueur OOM (Out-Of-Memory) du système d'exploitation.
  • La vulnérabilité affecte les versions de Redis antérieures à :

    • 6.2.6
    • 6.0.16
    • 7.0 (lorsqu'il n'est pas authentifié ou exécuté avec les limites volumineuses par défaut)

    Les instances Redis exécutées sans authentification (requirepass non configuré) ou avec le proto-max-bulk-len par défaut (512 Mo) sont vulnérables à cet exploit. Les versions corrigées imposent une limite stricte de 16 Ko du tampon de protocole pour les clients non authentifiés avant que la pré-allocation n'ait lieu.

    Instructions d'installation

    1. Créer un environnement virtuel (optionnel mais recommandé) :
    root@kitploit:~
    python3 -m venv .venv
    source .venv/bin/activate
    
    1. Installer les dépendances :
    root@kitploit:~
    pip install -r requirements.txt
    

    Prérequis

    • Python 3.8+

      • bibliothèque colorama
      • bibliothèque redis
    • Instance Redis vulnérable (versions antérieures à 6.2.6 / 6.0.16 ou instances non authentifiées)

    Utilisation

    root@kitploit:~
    python3 exploit.py --host <IP> --port <PORT> [options]
    

    Options

    OptionTypeDéfautDescription
    --hoststrRequisNom d'hôte ou adresse IP Redis cible
    --portint6379Numéro de port
    --connectionsint10Nombre de connexions malveillantes à ouvrir
    --sizeint512Taille déclarée du tampon de chaîne volumineuse en Mo
    --holdint5Secondes de maintien des connexions ouvertes avant nettoyage
    --password, --authstrNoneMot de passe pour l'authentification Redis (si nécessaire)

    Exemple

    root@kitploit:~
    python3 exploit.py --host 127.0.0.1 --port 6379 --connections 10 --size 512 --hold 5
    

    Environnement de test local (optionnel)

    Vous pouvez lancer un laboratoire de test local à l'aide de la configuration Docker Compose incluse :

    root@kitploit:~
    # Démarrer Redis vulnérable (port 6380) et Redis corrigé (port 6381)
    docker compose -f conf/docker-compose.yml up -d
    
    # Tester contre l'instance vulnérable
    python3 exploit.py --host 127.0.0.1 --port 6380 --connections 10 --size 512
    
    # Tester contre l'instance corrigée
    python3 exploit.py --host 127.0.0.1 --port 6381 --password "L4bS3cur3!2024" --connections 10 --size 512
    
    # Arrêter les conteneurs
    docker compose -f conf/docker-compose.yml down
    

    Avertissement

    Cette preuve de concept est fournie à des fins éducatives, de recherche et de vérification de sécurité uniquement. L'auteur n'est pas responsable de toute utilisation abusive, de tout dommage ou de tout test non autorisé contre des systèmes sans autorisation explicite.

    Télécharger l’outil