Первые последствия дырявого bash

Не прошло и пары суток, а дыру в bash начали успешно использовать.

Проблема, конечно, гораздо больше, чем некое дырявое приложение. Она обладает корнями, глубоко уходящими в недра религии юниксвэя. Мы неоднократно говорили, что склеивать бинарнички с помощью пайпов, в которых передается неструктурированная текстовая информация, это дикость из археологических глубин ранних юниксов. Мы предлагали и модернизацию pipes, и постоянно рассказываем о необходимости переводить текст-ориентированные системы на бинарные (например, раз и два), и уж разумеется наши коллеги всегда отстаивали порочность юниксвэйного запуска приложений из других приложений, и последующего анализа текстового вывода (например, довольно радикальная презентация с Linux Plumber Conference 2012 нашего коллеги Andy Grover).

Мы продолжаем отстаивать точку зрения, что весь этот цирк со злыми клоунами юниксвэй необходимо заменить на сильно связанные, но работающие независимо (компоненты systemd, приложения D-Bus) и изолированно (SELinux, cgroups и т.п.) приложения, общающиеся с помощью стандартизированных бинарных сообщений (JSON, GVariant, BSON, Bencode, XML, да что угодно) по стандартной шине данных (D-Bus / kdbus), и события которых оперативно заносятся в базу данных событий системы (Journald). Это то, что называется платформа Linux, и то, к чему мы весь мир опенсорса потихоньку ведем.

Напоследок рекомендуем прочитать своевременный пост от Dan Walsh, в котором он объясняет, почему SELinux не блокирует проблему, и как он минимизирует ущерб. Вкратце, у кого SELinux включен, у того ошибка будет изолирована, и злоумышленник не сможет похитить ваши данные, хотя и сможет использовать ваш компьютер, а вот у кого выключен (у волосатых дикарей-троглодитов), у тех злоумышленник получит полноценный доступ к вашей машинке. Такие дела.