
CVE-2024-3094 Pesquisa sobre o backdoor do XZ Utils — visualizador de superfície de ataque, verificador de vulnerabilidades do sistema e ferramenta geral de avaliação de CVEs para Linux.
Por Nikolaos Natsopoulos, Consultor de IAM
Ferramenta interativa baseada em navegador que acompanha o relatório de pesquisa:
"CVE-2024-3094: Comprometimento da Cadeia de Suprimentos via Engenharia Social e Manipulação do Sistema de Build no XZ Utils"
Em março de 2024, uma backdoor foi descoberta no XZ Utils (CVE-2024-3094) momentos antes de chegar às distribuições Linux estáveis em todo o mundo. Ela recebeu a pontuação máxima de CVSS de 10,0. O ataque envolveu um colaborador fictício que passou quase três anos se infiltrando no projeto antes de inserir código que teria permitido execução remota de código não autenticada em milhões de servidores Linux.
Esta ferramenta oferece duas coisas:
Uma versão atualizada do Verificador de Sistema com cobertura estendida de CVEs e recursos adicionais de avaliação de vulnerabilidades está disponível na pasta /CVE-Vulnerability-Assessment-Tool.
Baixe o xz-toolkit_Visual_Checker.html e abra-o em qualquer navegador. Não requer instalação, servidor ou conexão com a internet. Tudo está contido em um único arquivo.
Aba Visualizador de Ataque - clique em qualquer fase no painel esquerdo para percorrer a linha do tempo do ataque. A cadeia de dependências é atualizada para mostrar exatamente onde o caminho do ataque existe em cada estágio. As fases são codificadas por cores: azul para preparação, amarelo para sinais de alerta, vermelho para injeção, verde para descoberta e resposta.
Aba Verificador de Sistema - execute estes três comandos no sistema que você deseja avaliar:
xz --version
ldd /usr/sbin/sshd
systemctl is-active ssh
Cole a saída nos três campos e clique em Analisar Sistema. A ferramenta avalia as cinco condições necessárias para a exploração e retorna um veredito com um detalhamento por condição. Clique em "Visualizar a cadeia de dependências deste sistema" para ver o perfil real das suas bibliotecas renderizado no diagrama da cadeia.
Totalmente vulnerável - Debian Sid com XZ 5.6.1
Versão do XZ:
xz (XZ Utils) 5.6.1
liblzma 5.6.1
Dependências do sshd:
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5
libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
Status do SSH:
active (running) since Fri 2024-03-29 11:42:01 UTC
Esperado: VULNERÁVEL - todas as cinco condições satisfeitas.
Não vulnerável - Ubuntu LTS com XZ 5.4.6
Versão do XZ:
xz (XZ Utils) 5.4.6
liblzma 5.4.6
Dependências do sshd:
libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3
libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6
Status do SSH:
active (running) since Thu 2024-03-28 09:15:33 UTC
Esperado: NÃO VULNERÁVEL - a versão do XZ é segura, liblzma e libsystemd ausentes do sshd.
Não vulnerável - Arch Linux com XZ 5.6.0 (protegido arquiteturalmente)
Versão do XZ:
xz (XZ Utils) 5.6.0
liblzma 5.6.0
Dependências do sshd:
libcrypto.so.3 => /usr/lib/libcrypto.so.3
libpam.so.0 => /usr/lib/libpam.so.0
libc.so.6 => /usr/lib/libc.so.6
Status do SSH:
active (running) since Sat 2024-03-30 08:22:11 UTC
Esperado: NÃO VULNERÁVEL - XZ 5.6.0 é a versão com backdoor, mas o sistema não é explorável porque o Arch Linux não aplica o patch sd_notify ao OpenSSH, o que significa que o liblzma nunca é vinculado ao sshd. A vulnerabilidade era específica da arquitetura, e não apenas da versão.
Todas as cinco devem ser satisfeitas simultaneamente para que um sistema seja vulnerável:
Uma descoberta importante do relatório de pesquisa que acompanha esta ferramenta é que esse ataque representa um novo modelo de ameaça para profissionais de gerenciamento de identidade e acesso. A backdoor não roubou credenciais nem contornou controles de acesso no sentido convencional - ela substituiu o próprio mecanismo de autenticação, operando abaixo de PAM, RBAC, MFA e Zero Trust. Nenhum controle convencional de IAM teria impedido a exploração.
Controles que teriam ajudado: aprovação de lançamento por múltiplas partes, verificação de diff entre o tarball e o repositório git, monitoramento de integridade binária em tempo de execução (IMA/dm-verity) e detecção de anomalias na latência de autenticação SSH.
Copyright (c) 2026 Nikolaos Natsopoulos. Licença MIT.