Vulnerabilità in Exim che porta all'esecuzione remota di codice sul server

È stata scoperta una grave vulnerabilità (CVE-2026-45185) nel server di posta Exim, che consente l'esecuzione remota di codice sul server. Il problema si manifesta a partire dalla versione Exim 4.97 quando compilato con la libreria GnuTLS («USE_GNUTLS=yes») ed è stato risolto nella versione Exim 4.99.3. Le compilazioni con OpenSSL e altre librerie diverse da GnuTLS non sono interessate dalla vulnerabilità.

Il problema è causato da un accesso a memoria già liberata (use-after-free) nel backend di GnuTLS e può essere sfruttato accedendo a server che supportano l'estensione «ESMTP CHUNKING» e il comando BDAT per inviare porzioni del corpo del messaggio anziché inviare un blocco indivisibile utilizzando il comando DATA. La corruzione del contenuto della memoria del processo si verifica quando il client inizia la chiusura prematura della sessione TLS utilizzando il comando close_notify durante l'invio del corpo del messaggio tramite BDAT e inviando successivamente un byte non criptato nella stessa connessione TCP.

Quando viene ricevuta la comanda close_notify nel backend di GnuTLS, viene chiamata la funzione di interruzione della sessione TLS, che rilascia i buffer associati alla sessione. A causa di un errore nel codice del backend, nonostante il rilascio del buffer TLS, il gestore BDAT continua a leggere dati dallo stream e chiama la funzione ungetc(), il che, durante l'invio successivo di dati non crittografati, porta alla scrittura di un byte in un buffer già rilasciato. Questo byte danneggia i metadati dell'allocatore di memoria nel heap, il che è stato utilizzato per effettuare esperimenti sulla creazione di un exploit che esegue codice arbitrario su server.

Inizialmente, i ricercatori hanno generato un exploit parzialmente funzionante tramite AI, che ha permesso di raggiungere l'esecuzione di codice, ma era operativo solo in condizioni controllate, su sistemi con la protezione ASLR e PIE disattivate e su una specifica versione della libreria libc. Successivamente, è stato tentato di creare un exploit con la partecipazione umana, in cui sono state superate alcune difficoltà, riuscendo a ottenere una fuga dell'indirizzo dello stack, ma entro la data prevista per la divulgazione della vulnerabilità, l'exploit non è stato completato. Secondo gli studiosi che hanno identificato la vulnerabilità, gli assistenti AI non sono ancora in grado di creare exploit per prodotti complessi, ma sperano che in futuro altri ricercatori possano completare il loro lavoro e scrivere un exploit completamente funzionante.

Tra le principali distribuzioni, le versioni di Exim 4.97+ sono utilizzate in Debian 13, Ubuntu 24.04+, SUSE/openSUSE, Arch Linux, Alpine Linux 3.19+, ALT Linux p11, ROSA, Gentoo, OpenWRT, Fedora, EPEL (exim non è incluso nel repository ufficiale di RHEL) e FreeBSD. La compilazione di Exim con GnuTLS è predefinita in Debian e Ubuntu, mentre in altre distribuzioni richiede conferma. Come soluzione per aggirare la vulnerabilità, è possibile disattivare l'estensione CHUNKING modificando l'impostazione chunking_advertise_hosts nel file di configurazione.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster