Il 19 dicembre è stata resa pubblica la CVE-2025-14847, una vulnerabilità in MongoDB Server soprannominata MongoBleed. Il nome richiama Heartbleed, la falla di OpenSSL che nel 2014 permetteva di leggere la memoria dei server web un frammento alla volta, e la somiglianza è sostanziale. Il 26 dicembre è uscito un exploit pubblico, e il 29 le autorità statunitensi hanno aggiunto la falla all’elenco delle vulnerabilità sfruttate attivamente. Tre giorni tra l’exploit e gli attacchi confermati, nel pieno delle feste.
Il problema sta nella gestione dei messaggi di rete compressi con zlib. Un attaccante invia un pacchetto che dichiara una dimensione decompressa più grande di quella reale. Il server prepara uno spazio di memoria ampio, lo riempie solo in parte e restituisce anche il resto, che contiene residui di operazioni precedenti. Tutto avviene prima dell’autenticazione: basta poter raggiungere la porta del database.
Ogni risposta è un frammento a caso. Ma ripetendo la richiesta migliaia di volte un attaccante raccoglie pezzi di documenti, query, credenziali, token di sessione o chiavi. Le scansioni contano decine di migliaia di server MongoDB raggiungibili da Internet. Quanti siano stati effettivamente svuotati, al momento, nessuno lo sa.
Anche le versioni vecchie
La falla riguarda quasi tutte le versioni di MongoDB Server, comprese quelle a fine supporto. Le versioni corrette sono la 8.2.3, la 8.0.17, la 7.0.28, la 6.0.27, la 5.0.32 e la 4.4.30. La 3.6, la 4.0 e la 4.2 non riceveranno correzioni. I cluster sul servizio cloud gestito di MongoDB sono già stati aggiornati automaticamente.
Molti database MongoDB installati in proprio restano esposti su Internet per comodità o per errore, spesso da anni. Finora il rischio tipico erano le password deboli o assenti. Con MongoBleed non servono nemmeno quelle.
Aggiorna a una versione corretta. Se non puoi farlo subito, disattiva la compressione zlib escludendola dall’opzione networkMessageCompressors e riavvia il servizio. Se usi una versione a fine supporto, la migrazione non è più rimandabile.
Poi chiudi la porta 27017, con il firewall e con bindIp, a tutti tranne gli indirizzi delle applicazioni. Se il server era raggiungibile dall’esterno, cambia le password degli utenti del database e i segreti delle applicazioni collegate. Nei log, molte connessioni brevi dallo stesso indirizzo sono la firma tipica di questi attacchi.



