Por Swati Khandelwal
Publicado no The Hacker News
Profissionais da área de segurança cibernética conversaram no Twitter a respeito de não usar o HTTPS e sugeriram que os programadores não dependessem apenas da verificação de pacotes baseada em assinaturas porque o APT do Linux também faz o mesmo.
Um pesquisador de segurança revelou os detalhes da falha de execução remota no código do APT Linux, cuja exploração poderia ter sido mitigada se o gerenciador de downloads estivesse usando o HTTPS estritamente para se comunicar com segurança.
Essa vulnerabilidade foi descoberta por Max Justicz e ficou conhecida como vulnerabilidade (CVE-2019-3462), a mesma encontrada no gerenciador de pacotes do APT, um utilitário amplamente utilizado que lida com instalação, atualização e remoção de software no Debian, Ubuntu e outras distribuição Linux.
De acordo com a publicação de Justicz em seu blog, as versões vulneráveis do APT que não mostram certos parâmetros durante o redirecionamento HTTP, permitem que um invasor injete conteúdo malicioso e engane o sistema para instalar pacotes alterados.
O redirecionamento HTTP, ao usar o comando apt-get, ajuda as máquinas Linux a solicitar pacotes automaticamente a partir de um servidor espelho apropriado, quando outros não estão disponíveis. Se porventura o primeiro servidor falhar, ele retornará uma resposta com a localização do próximo servidor de onde o cliente deve solicitar o pacote.
“Infelizmente, o processo do buscador HTTP URL decodifica o cabeçalho HTTP Location e o anexa cegamente à resposta do 103 Redirect”, explica Justicz.
O pesquisador Justicz demonstra em seu vídeo que um invasor pode interceptar o tráfego HTTP entre o utilitário APT e um servidor espelho, ou apenas um espelho malicioso, com isso o atacante poderia executar códigos arbitrários no sistema alvo com o nível mais alto de privilégios, ou seja, a raiz do sistema, disse Justicz.
Embora Justicz não tenha testado, ele acredita que a vulnerabilidade afeta todos os downloads de pacotes, mesmo se você estiver instalando um pacote pela primeira vez ou atualizando um pacote antigo.
Para proteger a integridade dos pacotes de software, é importante usar a verificação baseada em assinatura, pois os desenvolvedores de software não têm controle sobre servidores espelhos, mas, ao mesmo tempo, a implementação do HTTPS pode impedir a exploração ativa após a descoberta dessas vulnerabilidades.
Nenhum software, plataforma ou servidor pode ser 100% seguro, portanto, não é uma boa ideia ter todas as camadas possíveis de segurança.
“Por padrão, o Debian e o Ubuntu usam repositórios HTTP simples e prontos para uso (o Debian permite que você escolha qual espelho você deseja durante a instalação, mas não fornece suporte a repositórios https – você precisa instalar o apt-transport-https primeiro ), explica o pesquisador.
“Suportar o http é bom. Eu apenas acho que vale a pena fazer dos repositórios https o padrão – o padrão mais seguro – e permitir que os usuários façam o downgrade de sua segurança mais tarde, se optarem por fazê-lo.”
Os desenvolvedores do APT lançaram a versão 1.4.9 que trata do problema.
Como o APT está sendo usado por muitas distribuições importantes do Linux, incluindo o Debian e o Ubuntu, que também reconheceram e lançaram patches de segurança para a vulnerabilidade, é altamente recomendável que os usuários do Linux atualizem seus sistemas o mais rápido possível.