📧 CVE-2026-45185 “Dead.Letter”: критична RCE у поштовому сервері Exim загрожує мільйонам серверів
Exim – відкрите програмне забезпечення для передачі електронної пошти на Unix-подібних системах – отримало критичне виправлення для вразливості CVE-2026-45185, відомої під назвою Dead.Letter. Вразливість класифікується як «use-after-free» – це тип помилки пам’яті, коли програма продовжує звертатися до вже звільненої ділянки RAM. Вона зачіпає всі версії Exim від 4.97 до 4.99.2 включно, але лише ті, що зібрані з бібліотекою GnuTLS для шифрування. Вразливість живе в шляху обробки TLS: Exim звільняє внутрішній буфер передачі під час завершення TLS-з’єднання, але стан-машина SMTP ще зберігає посилання на нього. Якщо клієнт надсилає фінальний байт у відкритому вигляді після сигналу завершення TLS, Exim записує дані у вже звільнену пам’ять, пошкоджуючи структури менеджера купи. Вразливість отримала оцінку CVSS 9.8 – критична. Для атаки не потрібна автентифікація і не потрібна взаємодія з жертвою: достатньо встановити TLS-з’єднання та використати стандартне розширення SMTP під назвою CHUNKING, яке увімкнено за замовчуванням на більшості поштових серверів у відкритому інтернеті.
Уразливість виявила команда XBOW – платформи автономного тестування безпеки коду. Дослідники надіслали звіт Exim-мейнтейнерам 1 травня 2026 року і витримали 11-денне ембарго для координованого випуску патчів. 5 травня мейнтейнери підтвердили наявність виправлення у приватному репозиторії, 8 травня – сповістили дистрибутиви Linux. 12 травня вийшла версія Exim 4.99.3, яка усуває проблему, скидаючи стек обробки вхідних даних при отриманні TLS close_notify під час активного BDAT-передавання. Того ж дня Debian випустив виправлені пакети exim4 для стабільних гілок, Ubuntu опублікував координовані оновлення безпеки для підтримуваних релізів. Дистрибутиви на базі Red Hat і SUSE, що використовують OpenSSL замість GnuTLS, не є вразливими. Ніякого ефективного обхідного рішення не існує, окрім оновлення: Exim-команда прямо вказала, що відключення CHUNKING не є підтримуваним способом пом’якшення. Дослідники XBOW описали Dead.Letter як одну з найвищого рівня помилок, коли-небудь виявлених в Exim: незважаючи на те, що початковий write-примітив записує лише один байт у звільнену пам’ять, цього виявляється достатньо для побудови повного RCE-ланцюжка.
