Por que algumas caixas do CentOS 5 ainda estão vulneráveis ao ShellShock depois de atualizar o Bash?

5

Eu tenho dois CentOS 5.10 boxen onde atualizei bash para a versão mais recente. No entanto, em uma das caixas, bash ainda está vulnerável a CVE-2014-7169 (estou usando o teste de esta resposta ServerFault ).

Alguma idéia de por que uma máquina está boa e a outra não? O que posso verificar?

O que eu já verifiquei:

1- Assegure-se de que ambas as máquinas estejam executando o mesmo sistema operacional (a mesma saída em ambos):

# cat /etc/redhat-release
CentOS release 5.10 (Final)

2- Verifique se eu tenho a mesma versão de bash (mesma saída em ambos):

# rpm -qi bash
Name        : bash                         Relocations: (not relocatable)
Version     : 3.2                               Vendor: CentOS
Release     : 33.el5_10.4                   Build Date: Thu 25 Sep 2014 08:58:19 PM UTC
Install Date: Sat 27 Sep 2014 02:07:07 PM UTC      Build Host: sclbuild-c5.centos.org
Group       : System Environment/Shells     Source RPM: bash-3.2-33.el5_10.4.src.rpm
Size        : 5235475                          License: GPLv2+
Signature   : DSA/SHA1, Fri 26 Sep 2014 02:11:39 AM UTC, Key ID a8a447dce8562897

3- Verifique novamente se o binário está OK com assinatura (a mesma saída em ambos):

# rpm -V bash

(não houve saída deste comando, indicando as assinaturas binárias retiradas)

4- Verifique se os binários são de fato as mesmas versões (como sugerido por Cyrus nos comentários): (mesma saída em ambas as máquinas)

# rpm -qf /bin/bash
bash-3.2-33.el5_10.4

5- Verifique o tamanho dos binários

# ls -l /bin/bash    (Good machine)
-rwxr-xr-x 1 root root 801816 Sep 25 20:55 /bin/bash

# ls -l /bin/bash    (Bad/vulnerable machine)
-rwxr-xr-x 1 root root 768952 Sep 25 20:55 /bin/bash

Observe que os tamanhos dos arquivos são diferentes.

6- Na verdade, teste a vulnerabilidade

# ## on the good machine
# env X='() { (a)=>\' sh -c "echo date"; cat echo
date
cat: echo: No such file or directory

# ## on the bad/vulnerable machine
# env X='() { (a)=>\' sh -c "echo date"; cat echo
date
Sat Sep 27 13:44:36 UTC 2014
    
por Oz Solomon 27.09.2014 / 16:42

1 resposta

6

Pode ser um falso positivo - Certifique-se de que o arquivo 'echo' não exista de um teste anterior em sua máquina ruim e teste novamente.

Caso contrário, também pode ser um falso negativo. Verifique se você pode tocar em um arquivo na sua boa máquina e testá-lo novamente.

    
por 29.09.2014 / 14:38