Sploitus

Exploit for cve-2025-14847 CVE-2025-14847

kitploit · 2026-08-26

Exploit Code

MARKDOWN95 lines
## 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+.