Nel pacchetto , che fornisce strumenti per la gestione remota del server, la backdoor (), scoperta nelle compilazioni ufficiali del progetto, attraverso Sourceforge e sul sito principale. La backdoor era presente nelle compilazioni dalla 1.882 alla 1.921 inclusa (nel repository git il codice con la backdoor era assente) e consentiva di eseguire comandi shell arbitrarî nel sistema con privilegi di root senza passare per l'autenticazione.
Per attaccare, è sufficiente avere una porta di rete aperta con Webmin e l'attività nell'interfaccia web della funzione di cambio della password obsoleta (abilitata per default nelle compilazioni 1.890, ma disabilitata nelle altre versioni). Il problema in nella versione 1.930. Come misura temporanea per bloccare la backdoor, è sufficiente rimuovere la configurazione «passwd_mode=» dal file di configurazione /etc/webmin/miniserv.conf. È stato preparato un .
Il problema è stato nello script password_change.cgi, dove per verificare la vecchia password inserita nel modulo web. la funzione unix_crypt, alla quale viene passato il password fornita dall'utente senza eseguire l'escape dei caratteri speciali. Nel repository git, questa funzione è un wrapper sopra il modulo Crypt::UnixCrypt e non rappresenta un pericolo, ma nel pacchetto di codice fornito sul sito Sourceforge viene eseguito un codice che accede direttamente a /etc/shadow, facendo ciò tramite una costruzione shell. Per l'attacco è sufficiente inserire nel campo della vecchia password il simbolo "|", e il codice successivo verrà eseguito con i diritti di root sul server.
Secondo degli sviluppatori di Webmin, il codice dannoso è stato inserito a seguito di una compromissione dell'infrastruttura del progetto. Non sono ancora forniti dettagli, quindi non è chiaro se l'hacking si sia limitato a prendere il controllo dell'account su Sourceforge o abbia coinvolto anche altri elementi dell'infrastruttura di sviluppo e costruzione di Webmin. Il codice dannoso è stato presente nei pacchetti da marzo 2018. Il problema ha anche coinvolto . Attualmente tutti i pacchetti di avvio sono stati ricostruiti da Git.
Fonte: opennet.ru
