Uma vulnerabilidade crítica no sudo permite obter privilégios de root

As Os pesquisadores de segurança da Qualys identificaram uma vulnerabilidade crítica (CVE-2021-3156) no utilitário sudo, que é projetado para organizar a execução de comandos em nome de outros usuários.

Vulnerabilidade permite acesso não autenticado com privilégios de root. O problema pode ser usado por qualquer usuário, independentemente da presença nos grupos do sistema e da presença de uma entrada no arquivo / etc / sudoers.

O ataque não requer a digitação da senha do usuário, ou seja, a vulnerabilidade pode ser usada por uma pessoa externa para elevar os privilégios no sistema depois que a vulnerabilidade foi comprometida em um processo sem privilégios (incluindo aqueles iniciados com o usuário "ninguém").

Para pesquisar uma vulnerabilidade em seu sistema, simplesmente execute o comando "sudoedit -s /" e a vulnerabilidade estará presente se uma mensagem de erro começando com "sudoedit:" for exibida.

Sobre vulnerabilidade

A vulnerabilidade apareceu desde julho de 2011 e é causada por um estouro de buffer no tratamento de caracteres de escape de linha em parâmetros destinados a executar comandos no modo shell. O modo shell é habilitado especificando os argumentos "-i" ou "-s" e faz com que o comando não seja executado diretamente, mas por meio de uma chamada shell adicional com o sinalizador "-c" ("sh -c command»).

O resultado final é que quando o utilitário sudo é executado normalmente, ele escapa os caracteres especiais especificando as opções "-i" e "-s", mas quando o utilitário sudoedit é iniciado, os parâmetros não são escapados, como parse_args () A função define a variável de ambiente MODE_EDIT em vez de MODE_SHELL e não redefine o valor de "valid_flags".

Na sua vez, transmissão de personagem sem escape cria condições para que outro erro apareça no controlador, que remove os caracteres de escape antes de verificar as regras do sudoer.

O manipulador analisa incorretamente a presença de um caractere de barra invertida sem escapar no final da linha, considera que esta barra invertida escapa mais um caractere e continua a ler os dados além do limite da linha, copiando-os no buffer "user_args" e sobrescrevendo as áreas da memória fora do buffer.

E é mencionado que ao tentar manipular os valores na linha de comando sudoedit, o invasor pode conseguir a sobreposição de uma fila regravável nos dados que afetam o andamento posterior do trabalho.

Além de criar um exploit, ele simplifica o fato de que o invasor tem controle total sobre o tamanho do buffer user_args, que corresponde ao tamanho de todos os argumentos passados, e também controla o tamanho e o conteúdo dos dados gravados fora do buffer usando variáveis ​​ambientais.

Os pesquisadores de segurança da Qualys conseguiram preparar três exploits, cujo trabalho se baseia na reescrita do conteúdo das estruturas sudo_hook_entry, service_user e def_timestampdir:

  • Ao abortar sudo_hook_entry, um binário chamado "SYSTEMD_BYPASS_USERDB" pode ser executado como root.
  • Substituir service_user conseguiu executar código arbitrário como root.
  • Substituindo def_timestampdir, foi possível liberar o conteúdo da pilha sudo, incluindo variáveis ​​de ambiente, no arquivo / etc / passwd e obter a substituição do usuário com privilégios de root.

Os investigadores mostraram que os exploits funcionam para obter privilégios de root completos no Ubuntu 20.04, Debian 10 e Fedora 33.

Vulnerabilidade pode ser explorado em outros sistemas operacionais e distribuições, mas a verificação dos pesquisadores foi limitada ao Ubuntu, Debian e Fedora, além disso, é mencionado que todas as versões do sudo 1.8.2 a 1.8.31p2 e 1.9.0 a 1.9.5p1 nas configurações padrão são afetadas. Solução sugerida no sudo 1.9.5p2.

Os investigadores notificar os desenvolvedores com antecedência distribuidores que já lançaram atualizações de pacotes de forma coordenada: Debian, RHEL, Fedor, Ubuntu, SUSE / openSUSE, Arch Linux, Slackware, Gentoo e FreeBSD.

Finalmente se você estiver interessado em saber mais sobre isso sobre a vulnerabilidade, você pode verificar os detalhes no link a seguir.


O conteúdo do artigo segue nossos princípios de Ética editorial. Para relatar um erro, clique Clique aqui.

Seja o primeiro a comentar

Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.