Linux Kamarada

Falha de segurança no comando sudo: atualize seu sistema!

Uma falha de segurança grave que afeta grande parte dos computadores com Linux foi divulgada nessa terça 26 pela empresa de auditoria de segurança Qualys. A falha foi identificada no comando sudo, presente em muitas (senão todas) as instalações do Linux — inclusive do openSUSE e do Linux Kamarada. A correção já foi disponibilizada pelas distribuições, que recomendam que os usuários instalem as últimas atualizações.

O utilitário de linha de comando sudo permite que usuários comuns do sistema executem comandos que normalmente só podem ser executados pelo administrador do sistema, que no Linux é chamado de root ou superusuário. Daí vem o nome do comando sudo: su “do” (“superusuário faz”, em inglês). O administrador pode conceder permissões para que certos usuários (ou grupos de usuários) sejam capazes de executar certos comandos (ou qualquer comando) como se fossem o root ou outro usuário. Para isso, o administrador deve editar o arquivo de configuração do sudo, que é o /etc/sudoers.

O bug descoberto pela Qualys foi batizado de “Baron Samedit” e registrado no CVE (Common Vulnerabilities and Exposures, um banco de dados de falhas de segurança conhecidas) com o código CVE-2021-3156. Essa falha podia ser explorada por um usuário comum mal-intencionado (ou um invasor que conseguisse acesso a uma conta de usuário comum) para obter acesso ao root e assumir o controle do sistema vulnerável, mesmo que essa conta comum não tivesse sido previamente autorizada no arquivo /etc/sudoers.

Para os detalhes técnicos a respeito dessa falha de segurança, você pode conferir o relatório técnico da Qualys ou o vídeo a seguir, que mostra uma forma de explorar a falha para ganhar acesso ao usuário root a partir de uma conta comum (relatório e vídeo ambos em inglês).

Curiosamente, embora essa falha tenha sido divulgada apenas agora, analisando o código-fonte do sudo em busca do trecho de código que a causava, identificou-se que esse código foi introduzido em julho de 2011 (commit 8255ed69). Ou seja, esse bug passou 10 anos (espera-se) despercebido. Felizmente, já foi corrigido.

Como posso me proteger dessa falha?

Todas as maiores distribuições Linux já liberaram atualizações de segurança com correções (patches) que resolvem esse problema. Cabe aos usuários baixarem essas atualizações.

O Projeto openSUSE liberou atualizações para suas duas distribuições: Leap e Tumbleweed. No caso do openSUSE Leap, as versões com suporte (15.1 e 15.2) receberam atualizações.

Como o Linux Kamarada é baseado no openSUSE Leap, usuários do Linux Kamarada são, por tabela, usuários do openSUSE Leap também e recebem essas mesmas atualizações.

Se você usa uma dessas distribuições:

  • openSUSE Leap (ou Linux Kamarada) 15.1
  • openSUSE Leap (ou Linux Kamarada) 15.2
  • openSUSE Tumbleweed

Veja como obter atualizações no texto:

Se você usa uma das versões do openSUSE Leap que já foram descontinuadas e já não recebem mais suporte (por exemplo, a 15.0), a orientação passada na lista de discussão do openSUSE foi baixar o código-fonte do pacote do sudo, compilar e instalar manualmente. Se esse é o seu caso, consulte a lista de discussão (em inglês) para mais informações.

Outra opção se você usa o openSUSE Leap 15.0 é atualizar para a versão 15.1 e na sequência já atualizar para a 15.2.

O suporte do openSUSE Leap 15.1 se encerrará agora em janeiro. Portanto, usuários da versão 15.1 também são aconselhados a atualizar.

Se quiser instruções de como atualizar toda a distribuição, consulte os textos:

Como saber se estou vulnerável?

Os desenvolvedores do sudo também emitiram um alerta com informações sobre a falha. Eles sugeriram um teste simples para saber se a versão do sudo que você está usando está sujeita a essa falha. Abra uma janela do terminal e execute o comando a seguir:

1
$ sudoedit -s '\' `perl -e 'print "A" x 65536'`

Antes da correção, o comando deve informar que ocorreu uma falha de segmentação.

Se você já está usando a versão corrigida, o comando deve mostrar uma mensagem de erro.

No meu teste, após instalar a correção, a mensagem que apareceu foi:

1
2
sudoedit: invalid mode flags from sudo front end: 0x20002
sudoedit: não foi possível inicializar plug-in de política

No caso do openSUSE e do Linux Kamarada, distribuições que usam o formato de empacotamento RPM, você também pode verificar a lista de mudanças (changelog) do pacote sudo. Se a atualização foi instalada, ela deve aparecer, como no exemplo abaixo:

1
2
3
4
$ rpm -q --changelog sudo | head
* sáb jan 23 2021 Simon Lees <sflees@suse.de>
- Fix Heap-based buffer overflow in Sudo [bsc#1181090,CVE-2021-3156]
  * sudo-CVE-2021-3156.patch

Referências

Se quiser saber mais sobre a falha de segurança do sudo código CVE-2021-3156 codenome “Baron Samedit”, você pode dar uma conferida nos textos que consultei para escrever este:

Me paga um café?
Se você gostou muito, se foi muito útil pra você, será que vale um café? Se quiser, você pode "me pagar um café" pelo PayPal ou contribuir com o projeto de outras formas.

Comentários

Sobre

O Projeto Linux Kamarada visa divulgar e promover o Linux como um sistema operacional robusto, seguro, versátil e fácil de usar, adequado para o uso diário seja em casa, no trabalho ou no servidor. Os focos do projeto são principalmente distribuição e documentação.

Anúncios

Facebook

Autor