Aktualizace poštovního serveru Exim 4.99.1 s opravou zranitelnosti

Byla publikována oprava pro poštovní server Exim 4.99.1, která opravuje zranitelnost (CVE-2025-67896), jež umožňuje vzdálenému útočníkovi poškodit paměť mimo povolený rozsah. Tato zranitelnost by mohla být potenciálně zneužita ke vzdálenému spuštění kódu na serveru, ale funkční exploit pro ni dosud nebyl vyvinut.

Tato zranitelnost existuje v kódu interní databáze založené na SQLite (Hints DB), která se používá k ukládání informací o čase, stavu doručení zpráv a rychlosti odesílání e-mailů. Problém je způsoben tím, že databázové záznamy jsou přímo převedeny na interní strukturu „dbdata_ratelimit_unique“ bez řádného ověření. K tomu dochází, když je vytvořeno pevné 40bajtové pole „bloom“ a obsah pole „bloom_size“, které určuje počet prvků zapsaných do pole, závisí na velikosti databázových dat. Útočník by mohl zapisovat mimo alokovanou vyrovnávací paměť vložením dat do databáze (zneužitím jiné zranitelnosti) s polem „bloom_size“ vědomě nastaveným na hodnotu větší než velikost pole.

Problém se týká Eximu 4.99 a 4.98.2 a ovlivňuje pouze konfigurace s ACL ratelimit, které používají parametry „unique“ nebo „per_addr“ (např. „warn ratelimit = 100 / 1h / per_addr / $sender_address“ nebo „warn ratelimit = 100 / 1h / per_rcpt / unique=$sender_address“). Pro provedení útoku musí být Exim zkompilován s povolenou podporou SQLite (USE_SQLITE=yes) v konfiguračním souboru (hints_database = sqlite). V zranitelných konfiguracích má spuštění „exim -bV“ za následek výstup „Hints DB: Using sqlite3“.

Z hlavních distribucí byly problematické verze použity v Debian 13, Ubuntu 25.10, SUSE/openSUSE, Arch Linux, Fedora a FreeBSD. RHEL a jeho deriváty nejsou tímto problémem ovlivněny, protože Exim není zahrnut v jejich standardních repozitářích balíčků (EPEL dosud nezveřejnil aktualizaci balíčku Exim).

Byl také identifikován nový vektor pro zneužití zranitelnosti CVE-2025-26794, opravené v únorové verzi Eximu 4.98.1. Zranitelnost umožňuje substituci SQL v interní databázi (Hints DB). Dříve přidaná oprava neunikla jednoduchým uvozovkám. Příklad příkazu MAIL FROM vedoucího k substituci SQL: "MAIL FROM:<«x'/**/UNION/**/SELECT/**/X' '—«@attacker.com>». Tuto zranitelnost lze použít jako výchozí bod pro vytvoření podmínek pro výše popsané přetečení vyrovnávací paměti.

Zdroj: opennet.ru

Kupte si spolehlivý hosting pro stránky s DDoS ochranou, VPS VDS servery 🔥 Kupte si spolehlivý webhosting s ochranou DDoS, VPS VDS servery | ProHoster