Vulnerabilidade do XZ Utils

A 29 de março, um engenheiro da Microsoft, Andres Freund, descobriu acidentalmente uma backdoor (uma forma ilegítima de acesso introduzida deliberadamente no software) no XZ Utils quando reparou que o início de sessão via SSH estava a demorar muito tempo e a consumir demasiados recursos, além de gerar erros no software de monitorização do consumo de memória. Após investigação, Freund descobriu que a fonte desse atraso e do consumo de recursos estava na versão mais recente do XZ Utils e que alguém tinha criado deliberadamente uma backdoor no software de compressão. 

Essa vulnerabilidade é notável por ter um longo processo de engenharia social e orquestração pelo atacante por trás dela. A biblioteca XZ Utils é de código aberto, pelo que qualquer pessoa pode contribuir para ela. Em 2021, um utilizador começou a contribuir para outros projectos e, em 2022, contribuiu para o projeto XZ, após o que várias pessoas pressionaram o responsável pelo desenvolvimento e manutenção da XZ Utils, Lasse Collin, a admitir um contribuidor para o projeto, uma vez que este não estava a ser atualizado com frequência. Enquanto este utilizador, identificado como Jia Tan, contribuía para o XZ Utils, introduziu secretamente a backdoor e conseguiu fazer alterações que tornaram ineficaz a deteção por ferramentas de deteção de vulnerabilidades. Assim, com a backdoor escondida em ficheiros de teste, as versões 5.6.0 e 5.6.1 ficaram vulneráveis.

Trabajando

A deteção acidental impediu a propagação total desta backdoor, que teria tornado a maioria significativa dos sistemas Linux vulneráveis à execução arbitrária de código, permitindo que qualquer atacante com uma chave de encriptação predefinida executasse qualquer código numa máquina vulnerável.

Esta vulnerabilidade, com o CVE CVE-2024-309, foi felizmente mitigada antes que fossem causados danos maiores e Jia Tan, ainda não identificado e sob suspeita de ser um pseudónimo fabricado por um grupo como o ATP29 ou o Cozy Bear, foi removido de todos os projectos. O XZ Utils foi eliminado de todas as “contribuições”, no entanto, qualquer utilizador que descubra que ainda tem uma das duas versões afectadas (5.6.0 e 5.6.1) deve atualizar o mais rapidamente possível.

XZ Utils

O XZ Utils é um conjunto de ferramentas e bibliotecas de código aberto que é usado quase onipresentemente em máquinas Linux, fornecendo compressão sem perdas para todos os tipos de operações.