Script Checa vulnerabilidade do GLIBC Redhat CVE-2015-0235

Foi descoberto uma vulnerabilidade crítica na biblioteca glibc. O bug, que foi apelidado de “Ghost” por alguns pesquisadores, afeta todas versões do glibc anteriores a 2.18.
A falha está nas funções gethostbyname() e gethostbyname2(). Estas funções são utilizadas para resolução de nomes de host.
Um atacante remoto capaz de chamar qualquer uma destas funções pode explorar a falha para executar código arbitrário com as permissões do usuário que está executando o aplicativo.

 

Todos os sistemas Unix que utilizam versões anteriores a 2.18 estão vulneráveis.  Recomendamos fortemente que atualizem glibc para a versão mais recente.

Referência :

http://www.cyberciti.biz/faq/cve-2015-0235-ghost-glibc-buffer-overflow-linux-test-program/

Mais informações podem ser obtidas abaixo:

https://access.redhat.com/articles/1332213
https://isc.sans.edu/diary/New+Critical+GLibc+Vulnerability+CVE-2015-0235+%28aka+GHOST%29/19237

 

#!/bin/bash
#Version 3

echo "Installed glibc version(s)"

rv=0
for glibc_nvr in $( rpm -q --qf '%{name}-%{version}-%{release}.%{arch}\n' glibc ); do
    glibc_ver=$( echo "$glibc_nvr" | awk -F- '{ print $2 }' )
    glibc_maj=$( echo "$glibc_ver" | awk -F. '{ print $1 }')
    glibc_min=$( echo "$glibc_ver" | awk -F. '{ print $2 }')

    echo -n "- $glibc_nvr: "
    if [ "$glibc_maj" -gt 2   -o  \
        \( "$glibc_maj" -eq 2  -a  "$glibc_min" -ge 18 \) ]; then
        # fixed upstream version
        echo 'not vulnerable'
    else
        # all RHEL updates include CVE in rpm %changelog
        if rpm -q --changelog "$glibc_nvr" | grep -q 'CVE-2015-0235'; then
            echo "not vulnerable"
        else
            echo "vulnerable"
            rv=1
        fi
    fi
done

if [ $rv -ne 0 ]; then
    cat <<EOF

This system is vulnerable to CVE-2015-0235. <https://access.redhat.com/security/cve/CVE-2015-0235>
Please refer to <https://access.redhat.com/articles/1332213> for remediation steps
EOF
fi

exit $rv