O backdoor XZ-Utils, descoberto pela primeira vez em março de 2024, ainda está presente em pelo menos 35 imagens do Linux no Docker Hub, potencialmente colocando usuários, organizações e seus dados em risco.
O Docker Hub é o registro oficial de imagens de contêiner público operado pelo Docker, permitindo que desenvolvedores e organizações carreguem ou baixem imagens pré-construídas e as compartilhem com a comunidade.
Muitos pipelines de CI/CD, desenvolvedores e sistemas de produção extraem imagens diretamente do Docker Hub como camadas base para seus próprios contêineres e, se essas imagens forem comprometidas, a nova compilação herdará a falha ou o código mal-intencionado.
Os pesquisadores da Binarly descobriram várias imagens do Docker ainda afetadas pelo backdoor XZ-Utils.
“À primeira vista, isso pode não parecer alarmante: se os pacotes de distribuição fossem backdoor, qualquer imagem do Docker baseada neles também seria infectada”, relata Binarly.
“No entanto, o que descobrimos é que algumas dessas imagens comprometidas ainda estão disponíveis publicamente no Docker Hub. E ainda mais preocupante, outras imagens foram construídas em cima dessas imagens de base infectadas, tornando-as transitivamente infectadas.
Binarly relatou as imagens ao Debian, um dos mantenedores que ainda oferece imagens com backdoor, que decidiu não colocá-las offline, citando baixo risco e importância de arquivar a continuidade.
O backdoor XZ-Utils, rastreado sob CVE-2024-3094, era um código malicioso Escondido na biblioteca liblzma.so da ferramenta de compactação xz-utils, versões 5.6.0 e 5.6.1.
Ele conectou a função RSA_public_decrypt no OpenSSH por meio do mecanismo IFUNC da glibc, portanto, se um invasor com uma chave privada especial se conectasse por SSH a um sistema afetado, ele poderia ignorar a autenticação e executar comandos remotamente como root.
O backdoor foi injetado furtivamente por um colaborador de longa data do projeto chamado “Jia Tan” e enviado em pacotes oficiais de distribuição Linux como Debian, Fedora, OpenSUSE e Red Hat, tornando-se um dos mais graves comprometimentos da cadeia de suprimentos de software no ano passado.
O backdoor foi descoberto logo no início, dando aos invasores muito pouca oportunidade de aproveitá-lo, e os scanners foram liberados por Binarly e Kaspersky, entre outros, para ajudar a detectá-lo em software de código aberto dependente.
Resposta do Debian
Para surpresa dos pesquisadores, o Debian não se preocupou em retirar imagens de 64 bits usando a versão backdoor da biblioteca do Docker Hub, encontrando pelo menos 35 delas que ainda estão disponíveis para download.
Binarly comenta que esse número é apenas um reflexo parcial da escala real do problema, pois eles não realizaram uma varredura em toda a plataforma para o backdoor XZ-Utils.
“Identificamos mais de 35 imagens que vêm com o backdoor”, explica a Binarly em seu relatório.
“Embora isso possa parecer um número pequeno, digitalizamos apenas uma pequena parte das imagens publicadas no DockerHub, parando em imagens de segunda ordem.”
O Debian diz que elesoptou intencionalmente por não remover essas imagens do Docker Hub e deixá-los como artefatos históricos, dizendo aos usuários para usar apenas imagens atualizadas e não antigas.
Os mantenedores tomaram essa decisão porque acreditam que os requisitos para exploração são improváveis, como exigir que o sshd seja instalado e executado no contêiner, o invasor tenha acesso à rede ao serviço SSH nesse contêiner e use uma chave privada que corresponda à lógica de gatilho do backdoor.