Bash Vulnerability CVE-2014-6271 „ShellShock”
Szybkiej weryfikacji podatności dokonujemy korzystając z polecenia:
$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
Bash is vulnerable!
Bash Test
…słowo „vulnerable” w wyniku oznacza, że jesteśmy podatni na zagrożenie CVE-2014-6271 [powyższy wynik]
bash: warning: VAR: ignoring function definition attempt
bash: error importing function definition for `VAR'
Bash Test
Powyższy wynik otrzymamy w momencie brak podatności naszego systemu.
Jeżeli niestety okazało sie, że jestesmy podatni, powinniśmy jak najszybciej wgrać patch do basha:
1. Ubuntu/ Debian [apt-get]
sudo apt-get update && sudo apt-get install --only-upgrade bash
2. Red Hat, Fedora, CentOS [yum]
sudo yum update bash
W celu sprawdzenia swoich serwerów polecam skorzystać ze strony bashsmash.ccsir.org, gdzie istnieje możliwość wysłania specjalnie spreparowanego nagłówka.
Warto przyjrzeć się także narzędziu shellshock.brandonpotter.com, które weryfikuje możliwość uruchomienia komend curl, wget.
Szczegóły dotyczące podatności znajdują się w bazie NVD: nvd.nist.gov
W chwili pisania tego artykułu vendorzy tacy jak Cisco, Fortinet czy Paloalto udostepnili sygnatury do swoich IPsów.
—
Niestety update basha nie chroni nas do końca, nowa podatność nosi numer CVE-2014-7169. Test podatności wykonujemy komendą:
$ env var='() {(a)=>\' bash -c "echo date"; cat echo
…w wyniku czego powiniśmy otrzymać (po załataniu basha dla CVE-2014-6271)
bash: var: line 1: syntax error near unexpected token `='
bash: var: line 1: `'
bash: error importing function definition for `var'
Thu Sep 27 17:30:32 EDT 2014