Byla vydána opravená verze poštovního serveru Exim 4.99.1, která opravuje zranitelnost (CVE-2025-67896), jež umožňuje vzdálenému útočníkovi poškodit obsah paměti mimo vyhrazený buffer. Potenciálně může být problém využit pro vzdálené vykonání kódu na serveru, avšak funkční exploit zatím nebyl připraven.
Zranitelnost se nachází v kódu pro práci s interní databází (Hints DB) založenou na SQLite, která se používá k uchovávání dočasných informací, stavu doručování zpráv a údajů o intenzitě odesílání e-mailů. Problém vzniká tím, že záznamy z databáze byly přímo převáděny do interní struktury „dbdata_ratelimit_unique“ bez řádné kontroly. Došlo k situaci, kdy byl vytvořen fixní pole „bloom“ o velikosti 40 bytů, a obsah pole „bloom_size“, určující počet zapisovaných prvků do pole, závisel na velikosti dat v databázi. Útočník mohl způsobit zápis za hranice vyhrazeného bufferu tím, že umístil do databáze data (využitím další zranitelnosti), při nichž pole „bloom_size“ mělo hodnotu, která byla zjevně větší než velikost pole.
Problém se projevuje ve verzích Exim 4.99 a 4.98.2, a týká se pouze konfigurací s ACL ratelimit, ve kterých se používají parametry „unique“ nebo „per_addr“ (například „warn ratelimit = 100 / 1h / per_addr / $sender_address“ nebo „warn ratelimit = 100 / 1h / per_rcpt / unique=$sender_address“). K provedení útoku navíc musí být Exim sestaven s podporou SQLite (USE_SQLITE=yes), aktivovanou v konfiguračním souboru (hints_database = sqlite). Ve zranitelných konfiguracích se při spuštění „exim -bV“ zobrazuje „Hints DB: Using sqlite3“.
Z velkých distribucí byly problémové verze používány v Debian 13, Ubuntu 25.10, SUSE/openSUSE, Arch Linux, Fedora a FreeBSD. RHEL a odvozené distribuce problému nejsou vystaveny, protože Exim není součástí jejich standardního repozitáře balíčků (v EPEL aktualizace balíčku exim zatím nebyla vydána).
Také byla zaznamenána nová cesta k využití zranitelnosti CVE-2025-26794, odstraněné v únorové verzi Exim 4.98.1. Zranitelnost umožňuje provádět substituci SQL kódu do interní databáze (Hints DB). Dříve přidané opravy neescapovaly jednoduché uvozovky. Příklad příkazu MAIL FROM, který vede k substituci SQL kódu: „MAIL FROM:<„x’\/**\/UNION\/**\/SELECT\/**\/X'<hex_blob>’—„@attacker.com>“. Tato zranitelnost může být využita jako počáteční článek pro vytvoření podmínek pro vznik výše popsaného přetečení bufferu.
Zdroj: opennet.ru
