È stata pubblicata una versione correttiva del server di posta Exim 4.99.1, che risolve una vulnerabilità (CVE-2025-67896) che consente a un attaccante remoto di compromettere il contenuto della memoria al di fuori del buffer allocato. Potenzialmente, il problema potrebbe essere utilizzato per eseguire codice in remoto sul server, ma attualmente non è stato ancora preparato un exploit funzionante.
La vulnerabilità è presente nel codice per l'interazione con il database interno (Hints DB) basato su SQLite, utilizzato per memorizzare informazioni temporanee, stato di consegna dei messaggi e dettagli sull'intensità dell'invio delle email. Il problema è causato dal fatto che le voci del database erano direttamente convertite nella struttura interna «dbdata_ratelimit_unique» senza una corretta verifica. Si creava una situazione in cui veniva creato un array fisso «bloom» di dimensione 40 byte, mentre il contenuto del campo «bloom_size», che definiva il numero di elementi scritti nell'array, dipendeva dalla dimensione dei dati nel database. L'attaccante poteva organizzare una scrittura oltre il buffer allocato, inserendo nel database dati (utilizzando un'altra vulnerabilità) tali per cui il campo «bloom_size» assumeva un valore maggiore della dimensione dell'array.
Il problema si manifesta nelle versioni Exim 4.99 e 4.98.2 e interessa solo le configurazioni con ACL ratelimit in cui sono utilizzati i parametri «unique» o «per_addr» (ad esempio, «warn ratelimit = 100 / 1h / per_addr / $sender_address» oppure «warn ratelimit = 100 / 1h / per_rcpt / unique=$sender_address»). Inoltre, per effettuare l'attacco, Exim deve essere compilato con supporto per SQLite (USE_SQLITE=yes), attivato nel file di configurazione (hints_database = sqlite). Nelle configurazioni vulnerabili, eseguendo «exim -bV» viene visualizzato «Hints DB: Using sqlite3».
Tra i principali distribuzioni, le versioni problematiche sono state utilizzate in Debian 13, Ubuntu 25.10, SUSE/openSUSE, Arch Linux, Fedora e FreeBSD. RHEL e distribuzioni derivate non sono affette dal problema, poiché Exim non è incluso nel loro repository di pacchetti di base (nell'EPEL l'aggiornamento per il pacchetto exim non è ancora stato pubblicato).
Si segnala anche l'emergere di un nuovo vettore per sfruttare la vulnerabilità CVE-2025-26794, corretta nella versione di febbraio di Exim 4.98.1. La vulnerabilità permette di eseguire un'iniezione di codice SQL nel database interno (Hints DB). La correzione precedentemente implementata non escapava gli apici singoli. Un esempio del comando MAIL FROM che porta all'iniezione di codice SQL è: «MAIL FROM:<«x’/__/UNION__/SELECT__/X'<hex_blob>’—«@attacker.com>». Questa vulnerabilità può essere utilizzata come punto di partenza per generare le condizioni per il buffer overflow descritto sopra.
Fonte: opennet.ru
