Sistemas operacionais baseados no Unix, como o macOS e distribuições Linux, oferecem o comando “sudo” para abrir programas e executar tarefas com privilégios elevados. Um pesquisador da Apple descobriu uma vulnerabilidade nesse comando que permite acesso indevido como superusuário, mesmo se você não souber a senha. Felizmente, a falha é mais restrita do que parece e já foi corrigida.

Existem algumas tarefas em distribuições Linux que são restritas ao superusuário, chamado de “root” — por exemplo, instalar novos programas. Para fazer isso, é possível rodar o comando sudo no terminal, onde você terá que informar a senha.

Ao rodar o comando sudo, é possível inserir seu nome de usuário ou um código identificador chamado UID. Por exemplo, supondo que o usuariotb tenha o UID 1001, seria possível usar dois comandos diferentes para abrir o editor de texto Vim: “sudo -u usuariotb vim” ou “sudo -u#1001 vim”.

Joe Vennix, pesquisador de segurança da Apple, descobriu que é possível rodar o comando sudo com sucesso usando o UID -1 ou 4294967295, mesmo se você não for o superusuário. Ele trata você como se tivesse acesso root (UID 0), e não é necessário inserir uma senha, já que esses UIDs não têm senhas associadas a eles.

Falha exige “sudo” mal-configurado para funcionar

No entanto, não é exatamente fácil aproveitar essa vulnerabilidade. É necessário que o arquivo de configurações do comando sudo, chamado “sudoers”, deixe o usuário rodar alguns comandos como se fosse outro usuário. Por padrão, a maioria das distribuições Linux não permitem isso.

“Embora esse bug seja poderoso, é importante lembrar que ele só funciona se um usuário tiver acesso a um comando por meio do arquivo de configuração sudoers”, explica o Bleeping Computer. Caso contrário, a vulnerabilidade não poderá ser explorada.

Ou seja, a maioria dos usuários do Linux e macOS não será afetada. Ainda assim, como esta é uma falha séria, o sudo foi atualizado para a versão 1.8.28 a fim de resolver o problema.

Com informações: Bleeping Computer, Engadget.