Shellshock: уязвимость во всех версиях Bash

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

Ссылки: