В пакете , предоставляющем средства для удалённого управления сервером, бэкдор (), обнаруженный в официальных сборках проекта, через Sourceforge и на основном сайте. Бэкдор присутствовал в сборках с 1.882 по 1.921 включительно (в git-репозитории код с бэкдором отсутствовал) и позволял удалённо без прохождения аутентификации выполнить произвольные shell-команды в системе с правами root.
Для атаки достаточно наличия открытого сетевого порта с Webmin и активности в web-интерфейсе функции смены устаревшего пароля (по умолчанию включена в сборках 1.890, но в остальных версиях выключена). Проблема в 1.930. В качестве временной меры для блокирования бэкдора достаточно убрать настройку «passwd_mode=» из файла конфигурации /etc/webmin/miniserv.conf. Для тестирования подготовлен .
Проблема была в скрипте password_change.cgi, в котором для проверки введённого в web-форме старого пароля функция unix_crypt, которой передаётся полученный от пользователя пароль без выполнения экранирования спецсимволов. В git-репозитории данная функция обвязкой над модулем Crypt::UnixCrypt и не представляет опасности, но в поставляемом на сайте Sourceforge архиве с кодом вызывается код, который напрямую обращается к /etc/shadow, но делает это при помощи shell-конструкции. Для атаки достаточно указать в поле со старым паролем символ «|» и следующий после него код будет выполнен с правами root на сервере.
По разработчиков Webmin, вредоносный код был подставлен в результате компрометации инфраструктуры проекта. Подробности пока не сообщаются, поэтому не ясно, ограничился ли взлом захватом управления над учётной записью в Sourceforge или затронул и другие элементы инфраструктуры разработки и сборки Webmin. Вредоносный код присутствовал в архивах с марта 2018 года. Проблема также затронула . В настоящее время все загрузочные архивы пересобраны из Git.
Источник: opennet.ru
