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), система защищена.
Временное решение
Если немедленное обновление невозможно, выполните следующие действия:
- Ограничьте использование Bash в CGI:
- В конфигурации веб-сервера (Apache, nginx) отключите модули
mod_cgiиmod_cgidдля всех виртуальных хостов, где они не требуются. -
Для необходимых CGI-скриптов переведите их на использование других оболочек (например,
#!/bin/dash), явно указав в shebang-строке. -
Настройте WAF (Web Application Firewall):
-
Добавьте правило для блокировки HTTP-запросов, содержащих в заголовках (
User-Agent,Referer,Cookieи др.) строки вида() { :; };. -
Для SSH:
-
Проверьте файл
/etc/ssh/sshd_configи закомментируйте или удалите использованиеForceCommand, если это возможно, так как он может использовать Bash для обработки переменных. -
Общая рекомендация:
- Изолируйте уязвимые системы от прямого доступа из интернета до момента установки патча.