A vulnerabilidade Shellshock é grave visto que permite a execução de código malicioso com recurso à linha de comandos BASH colocando sistemas Linux e Mac em risco. Os sistemas críticos terão a correcção feita com celeridade. Contudo, routers baseados em Linux fornecidos por ISPs, câmaras de vigilância baseadas em Linux e outros equipamentos expostos na Internet ficarão vulneráveis. Pela experiência com a vulnerabilidade Hertbleed que afecta o OpenSSH, uma quantidade enorme de sistemas não serão alvo de qualquer correcção.
Mesmo nas distribuições mais recentes a vulnerabilidade existe. Veja-se um sistema com CentOs 7.0. (Os passos descritos aplicam-se também a sistemas RHEL e Fedora).
[root@CentOs02 ~]# uname -a
Linux CentOs02 3.10.0-123.6.3.el7.x86_64 #1 SMP Wed Aug 6 21:12:36 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
O comando para verificar se a vulnerabilidade existe é:
[root@CentOs02 ~]# env x='() { :;}; echo vulnerable' bash -c 'echo hello'
vulnerable
hello
A vulnerabilidade existe caso o output seja o apresentado
Podemos verificar a versão BASH com o comando:
[root@CentOs02 ~]# bash --version
GNU bash, version 4.2.45(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
There is NO WARRANTY, to the extent permitted by law.
Para efectuar a actualização:
[root@CentOs02 ~]# yum -y update bash
Após feita a actualização execute o comando:
[root@CentOs02 ~]# env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
this is a test
O output foi “this is a test” . Correcção efectuada! Se o output tivesse sido “vulnerable” o sistema continua vulnerável.
Para sistemas Debian e Ubuntu
sudo apt-get update && sudo apt-get install --only-upgrade bash
Este comando vai actualizar a lista de pacotes e actualizar apenas o BASH.
Para Apple - OSx
Mavericks: http://support.apple.com/kb/DL1769
Mountain Lion: http://support.apple.com/kb/DL1768
Lion:http://support.apple.com/kb/DL1767