V balíku , ktorý poskytuje prostriedky na vzdialené spravovanie servera, zadný vchod (), objavený v oficiálnych zostavách projektu, cez Sourceforge a na hlavnej stránke. Zadný vchod bol prítomný v zostavách od 1.882 po 1.921 vrátane (v git-repozitári kód so zadným vchodom chýbal) a umožňoval vzdialene bez overenia vykonávať ľubovoľné shellové príkazy v systéme s právami root.
Na útok stačí mať otvorený sieťový port s Webmin a aktivitu v webovom rozhraní funkcie zmeny zastaraného hesla (predvolene zapnuté v zostavách 1.890, ale v ostatných verziách vypnuté). Problém v 1.930. Ako dočasné opatrenie na blokovanie zadného vchodu stačí odstrániť nastavenie „passwd_mode=” z konfiguračného súboru /etc/webmin/miniserv.conf. Na testovanie bol pripravený .
Problém bol v skripte password_change.cgi, v ktorom sa na overenie zadaného starého hesla vo webformulári používa funkcia unix_crypt, ktorej sa odovzdáva získané od používateľa heslo bez vykonávania escapovania špeciálnych znakov. V git-repozitári táto funkcia obalom nad modulom Crypt::UnixCrypt a nepredstavuje nebezpečenstvo, ale v dodávanom archíve na stránke Sourceforge sa volá kód, ktorý priamo pristupuje k /etc/shadow, ale robí to pomocou shellovej konštrukcie. Na útok stačí zadať do poľa so starým heslom znak „|“ a nasledujúci kód po ňom bude vykonaný s právami root na serveri.
V porovnaní vývojárov Webmin, škodlivý kód bol vložený v dôsledku kompromitácie infraštruktúry projektu. Podrobnosti zatiaľ neboli oznámené, a preto nie je jasné, či sa hack obmedzil na prevzatie kontroly nad účtom v Sourceforge alebo sa dotkol aj iných prvkov infraštruktúry vývoja a zostavovania Webmin. Škodlivý kód bol prítomný v archívoch od marca 2018. Problém tiež zasiahol . V súčasnosti sú všetky spúšťacie archívy prekompilované z Git.
Zdroj: opennet.ru
