В пакета , предоставящия средства за дистанционно управление на сървъра, бекдор (), открит в официалните сборки на проекта, чрез 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
