Что это такое?

Уязвимость присутствует в одном из основных компонентов Linux-based систем, командной оболочке bash. Механизм обработки экспортированных функций позволяет злоумышленнику удаленно запускать произвольные команды операционной системы, в случае если он имеет возможность влиять на переменные окружения системы. Говоря простым языком, эта уязвимость позволяет удаленно выполнять произвольные команды на вашем устройстве. То есть под угрозой оказались все устройства, использующие bash в качестве командной оболочки, это сервера ваших компаний, ваши личные компьютеры с операционной системой OS X и Linux, домашние роутеры, NAS-серверы, Wi-Fi камеры с web-интерфейсом, всякие “умные” холодильники, телевизоры и прочий “интернет вещей”.

Подобная ситуация часто складывается в веб-приложениях при использовании интерфейса CGI (например, сервер Apache с использованием mod_cgi или mod_cgid). Также уязвимы распространенные технологии онлайн-разработки PHP и Python при использовании вызовов system/exec или os.system/os.popen соответственно.

Уязвимости присвоен уровень «10 из 10», то есть хуже некуда. К этому так же нужно добавить лёгкость осуществления атаки (Access Complexity низкий) и, что ещё важнее, отсутствие необходимости аутентификации для использования bash с помощью CGI-скриптов.

Каковы вероятные последствия?

Для атакающего, получение доступа к интерпретатору всегда было большой победой, так как это равнозначно получению контроля над сервером. Ну а далее возможности злоумышленника практически безграничны – доступ ко внутренним данным, перенастройка окружения, распространение зловредов и так далее. Возможности ShellShock почти безграничны и легко автоматизируемы.

Опасность бага заключается так же и в том, что с его применением может начаться эпидемия заражений, особенно на ранней стадии, когда на большинстве машин не закрыта данная уязвимость. Сами инфицированные устройства будут искать новые жертвы и заражать их.

Какие версии bash подвержены уязвимости?

Все версии интерпретатора за последние почти 25 лет, включая версию 4.3. Сравните с Heartbleed, опасности которого были подвержены версии OpenSSL за последние два года. Да, люди обновляют версии, но это не делается планомерно, поэтому ShellShock угрожает гораздо большему количеству машин, чем Heartbleed.

Что делать простому пользователю?

1. Если у вас есть собственный сайт (сервис) размещенный на shared-хостинге провайдера, то сначала сходите, например, вот на этот сайт shellshock.detectify.com и если результат теста покажет, что ваш ресурс подвержен уязвимости, то пишите вашему провайдеру заявку, пусть он срочно проверяет и обновляет версию bash на своих серверах или защищает вас любым другим досупным способом.

2. Если у вас есть собственный сервер, виртуальный или реальный, то вам в первую очередь необходимо проверить, подвержен ли он этой уязвимости. Для этого в командной строке введите следующую команду:

env VAR='() { :;}; echo Bash is vulnerable!' bash -c "echo Bash Test"

Если в ответ вы увидите следующее:

Bash is vulnerable!
Bash Test

то ваша версия bash точно под угрозой и необходимо её срочно обновлять.
Если в ответ вы получите что-то вроде:

bash: warning: VAR: ignoring function definition attempt
bash: error importing function definition for `VAR’
Bash Test

то беспокоиться не о чем и ваша версия интерпретатора уязвимости не подвержена.

Для того, чтобы обновить интерпретатор и защищиться от ShellShock в зависимости от версии дистрибутива, использующегося на вашем сервере, нужно выполнить следующие команды.

APT-GET: Ubuntu / Debian

sudo apt-get update && sudo apt-get install --only-upgrade bash

YUM: CentOS / Red Hat / Fedora

sudo yum update bash

После выполнения процедуры обновления обязательно проверьте ваш сервер ещё раз.

3. Если вы обладатель wi-fi-роутера, NAS-сервера и прочих устройств, в которых Linux вшит в прошивку, то срочно проверяйте обновления прошивок для ваших устройств или пишите запросы производителям данных устройств с целью выяснения сроков появления обновленных прошивок.

4. Если же вы обладатель настольного компьютера или ноутбука Mac с OS X на борту и эта OS X версии Mavericks, то срочно отправляйтесь качать и устанавливать обновление bash

osxbash

Заключение

Что ещё можно сказать – уязвимость очень неприятная, последствия от её использования нечистыми на руку людьми будет аукаться нам ещё долгое время. Кроме того, сдается мне, что в ближайшее время код интерпретатора bash будут рассматривать под микроскопом и, вероятно, найдут ещё какое то количество багов и уязвимостей. Надеюсь их будет не так много и они не станут такими критическими, как ShellShock.

Ну а себе и вам я могу пожелать лишь быть внимательными и Stay Up To Date!