## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-KUYRATHDARO-CVE-2025-14847
# MongoBleed: CVE-2025-14847 – Strumento di Rilevamento delle Perdite di Memoria
**MongoBleed** è uno strumento di audit di sicurezza ad alte prestazioni progettato per rilevare e dimostrare **CVE-2025-14847**. Questa vulnerabilità consente a un attaccante remoto non autenticato di divulgare frammenti di memoria heap non inizializzata da un server MongoDB sfruttando un difetto di disallineamento della lunghezza nella logica di decompressione `zlib`.
## 🛡️ Panoramica della VulnerabilitĂ
* **ID CVE:** CVE-2025-14847
* **Stato:** Attivamente sfruttato in ambiente reale (a fine dicembre 2025).
* **GravitĂ :** Alta (CVSS 8.7)
* **Impatto:** Divulgazione di dati sensibili (credenziali, token di sessione, chiavi AWS, ecc.) senza autenticazione.
* **Versioni Affette:**
* 8.2.x < 8.2.3
* 8.0.x < 8.0.17
* 7.0.x < 7.0.28
* 6.0.x < 6.0.27
* 5.0.x < 5.0.32
* 4.4.x < 4.4.30
* Tutte le versioni 3.6.x, 4.0.x e 4.2.x.
## 🛠️ Configurazione dell'Ambiente di Test
Per testare questo script in sicurezza, utilizza il seguente docker-compose.yml per avviare un'istanza vulnerabile di MongoDB 8.2.2.
Esegui l'istanza con:
root@kitploit:~
docker-compose up -d
## đź’» Utilizzo
Assicurati di avere Python 3.8+ installato. Non sono richieste librerie esterne (usa socket, zlib e concurrent.futures integrati).
**Scansione Base**
root@kitploit:~
python mongobleed.py --host 127.0.0.1 --port 27017
**Opzioni Avanzate**
root@kitploit:~
python mongobleed.py --host 127.0.0.1 --threads 50 --range 100 10000 --output leak_dump.bin
## 🔍 Come Funziona
Lo script invia un messaggio OP_COMPRESSED (opcode 2012) modificato. Mente sulla lunghezza non compressa del payload. Il server MongoDB alloca un buffer dell'heap della dimensione "mentita", decomprime una piccolissima quantitĂ di dati al suo interno e poi restituisce erroneamente l'intero buffer non inizializzato al client.
## 🛡️ Mitigazione e Rimedio
L'unico modo permanente per risolvere CVE-2025-14847 è aggiornare il binario di MongoDB a una versione che includa una correzione per la logica di convalida della lunghezza di OP_COMPRESSED.
**Correzione Permanente (Aggiornamento)**
Applica le patch ufficiali di MongoDB. Queste versioni includono un controllo obbligatorio per garantire che la dimensione dei dati decompressi corrisponda al campo uncompressedSize nell'intestazione del messaggio.
## 🛠️ Soluzioni Temporanee
Se un aggiornamento immediato non è possibile a causa di requisiti di uptime, puoi bloccare il vettore di attacco modificando la configurazione del server.
**Disabilita il Compressore Vulnerabile (Consigliato)**
La vulnerabilità è specifica dell'implementazione di zlib. Puoi disabilitare zlib e forzare il server a utilizzare snappy o zstd, che non sono affetti da questo specifico bug di heap-over-read.
**Tramite Riga di Comando:** Riavvia l'istanza mongod con il seguente flag (nota l'esclusione di zlib):
root@kitploit:~
mongod --networkMessageCompressors snappy,zstd
**Tramite File di Configurazione (mongod.conf):**
root@kitploit:~
net:
compression:
compressors: snappy,zstd
## ⚠️ Dichiarazione di non responsabilitĂ
Questo strumento è destinato esclusivamente a scopi educativi e di test di sicurezza autorizzati. L'accesso non autorizzato ai sistemi informatici è illegale. L'autore non è responsabile per qualsiasi uso improprio di questo strumento. Aggiorna immediatamente le tue istanze MongoDB alle versioni 8.2.3+ o 8.0.17+.