Хакеры массово эксплуатируют «детскую» уязвимость в почтовом сервере Zimbra
Эксперты выяснили, что в недавних версиях Zimbra отсутствовала очистка пользовательского ввода, из-за чего достаточно было специального электронного письма, чтобы запустить вредоносный код на сервере. Уязвимость к настоящему моменту устранена.
Код в копии
Хакеры плотно взялись за недавно обнаруженную уязвимость в почтовых серверах Zimbra: она позволяет запускать произвольный код с минимальными усилиями – для ее успешной эксплуатации буквально нужно отправить специально скомпонованное электронное письмо.
Уязвимость CVE-2024-45519 присутствует в службе postjournal, отвечающей за парсинг входящих почтовых сообщений по протоколу SMTP. Как оказалось, уязвимая служба «охотно» выполняет команды, встроенные в поле CC («копия перенаправления»).
1 октября исследователь компании HarfangLab Иван Квятковский (Ivan Kwiatkowski) написал, что уязвимость начали массово эксплуатировать (добавив, что патчи надо ставить уже даже не «немедленно», а «вчера»). Позднее его выводы подтвердили эксперты компании Proofpoint, заявившие, что атаки начались 28 сентября, менее чем через сутки после выхода демонстрационного эксплойта.
Исследователи отметили, что злоумышленники отправляют почтовые сообщения с фальшивыми адресами Gmail, которые в поле CC содержат и поддельные адреса, и вредоносный код. Если код составлен правильно, почтовый сервер Zimbra выполняет его.
Фактически этот код представляет собой строки, закодированные base-64, результатом исполнения которых оказывается вебшелл – бэкдор – в сервере Zimbra. После установки он пассивно ожидает входящие вызовы с cookie JSESSIONID. Если обнаружен искомый cookie, вебшелл осуществляет парсинг другого cookie (JACTION), который содержит уже закодированные base64 команды. И исполняет их. Вебшелл также способен скачивать и выполнять целые файлы на скомпрометированный сервер.
В конечном счете злоумышленники получают полный доступ к скомпрометированному серверу и могут использовать его для кражи данных или для дальнейшего передвижения по сети, в которой функционирует этот сервер.
Дурная наследственность
Исправления для уязвимости CVE-2024-45519 вносит патч 41 для версии 9.0.0, а также версии 10.0.9 и 10.1.1. Для версии 8.8.15 нужен патч 46.
Эксперты компании ProjectDiscovery исследовали уязвимость уже после выпуска патча, произведя его обратный инжиниринг и выяснив, в чем заключается проблема.
«Из этой публикации следует, что в уязвимых версиях отсутствовал механизм очистки пользовательского ввода, который как раз и должен страховать от любых попыток «контрабанды кода», – говорит Никита Павлов, эксперт по информационной безопасности компании SEQ. – Одно из базовых правил безопасности заключается в том, что ПО, обрабатывающее входящие данные, не должно исполнять несанкционированный код, исходящий от кого-либо, кроме администраторов. Грамотный программист не допустит таких ошибок в собственном коде. Но программные комплексы собираются из множества компонентов, в том числе сторонних, и не всегда есть возможность проверить каждый из них. А в результате крупные и популярные пакеты оказываются под угрозой из-за чьей-то «детской» оплошности, допущенной, возможно, много лет назад».
Информации об инцидентах, прямо связанных с этой уязвимостью, пока нет.