No pacote , que fornece ferramentas para gerenciar o servidor remotamente, um backdoor (), detectado nas compilações oficiais do projeto, através do Sourceforge e no site principal. O backdoor esteve presente em compilações de 1.882 até 1.921, inclusive (no repositório git, o código com o backdoor está ausente) e permitia a execução remota de comandos shell arbitrários no sistema com privilégios de root, sem autenticação.
Para a ataque, é suficiente ter uma porta de rede aberta com Webmin e atividade na interface web da função de troca de senha antiga (ativada por padrão nas compilações 1.890, mas desativada nas demais versões). O problema em 1.930. Como medida temporária para bloquear o backdoor, basta remover a configuração 'passwd_mode=' do arquivo de configuração /etc/webmin/miniserv.conf. Para teste, foi preparado .
O problema foi no script password_change.cgi, que verifica a senha antiga inserida no formulário web usando a função unix_crypt, a qual recebe a senha fornecida pelo usuário sem realizar a sanitização de caracteres especiais. No repositório git, essa função uma camada sobre o módulo Crypt::UnixCrypt e não representa perigo, mas no arquivo do código disponível no site do Sourceforge, o código é chamado diretamente de /etc/shadow, mas isso é feito através de uma construção shell. Para o ataque, basta inserir o símbolo '|' no campo da senha antiga e o código seguinte será executado com privilégios de root no servidor.
De acordo com Os desenvolvedores do Webmin, o código malicioso foi inserido devido à comprometimento da infraestrutura do projeto. Os detalhes ainda não foram divulgados, portanto não está claro se a invasão foi limitada ao controle da conta no Sourceforge ou afetou outros elementos da infraestrutura de desenvolvimento e construção do Webmin. O código malicioso esteve presente nos arquivos desde março de 2018. O problema também afetou . Atualmente, todos os arquivos de instalação foram reconstruídos a partir do Git.
Fonte: opennet.ru
