Em fevereiro de 2024, uma porta dos fundos maliciosa foi introduzida na compilação para Linux do utilitário XZ Utils, dentro da biblioteca liblzma, nas versões 5.6.0 e 5.6.1, por uma conta que usava o nome "Jia Tan". A porta dos fundos permite que um atacante que possua uma chave privada Ed448 específica execute execução remota de código por meio do OpenSSH no sistema Linux afetado. O problema recebeu o identificador Common Vulnerabilities and Exposures e obteve uma pontuação CVSS de 10.0, a pontuação máxima possível.

Embora o xz esteja normalmente presente na maioria das distribuições Linux, no momento da descoberta a versão comprometida ainda não havia sido amplamente implantada em sistemas de produção, mas estava presente em versões de desenvolvimento de grandes distribuições. A porta dos fundos foi descoberta pelo programador Andres Freund, que anunciou as suas conclusões em 29 de março de 2024.

Antecedentes O funcionário da Microsoft e programador do PostgreSQL Andres Freund relatou a porta dos fundos após investigar uma regressão de desempenho no Debian Sid. Freund observou que conexões SSH estavam gerando uma quantidade inesperadamente alta de uso de CPU, além de causar erros no Valgrind, uma ferramenta de depuração de memória. Freund relatou a descoberta à lista de discussão de segurança de código aberto do Openwall Project, o que chamou a atenção de vários fornecedores de software. O atacante esforçou-se por ofuscar o código, já que a porta dos fundos consiste em várias etapas que atuam em conjunto.

Depois que a versão comprometida é incorporada ao sistema operativo, ela altera o comportamento do daemon do servidor SSH do OpenSSH ao abusar da biblioteca do systemd, permitindo que o atacante obtenha acesso de administrador. Segundo a análise da Red Hat, a porta dos fundos pode "permitir que um agente malicioso quebre a autenticação do sshd e obtenha acesso não autorizado remotamente a todo o sistema".

Uma investigação posterior concluiu que a campanha para inserir a porta dos fundos no projeto XZ Utils foi o culminar de aproximadamente três anos de esforço, entre novembro de 2021 e fevereiro de 2024, por um utilizador sob o nome Jia Tan e o apelido JiaT75 para conquistar uma posição de confiança dentro do projeto. Depois de um período de pressão sobre o fundador e mantenedor principal para que entregasse o controlo do projeto, por meio de um aparente uso de contas fantoches, Jia Tan obteve a posição de co-mantenedor do XZ Utils e pôde aprovar a versão 5.6.0, que introduziu a porta dos fundos, e a versão 5.6.1, que corrigiu alguns comportamentos anómalos que poderiam ter sido percebidos durante os testes do sistema operativo.

Alguns dos pseudónimos suspeitos de serem contas fantoches incluem contas com nomes de utilizador como Jigar Kumar, krygorin4545 e misoeater91. Suspeita-se que os nomes Jia Tan, assim como o suposto autor de código Hans Jansen (para as versões 5.6.0 e 5.6.1), sejam pseudónimos escolhidos pelos participantes da campanha. Nenhum deles possui qualquer presença pública visível em desenvolvimento de software para além dos poucos anos da campanha.

A porta dos fundos destacou-se pelo seu grau de sofisticação e pelo facto de o perpetrador ter mantido um elevado nível de segurança operacional durante um longo período enquanto trabalhava para conquistar uma posição de confiança. O investigador de segurança norte-americano Dave Aitel sugeriu que o caso se encaixa num padrão atribuível ao APT29, um grupo de ameaça persistente avançada que se acredita atuar em nome do Serviço de Inteligência Estrangeira da Rússia (SVR). O jornalista Thomas Claburn sugeriu que poderia tratar-se de qualquer ator estatal ou de um ator não estatal com recursos consideráveis.

Mecanismo Sabe-se que o código malicioso está presente nas versões 5.6.0 e 5.6.1 do pacote de software XZ Utils. O exploit permanece inativo a menos que seja usado um patch específico de terceiros para o servidor SSH. Nas circunstâncias adequadas, essa interferência poderia potencialmente permitir que um agente malicioso quebrasse a autenticação do sshd e obtivesse acesso não autorizado remotamente a todo o sistema. O mecanismo malicioso consiste em dois ficheiros de teste comprimidos que contêm o código binário malicioso. Esses ficheiros estão disponíveis no repositório git, mas permanecem inativos a menos que sejam extraídos e injetados no programa. O código usa o mecanismo IFUNC da glibc para substituir uma função existente no OpenSSH chamada RSA_public_decrypt por uma versão maliciosa. O OpenSSH normalmente não carrega a liblzma, mas um patch comum de terceiros usado por várias distribuições Linux faz com que ele carregue a libsystemd, que por sua vez carrega a lzma. Uma versão modificada de build-to-host.m4 foi incluída no ficheiro tar de lançamento enviado ao GitHub, o que extrai um script que executa a injeção real em liblzma. Esse ficheiro m4 modificado não estava presente no repositório git; ele só estava disponível nos ficheiros tar lançados pelo mantenedor separadamente do git. O script aparenta realizar a injeção apenas quando o sistema está a ser compilado num sistema Linux x86-64 que usa glibc e GCC e cuja compilação é feita via dpkg ou rpm.

Resposta Mitigação A agência federal norte-americana Cybersecurity and Infrastructure Security Agency emitiu um aviso de segurança recomendando que os dispositivos afetados revertessem para uma versão anterior não comprometida. Fornecedores de software Linux, incluindo Red Hat, SUSE e Debian, reverteram os pacotes afetados para versões mais antigas. O GitHub desativou os espelhos do repositório xz antes de posteriormente os restaurar.

A Canonical adiou em uma semana o lançamento beta do Ubuntu 24.04 LTS e dos seus sabores, além de optar por uma recompilação binária completa de todos os pacotes da distribuição. Embora a versão estável do Ubuntu não tenha sido afetada, versões upstream foram. Essa medida de precaução foi adotada porque a Canonical não podia garantir, até o prazo original de lançamento, que a porta dos fundos descoberta não tivesse afetado pacotes adicionais durante a compilação.

Em agosto de 2025, investigadores da Binarly encontraram várias imagens Debian no Docker Hub que ainda continham a porta dos fundos do XZ Utils. A equipa de desenvolvimento do Debian recusou-se a remover as imagens afetadas, afirmando que elas foram deixadas como artefactos históricos, já que se tratavam de compilações de desenvolvimento que não deveriam ser usadas em sistemas reais em vez de versões de contêineres mais recentes e limpas.

Resposta mais ampla Após o incidente, a Open Source Security Foundation (OpenSSF) e a OpenJS Foundation emitiram um alerta conjunto afirmando que a porta dos fundos do XZ Utils "pode não ser um incidente isolado", relatando que tentativas semelhantes de engenharia social tinham como alvo projetos JavaScript hospedados pela OpenJS. As fundações advertiram mantenedores para observarem a "busca amigável, porém agressiva e persistente" por membros desconhecidos da comunidade em busca de estatuto de mantenedor.

O cientista da computação Alex Stamos opinou que "isto poderia ter sido a porta dos fundos mais disseminada e eficaz já implantada em qualquer produto de software", observando que, se a porta dos fundos tivesse permanecido sem detecção, teria dado aos seus criadores uma chave mestra para qualquer um dos centenas de milhões de computadores em todo o mundo que executam SSH. Além disso, o incidente também iniciou uma discussão sobre a viabilidade de peças críticas da ciberinfraestrutura dependerem de voluntários não remunerados.

Notas

Referências

Ligações externas

The Internet Was Weeks Away From Disaster and No One Knew, Veritasium, 2026

Categoria:2024 na informática Categoria:Falhas em segurança de computadores Categoria:Programas de computador maliciosos Categoria:Engenharia social (segurança) Categoria:Cavalos de troia