
Este repositório contém um script Bash e um comando de uma linha para verificar se um sistema está executando uma versão vulnerável do utilitário "xz", conforme especificado pela CVE-2024-3094.
Este repositório contém um script Bash e um comando de uma linha para verificar se um sistema está executando uma versão vulnerável do utilitário "xz", conforme especificado pela CVE-2024-3094.
Veja a descrição e a declaração de impacto abaixo, com base em informações disponíveis via RedHat https://access.redhat.com/security/cve/CVE-2024-3094:
"Código malicioso foi identificado nos tarballs upstream do "xz" a partir da versão 5.6.0. Esse código envolve um método complexo no qual o processo de compilação do liblzma extrai um arquivo de objeto pré-construído de um arquivo de teste disfarçado dentro do código-fonte. Esse arquivo é então utilizado para alterar funções específicas do código do liblzma, resultando em uma biblioteca liblzma comprometida. Qualquer software vinculado a essa biblioteca modificada pode interceptar e alterar interações de dados com a biblioteca, potencialmente expondo sistemas a riscos de segurança.
A investigação até o momento revela que os pacotes afetados estão limitados ao Fedora 41 e ao Fedora Rawhide no ecossistema da comunidade Red Hat. Nenhuma versão do Red Hat Enterprise Linux (RHEL) é afetada por este problema.
A vulnerabilidade decorre de injeção maliciosa encontrada nas versões 5.6.0 e 5.6.1 do xz, especificamente no pacote de download do tarball. A distribuição Git não inclui a macro M4 responsável por acionar a compilação do código malicioso. No entanto, o repositório Git contém artefatos de segundo estágio destinados à injeção durante o tempo de compilação, caso a macro M4 maliciosa esteja presente. Sem integração à compilação, esses arquivos de segundo estágio são inofensivos. Demonstrações da vulnerabilidade revelaram interferência com o daemon OpenSSH, que, embora não esteja diretamente vinculado à biblioteca liblzma, interage com o systemd de uma forma que o torna suscetível ao malware, dado o vínculo do systemd com o liblzma."
"O pacote xz-utils, a partir das versões 5.6.0 a 5.6.1, foi considerado como contendo um backdoor (CVE-2024-3094). Esse backdoor poderia potencialmente permitir que um agente mal-intencionado comprometesse a autenticação do sshd, concedendo acesso não autorizado a todo o sistema remotamente.
Com uma biblioteca tão amplamente utilizada, a gravidade dessa vulnerabilidade representa uma ameaça a todo o ecossistema Linux. Felizmente, esse problema foi detectado rapidamente, então o impacto foi significativamente menor do que poderia ter sido. Ele já foi corrigido no Debian e, portanto, no Kali Linux.
O impacto dessa vulnerabilidade afetou o Kali entre 26 e 29 de março, período durante o qual o xz-utils 5.6.0-0.2 estava disponível. Se você atualizou sua instalação do Kali em ou após 26 de março, mas antes de 29 de março, é crucial aplicar as atualizações mais recentes hoje para resolver esse problema. No entanto, se você não atualizou sua instalação do Kali antes do dia 26, você não é afetado por essa vulnerabilidade de backdoor."
O script Bash e o comando de uma linha a seguir podem ser usados para verificar se o seu sistema é afetado pela CVE-2024-3094:
command -v xz &>/dev/null && xz_version=$(xz --version | head -n 1 | awk '{print $4}') && { [[ $xz_version == "5.6.0" || $xz_version == "5.6.1" ]] && echo -e "\n[*] This system seems to be VULNERABLE to CVE-2024-3094 since it has a vulnerable version of xz\n\nLearn more about this CVE on this link:\nhttps://nvd.nist.gov/vuln/detail/CVE-2024-3094" || echo -e " \n[*] This system DOES NOT SEEM to be vulnerable to CVE-2024-3094."; } || echo "[-] xz package is not installed."
Como verificar manualmente se uma versão do Kali Linux está afetada?
"apt-cache policy liblzma5"
kali@kali:~$ apt-cache policy liblzma5
liblzma5:
Installed: 5.4.5-0.3
Candidate: 5.6.1+really5.4.5-1
Version table:
5.6.1+really5.4.5-1 500
500 http://kali.download/kali kali-rolling/main amd64 Packages
*** 5.4.5-0.3 100
100 /var/lib/dpkg/status
Se virmos a versão "5.6.0-0.2" ao lado de Installed:, então devemos atualizar para a versão mais recente, "5.6.1+really5.4.5-1". Podemos fazer isso com os seguintes comandos:
Comando para resolver o problema com o pacote vulnerável no Kali Linux:
"sudo apt update && sudo apt install -y --only-upgrade liblzma5"