24 сентября 2014 года были опубликованы данные об уязвимости в Unix Bash shell. За уязвимостью (и её продолжением закреплены идентификаторы CVE-2014-6271 и CVE-2014-7169. Подверженными оказались практически все версии Bash, начиная с 1.14. Производители наиболее популярных дистрибутивов незамедлительно отреагировали на проблему и уже выпустили обновления для Bash.
Проверка системы
На сайте ShellShocker.net, посвященному данной уязвимости выложили 3 способа проверки на наличие потенциальной опасности в системе:
Exploit 1 (CVE-2014-6271)
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
Если после выполнения команды в консоли появилось «vulnerable», необходимо обновить bash.
Exploit 2 (CVE-2014-7169)
env X='() { (shellshocker.net)=>\' bash -c "echo date"; cat echo ; rm -f echo
Если после выполнения команды в консоли вывелась текущая дата, система подвержена опасности.
Exploit 3 (???)
Вот другая версия эксплойта
env -i X=' () { }; echo hello' bash -c 'date'
Аналогично, если вывелось «hello», система небезопасна.
Для комплексной проверки систем на подверженность атакам Shellshock подготовлен универсальный скрипт (копия)
Лечение
Обновить версию bash в более-менее свежих дистрибутивах можно из репозиториев:
- Для CentOS / Red Hat / Fedora:
yum update bash -y
- Для Ubuntu / Debian 7:
apt-get update && apt-get install --only-upgrade bash
- Для Arch:
pacman -Syu
- Для Debian 6 Squeese необходимо сначала добавить репозиторий squeeze-lts (и возможно ключи для него):
echo "deb http://ftp.us.debian.org/debian squeeze-lts main non-free contrib" >> /etc/apt/sources.list apt-get install debian-archive-keyring apt-get update && apt-get install --only-upgrade bash
Ссылки: