Проект Zero Day Initiative (ZDI) раскрыл сведения о неисправленных (0-day) уязвимостях (CVE-2023-42115, CVE-2023-42116, CVE-2023-42117) в почтовом сервере Exim, позволяющих удалённо выполнить свой код на сервере с правами процесса, принимающего соединения на 25 сетевом порту. Аутентификация для проведения атаки не требуется.
Первая уязвимость (CVE-2023-42115) вызвана ошибкой в сервисе smtp и связана с отсутствием должных проверок данных, полученных от пользователя в процессе SMTP-сеанса и применяемых для расчёта размера буфера. В итоге, атакующий может добиться управляемой записи своих данных в область памяти за границей выделенного буфера.
Вторая уязвимость (CVE-2023-42116) присутствует в обработчике NTLM-запросов и вызвана копированием полученных от пользователя данных в буфер фиксированного размера без необходимых проверок размера записываемой информации.
Третья уязвимость (CVE-2023-42117) присутствует в процессе smtp, принимающем соединения на 25 TCP-порту, и вызвана отсутствием проверки входных данных, что может привести к записи переданных пользователем данных в область памяти за пределами выделенного буфера.
Уязвимости помечены как 0-day, т.е. остаются неисправленными, но в отчёте ZDI утверждается, что разработчики Exim были заранее уведомлены о проблемах. Последнее изменение в кодовой базе Exim произведено два дня назад и пока не ясно, когда проблемы будут устранены (производители дистрибутивов пока не успели среагировать так как информация раскрыта без деталей несколько часов назад). В настоящее время разработчики Exim готовятся к выпуску новой версии 4.97, но точных данных о времени её публикации пока нет. В качестве единственного на данный момент метода защиты упоминается ограничение доступа к SMTP-сервису на основе Exim.
Кроме вышеотмеченных критических уязвимостей раскрыта информация и о нескольких менее опасных проблемах:
- CVE-2023-42118 – целочисленное переполнение в библиотеке libspf2, проявляющееся при разборе макросов SPF. Уязвимость позволяет инициировать удалённое повреждение содержимого памяти и потенциально может использоваться для организации выполнения своего кода на сервере.
- CVE-2023-42114 – ошибка, приводящая к чтению из области памяти вне буфера в обработчике NTLM. Проблема может привести к утечке содержимого памяти процесса, обслуживающего сетевые запросы.
- CVE-2023-42119 – уязвимость в обработчике dnsdb, приводящая к утечке содержимого памяти процесса smtp.