Критическая уязвимость интерпретатора bash

29 Sep 2014 | Автор: dd |

В середине прошлой недели появились сообщения о том, что наиболее популярная командная оболочка bash подвержена критической уязвимости, которая изначально позволяла запустить на системе практически любой код, имея доступ к системе.

Это был так называемый баг Shellshock, по аналогии с весенним багом шелла Heartbleed. Но после того как Robert Graham написал скриптик, позвляющий запустить команду ping на удаленной машине, а на базе этого скрипта уже наваяли червя “Thanks-Rob”, уязвимость стала критической, т.к. в сети были обнаружены десятки тысяч уязвимых хостов.

Причем не только серверов и рабочих станций Unix, но и Mac устройств где bash используется по умолчанию, а также сетевых устройств, рутеров, хранилищ и прочего разнообразия, также использующего bash: зараженная система (преимущественно веб-сервер) сканирует окрестности в поиске уязвимых машин, и дает им команду на счивание через wget, после чего они, продолжают участвовать в дальнейшем распространении зловреда.

Проверяется наличие уязвимости вводом кода:
# env ‘x=() { :;}; echo vulnerable’ ‘BASH_FUNC_x()=() { :;}; echo vulnerable’ bash -c “echo test”

в случае если выводится текст vulnerable в любых последовательностях (в зависимости от версий вывод может разниться), то ваша система подвержена уязвимости и на ней необходимо установить заплатку или дообновиться до актуальной версии.

Второй тип уязвимости проверяется вводом кода:
# cd /tmp; rm -f /tmp/echo; env ‘x=() { (a)=>\’ bash -c “echo date”; cat /tmp/echo

При наличии уязвимости будет выведено время и создастся файл /tmp/echo

Собственно в RHEL образных юнихах проверить версию bash можно следующей командой:
# rpm -qa bash
и обновиться
# yum clean all
# yum update bash

Если инсталлятор вам говорит, что свежей версии нет, то значит необходимо скачать ручками с сайта вендора вашей операционки или родного bash.

Хотя если подключить самостоятельно репозиторий ol6_latest, то можно накатить апдейт из него:
# cd /etc/yum.repos.d/
# touch /etc/yum.repos.d/public-yum–ol6.repo
# vi  /etc/yum.repos.d/public-yum–ol6.repo

################
[ol6_latest]
name=Oracle Linux $releasever Latest ($basearch)
baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/$basearch/
gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
gpgcheck=1
enabled=1
################

# yum repolist all
# yum update bash

В Debian это делается с помощью команд:
# apt-get update
# apt-get install –only-upgrade bash

VN:F [1.9.21_1169]
Rating: 1.0/10 (1 vote cast)
VN:F [1.9.21_1169]
Rating: 0 (from 0 votes)
Критическая уязвимость интерпретатора bash, 1.0 out of 10 based on 1 rating

Теги:

Ваш отзыв