Публикуван е коригиращ ъпдейт на пощенския сървър Exim 4.99.1, в който е отстранена уязвимост (CVE-2025-67896), позволяваща на отдалечен атакуващ да повреди съдържанието на паметта извън отредения буфер. Потенциално проблемът може да бъде използван за отдалечено изпълнение на код на сървъра, но работен експлойт за момента не е подготвен.
Уязвимостта е налична в кода за работа с вътрешната база данни (Hints DB) на базата на SQLite, използвана за съхранение на временна информация, състоянието на доставката на съобщения и сведения за интензивността на изпращане на имейли. Проблемът е причинен от това, че записи от базата данни директно се преобразуваха в вътрешната структура „dbdata_ratelimit_unique“ без подходяща проверка. Създаваше се ситуация, в която се генерираше фиксиран масив „bloom“, с размер 40 байта, а съдържанието на полето „bloom_size“, определящо броя на записваните в масива елементи, зависеше от размера на данните в базата данни. Атакуващият можеше да организира запис извън отредения буфер, като постави в базата данни данни (използвайки още една уязвимост), при които полето „bloom_size“ приемаше стойност, която определено е по-голяма от размера на масива.
Проблемът се проявява в версиите Exim 4.99 и 4.98.2 и засяга само конфигурации с ACL ratelimit, в които се използват параметри „unique“ или „per_addr“ (например, „warn ratelimit = 100 / 1h / per_addr / $sender_address“ или „warn ratelimit = 100 / 1h / per_rcpt / unique=$sender_address“). Освен това, за да се извърши атаката, Exim трябва да бъде компилиран със suport за SQLite (USE_SQLITE=yes), активиран в конфигурационния файл (hints_database = sqlite). В уязвимите конфигурации при стартиране на „exim -bV“ се извежда „Hints DB: Using sqlite3.“
От основните дистрибуции проблемните версии са използвани в Debian 13, Ubuntu 25.10, SUSE/openSUSE, Arch Linux, Fedora и FreeBSD. RHEL и производните дистрибуции не са засегнати от проблема, тъй като Exim не влиза в техния стандартен пакетен репозиторий (в EPEL обновление на пакета exim все още не е публикувано).
Също така се отбелязва откритие на нов вектор за експлоатация на уязвимостта CVE-2025-26794, отстранена в февруарското издание на Exim 4.98.1. Уязвимостта позволява подмяна на SQL код в вътрешната БД (Hints DB). Преди това добавеното поправка не е екранирало единичните кавички. Пример за команда MAIL FROM, която води до подмяна на SQL код: «MAIL FROM:<«x’/****/UNION/****/SELECT/****/X'<hex_blob>’—«@attacker.com>». Тази уязвимост може да се използва като начална връзка за създаване на условия за възникване на описаното по-горе препълване на буфера.
Източник: opennet.ru
