Os desenvolvedores do Ubuntu corrigiram uma série de vulnerabilidades que tornaram mais fácil para os usuários padrão obterem privilégios de root.

"Esta postagem do blog é sobre uma maneira surpreendentemente direta de aumentar os privilégios no Ubuntu", escreveu Kevin Backhouse, pesquisador do GitHub, em um post publicado na última terça-feira. "Com alguns comandos simples no terminal e alguns cliques do mouse, um usuário padrão pode criar uma conta de administrador para si."

A primeira série de comandos disparou um bug de negação de serviço em um daemon chamado accountsservice, que, como o próprio nome sugere, é usado para gerenciar contas de usuário no computador.

Para fazer isso, Backhouse criou um Symlink que vinculava um arquivo denominado .pam_environment a / dev / zero, alterou a configuração de idioma regional e enviou um SIGSTOP para o serviço de contas.

Com a ajuda de alguns comandos extras, Backhouse foi capaz de definir um cronômetro que deu a ele tempo suficiente para sair da conta antes que o serviço de contas travasse. Quando feito corretamente, o Ubuntu iria reiniciar e abrir uma janela que permitia ao usuário criar uma nova conta que, você adivinhou, tinha privilégios de root.

Vídeo mostra criação da conta Admin

Backhouse disse que o Ubuntu usa uma versão modificada do serviço de contas que contém código que não está incluído na versão original. O código extra procura o arquivo .pam_environment no diretório inicial. Ao tornar o arquivo um link simbólico para / dev / zero, .pam_environment fica preso em um loop infinito.

O segundo bug envolvido no hack residia no gerenciador de exibição do GNOME, que entre outras coisas gerencia as sessões do usuário e a tela de login. O gerenciador de exibição, que geralmente é abreviado como gdm3, também aciona a configuração inicial do sistema operacional quando detecta que nenhum usuário existe no momento.

"Como o gdm3 verifica quantos usuários existem no sistema?" Backhouse perguntou retoricamente. "Você provavelmente já adivinhou: perguntando a contas-daemon! Então, o que acontece se o daemon de contas não responder? O código relevante está aqui."

As vulnerabilidades poderiam ser acionadas apenas quando alguém tivesse acesso físico e uma conta válida em uma máquina vulnerável. Funcionou apenas em versões desktop do Ubuntu.

A Solução

Os mantenedores do sistema operacional de código aberto corrigiram os bugs na semana passada. Backhouse, que disse ter encontrado as vulnerabilidades por acidente, tem muito mais detalhes técnicos na postagem do blog com link acima.