O Docker Hub ainda hospeda dezenas de imagens do Linux com o backdoor XZ

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.

Resposta do mantenedor Debiana última estável é 5.8.1).