Что такое уязвимость Shellshock?

Shellshock - это собирательное название ряда проблем безопасности Linux в оболочке bash. Bash является терминалом по умолчанию во многих дистрибутивах Linux, а это означает, что последствия ошибок были особенно широко распространены.

Примечание. Уязвимость не затронула системы Windows, поскольку Windows не использует оболочку Bash.

В сентябре 2014 года Стефан Чазелас, исследователь безопасности, обнаружил первую проблему в Bash и в частном порядке сообщил о ней лицу, поддерживающему Bash. Он работал с разработчиком, ответственным за поддержку Bash, и был разработан патч, решающий проблему. После того, как патч был выпущен и доступен для загрузки, к концу сентября стало известно о характере ошибки.

Через несколько часов после объявления об ошибке она начала эксплуатироваться в дикой природе и в течение дня. уже были ботнеты на основе эксплойта, используемого для выполнения DDOS-атак и уязвимости сканирование. Несмотря на то, что патч уже был доступен, люди не могли развернуть его достаточно быстро, чтобы избежать наплыва эксплуатации.

В течение следующих нескольких дней было обнаружено еще пять связанных уязвимостей. Опять же, патчи были быстро разработаны и выпущены, но, несмотря на активную эксплуатацию, обновления все еще не были обязательно применяется немедленно или даже доступен немедленно во всех случаях, что приводит к более скомпрометированным машины.

Уязвимости возникли по разным причинам, включая некорректную обработку системных вызовов веб-сервера на основе CGI. Сервер OpenSSH позволил повысить привилегии с ограниченной оболочки до неограниченной оболочки. Вредоносные DHCP-серверы могли выполнять код на уязвимых DHCP-клиентах. При обработке сообщений Qmail допускал эксплуатацию. Оболочка с ограниченным доступом IBM HMC может быть использована для получения доступа к полной оболочке bash.

Из-за широко распространенного характера ошибки, а также серьезности уязвимостей и спешки использования Shellshock часто сравнивают с Heartbleed. Heartbleed - это уязвимость в OpenSSL, которая приводит к утечке содержимого памяти без какого-либо взаимодействия с пользователем.