Удалённо эксплуатируемая уязвимость в почтовом сервере qmail

Исслeдoвaтeли бeзoпaснoсти с кoмпaнии Qualys пoкaзaли вoзмoжнoсть эксплуaтaции уязвимoсти в пoчтoвoм сeрвeрe qmail, извeстнoй eщё с 2005 гoдa (CVE-2005-1513), нo oстaвaвшeйся нeиспрaвлeннoй, тaк кaк aвтoр qmail утвeрждaл o нeрeaлистичнoсти сoздaния рaбoтaющeгo эксплoитa, кoтoрый мoг бы примeняться угоду кому) aтaки на системы в конфигурации после умолчанию. В Qualys удалось подготовить эксплоит опровергающий данное домысел и позволяющий инициировать удалённое выполнение стих на сервере через отправку спеца оформленного сообщения. Проблема вызвана целочисленным переполнением в функции stralloc_readyplus(), которое может вынырнуть при обработке очень большого сведения. Для эксплуатации требовалась 64-разрядная концепция с объёмом виртуальной памяти более 4ГБ. Быть изначальном разборе уязвимости в 2005 году Дэниел Бернштейн (Daniel J. Bernstein), утверждал, ась? присутствующее в коде предположение о том, чего размер выделяемого массива всегда укладывается в 32-битное подтекст основано на том, что мелк не предоставляет гигабайты памяти на брата процессу. За последние 15 планирование 64-разрядные системы на серверах вытеснили 32-разрядные, целиком выросли объёмы поставляемой памяти и пропускная дарование сетей. Сопровождающие пакеты с qmail учли словоизлияние Бернштейна и при запуске процесса qmail-smtpd ограничивали доступную реминисценция (например, в Debian 10 выставляется ограничение в 7MB). Но инженеры из Qualys выяснили, как этого недостаточно и кроме qmail-smtpd удалённая штурм может быть проведена на эксплуатация qmail-local, который во всех проверенных пакетах оставался невыгодный ограничен. В качестве доказательства был подготовлен прообраз эксплоита, пригодный для атаки получи и распишись поставляемый в Debian пакет с qmail в конфигурации в соответствии с умолчанию. Для организации удалённого выполнения стих в ходе атаки требуется наличие нате сервере 4ГБ свободного места для диске и 8ГБ ОЗУ. Эксплоит позволяет шибануть любые shell-команды с правами любого пользователя в системе, вне root и системных пользователей, не имеющих своего подкаталога в каталоге "/home" (судебное дело qmail-local запускается с правами локального пользователя, которому осуществляется развозка). Атака осуществляется через отправку весть большого почтового сообщения, включающего одну крош строк в заголовке, размером около 4GB и 576MB. Мотыжение такой строки в qmail-local приводит к целочисленному переполнению возле попытке доставки сообщения локальному пользователю. Посредством манипуляции с компоновкой передаваемых данных удаётся в томик числе переписать адрес функции "open()", заменив его держи адрес функции "system()". Да так как часть файла "extension" образуется бери основе адреса получателя (например, "localuser-extension@localdomain") атакующие могут сформировать передачу команды для запуска, указав пользователя "localuser-;command;@localdomain" в качестве получателя сведения. Первая уязвимость (CVE-2020-3811) позволяет опередить проверку email-адреса, а вторая (CVE-2020-3812) приводит к утечке локальной информации. В частности, первая слабость позволяет обойти проверку корректности адреса, применяемого в эксплоите пользу кого передачи команды (проверка не срабатывает пользу кого адресов без домена, таких сиречь "localuser-;command;"). Вторая незащищенность может использоваться для проверки наличия файлов и каталогов в системе, в книга числе доступных только для root (qmail-verify запускается с правами root), поверх прямое обращение к локальному обработчику. На обхода проблемы Бернштейн рекомендовал приводить в действие. Ant. завершать процессы qmail с выставлением общего лимитчик на доступную память ("softlimit -m12345678"), и в этом случае вопрос блокируется. В качестве альтернативного способа защиты да упоминается ограничение максимального размера обрабатываемого сведения через файл "control/databytes" (по мнению умолчанию не создаётся при близ настройках по умолчанию qmail остаётся уязвим). В придачу того, "control/databytes" не защищает через локальных атак со стороны пользователей системы, круглым счетом как ограничение учитывается только в qmail-smtpd. Закавычка затрагивает пакет netqmail, входящий в репозитории Debian. Во (избежание данного пакета подготовлен набор патчей, устраняющий во вкусе старые уязвимости 2005 года (сверх добавление в код функции alloc() жёстких лимитов получи память), так и новые проблемы в qmail-verify. Одиноко подготовлен обновлённый вариант патча qmail-verify. Разработчики ответвления notqmail подготовили домашние патчи для блокирования старых проблем, а вот и все запустили работу по устранению всех возможных целочисленных переполнений в коде. Родник: http://www.opennet.ru/opennews/art.shtml?num=52991