W pakiecie , który zapewnia środki do zdalnego zarządzania serwerem, tylną furtkę (), odkrytą w oficjalnych wydaniach projektu, przez Sourceforge i na stronie głównej. Tylna furtka była obecna w wersjach od 1.882 do 1.921 włącznie (w repozytorium git kod z tylną furtką był nieobecny) i pozwalała zdalnie na wykonanie dowolnych poleceń shell w systemie z uprawnieniami root bez przechodzenia przez uwierzytelnianie.
Aby przeprowadzić atak, wystarczy otwarty port sieciowy z Webmin i aktywność w interfejsie webowym funkcji zmiany przestarzałego hasła (domyślnie włączona w wersjach 1.890, ale w innych wersjach wyłączona). Problem do 1.930. Jako tymczasowe rozwiązanie, aby zablokować tylną furtkę, wystarczy usunąć ustawienie "passwd_mode=" z pliku konfiguracyjnego /etc/webmin/miniserv.conf. Przygotowano .
Problem został w skrypcie password_change.cgi, w którym do weryfikacji wprowadzonego w formularzu webowym starego hasła używana jest funkcja unix_crypt, której przekazywane jest hasło użytkownika bez wykonania eskalacji specjalnych znaków. W repozytorium git ta funkcja ma opakowanie na module Crypt::UnixCrypt i nie stanowi zagrożenia, ale w dostarczanym z archiwum na stronie Sourceforge kodzie wywoływany jest kod, który bezpośrednio odwołuje się do /etc/shadow, robiąc to za pomocą konstrukcji shell. Aby przeprowadzić atak, wystarczy wpisać w polu ze starym hasłem znak „|”, a następujący po nim kod zostanie wykonany z uprawnieniami root na serwerze.
Według programistów Webmin, złośliwy kod został wstrzyknięty w wyniku kompromitacji infrastruktury projektu. Na razie nie ujawniono szczegółów, więc nie jest jasne, czy włamanie ograniczyło się do przejęcia konta na Sourceforge, czy też dotknęło innych elementów infrastruktury rozwoju i budowy Webmin. Złośliwy kod był obecny w archiwach od marca 2018 roku. Problem dotknął również Obecnie wszystkie archiwa startowe zostały przebudowane z Gita.
Źródło: opennet.ru
