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