Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2021-32675 — Exploit DoS funzionale per CVE-2021-32675 in Redis, che sfrutta intestazioni di stringhe bulk sovradimensionate per innescare l'esaurimento della memoria. Include istruzioni per l'uso e un ambiente di test basato su Docker. | Kitploit
Strumenti/GitHubGitHub/rubbxalc/cve-2021-32675
Analisi delle VulnerabilitàExploitPenetration TestingApprendimento e FormazioneRed Teaming
GitHubrubbxalc/cve-2021-32675

CVE-2021-32675

Exploit DoS funzionale per CVE-2021-32675 in Redis, che sfrutta intestazioni di stringhe bulk sovradimensionate per innescare l'esaurimento della memoria. Include istruzioni per l'uso e un ambiente di test basato su Docker.

Vedi Repository
13h 45m faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2021-32675 – Redis Pre-Allocation Denial of Service (OOM)

Questo repository contiene un exploit funzionante per CVE-2021-32675, una vulnerabilità di denial-of-service (DoS) in Redis. La falla consente ad attaccanti remoti non autenticati di innescare massicce pre-allocazioni di memoria sul server Redis inviando intestazioni di bulk string sovradimensionate senza fornire i dati degli argomenti, portando all'esaurimento della memoria e al crash del servizio.

Descrizione

CVE-2021-32675 è una vulnerabilità nella gestione del buffer delle query di Redis. Durante l'analisi dei comandi in arrivo nel protocollo RESP (REdis Serialization Protocol), Redis legge la lunghezza dichiarata di un argomento bulk string ($<length>\r\n) e pre-alloca immediatamente un buffer SDS (Simple Dynamic String) in memoria per ricevere il payload prima di leggere qualsiasi byte dell'argomento.

Poiché questa pre-allocazione avviene prima di ricevere il payload dell'argomento, un client non autenticato può dichiarare la dimensione massima consentita per una bulk string (per impostazione predefinita, proto-max-bulk-len è 512 MB) e mantenere la connessione aperta indefinitamente senza trasmettere i dati effettivi. Redis conserva la memoria pre-allocata per ogni connessione attiva, creando un rapporto di amplificazione di circa 32.000.000× (~16 byte di traffico di rete comportano una riserva di memoria di 512 MB).

L'apertura di più connessioni concorrenti utilizzando questa tecnica basata solo sull'intestazione esaurisce rapidamente la memoria disponibile del server, causando:

  • Eviction forzata delle chiavi se è attiva una policy .
maxmemory
  • Denial of service rifiutando le successive operazioni di scrittura (OOM command not allowed).
  • Terminazione del processo da parte del killer OOM (Out-Of-Memory) del sistema operativo.
  • La vulnerabilità interessa le versioni di Redis precedenti a:

    • 6.2.6
    • 6.0.16
    • 7.0 (quando non autenticato o eseguito con i limiti bulk predefiniti)

    Le istanze Redis eseguite senza autenticazione (requirepass non configurato) o con il proto-max-bulk-len predefinito (512 MB) sono vulnerabili a questo exploit. Le versioni patchate impongono un limite rigoroso di 16 KB per il buffer di protocollo per i client non autenticati prima che avvenga la pre-allocazione.

    Istruzioni di Installazione

    1. Creare un Ambiente Virtuale (Opzionale ma Consigliato):
    root@kitploit:~
    python3 -m venv .venv
    source .venv/bin/activate
    
    1. Installare le Dipendenze:
    root@kitploit:~
    pip install -r requirements.txt
    

    Requisiti

    • Python 3.8+

      • libreria colorama
      • libreria redis
    • Istanza Redis vulnerabile (versioni precedenti a 6.2.6 / 6.0.16 o istanze non autenticate)

    Utilizzo

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

    Opzioni

    OpzioneTipoPredefinitoDescrizione
    --hoststrObbligatorioHostname o indirizzo IP del Redis di destinazione
    --portint6379Numero di porta
    --connectionsint10Numero di connessioni dannose da aprire
    --sizeint512Dimensione dichiarata del buffer bulk string in MB
    --holdint5Secondi per mantenere aperte le connessioni prima della pulizia
    --password, --authstrNonePassword per l'autenticazione Redis (se necessaria)

    Esempio

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

    Ambiente di Test Locale (Opzionale)

    Puoi avviare un laboratorio di test locale utilizzando la configurazione Docker Compose inclusa:

    root@kitploit:~
    # Avvia Redis vulnerabile (porta 6380) e Redis mitigato (porta 6381)
    docker compose -f conf/docker-compose.yml up -d
    
    # Test contro l'istanza vulnerabile
    python3 exploit.py --host 127.0.0.1 --port 6380 --connections 10 --size 512
    
    # Test contro l'istanza mitigata
    python3 exploit.py --host 127.0.0.1 --port 6381 --password "L4bS3cur3!2024" --connections 10 --size 512
    
    # Arresta i container
    docker compose -f conf/docker-compose.yml down
    

    Disclaimer

    Questa Proof of Concept è fornita esclusivamente a scopo educativo, di ricerca e di verifica della sicurezza. L'autore non è responsabile per qualsiasi uso improprio, danno o test non autorizzato contro sistemi senza esplicita autorizzazione.

    Scarica lo strumento