CVE-2014-7169

GNU Bourne-Again Shell (Bash)

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2022-01-28

Официальное описание

GNU Bash through 4.3 processes trailing strings after function definitions in the values of environment variables, which allows remote attackers to execute code. This CVE correctly remediates the vulnerability in CVE-2014-6271.

🛡️
Технический анализ и план устранения

Суть уязвимости

Уязвимость (также известная как "Shellshock") позволяет удаленному злоумышленнику выполнить произвольный код на целевой системе. Атака возможна, когда Bash используется для обработки переменных окружения, например: * Через веб-серверы (CGI-скрипты). * Через службы, использующие SSH (ForceCommand). * Через DHCP-клиенты.

Хакер может передать вредоносную строку в переменную окружения, которая будет исполнена оболочкой Bash с привилегиями уязвимого процесса.

Как исправить

Необходимо обновить пакет bash до исправленной версии. Конкретные команды для популярных дистрибутивов:

Для Debian/Ubuntu:

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

Требуемая версия: 4.3-7ubuntu1.5 для Ubuntu 14.04 или выше.

Для RHEL/CentOS 6/7:

sudo yum update bash

Требуемая версия: bash-4.1.2-15.el6_5.2 для RHEL6 или bash-4.2.45-5.el7_0.4 для RHEL7.

Для Fedora:

sudo dnf update bash

После обновления проверьте, что уязвимость устранена:

env x='() { :;}; echo VULNERABLE' bash -c "echo Test"

Если команда выводит только Test (без слова VULNERABLE), система защищена.

Временное решение

Если немедленное обновление невозможно, выполните следующие действия:

  1. Ограничьте использование Bash в CGI:
  2. В конфигурации веб-сервера (Apache, nginx) отключите модули mod_cgi и mod_cgid для всех виртуальных хостов, где они не требуются.
  3. Для необходимых CGI-скриптов переведите их на использование других оболочек (например, #!/bin/dash), явно указав в shebang-строке.

  4. Настройте WAF (Web Application Firewall):

  5. Добавьте правило для блокировки HTTP-запросов, содержащих в заголовках (User-Agent, Referer, Cookie и др.) строки вида () { :; };.

  6. Для SSH:

  7. Проверьте файл /etc/ssh/sshd_config и закомментируйте или удалите использование ForceCommand, если это возможно, так как он может использовать Bash для обработки переменных.

  8. Общая рекомендация:

  9. Изолируйте уязвимые системы от прямого доступа из интернета до момента установки патча.