Ключевой компонент многих Linux-дистрибутивов — в первую очередь Ubuntu — содержит серьезную уязвимость, через которую злоумышленники могут получить root-привилегии. К такому выводу пришел ИБ-специалист Крис Моберли (Chris Moberly), разработавший два эксплойта для взлома операционной системы.

Брешь, получившая название Dirty Sock («Грязный носок»), не допускает удаленной эксплуатации, но киберпреступник может получить полный контроль над устройством, если запустит вредоносный процесс на целевом компьютере.

Проблема кроется в демоне snapd — утилите, обеспечивающей поддержку REST API в системе управления snap-пакетами. Программа создана компанией Canonical и включена в Ubuntu, Debian, Fedora, Arch Linux, Solus и OpenSUSE. В ее задачу входит обработка кроссплатформенных приложений на разных сборках Linux. Snap-пакеты широко используются в Интернете вещей и облачных решениях.

Как выяснил Моберли, в ходе установки нового приложения злоумышленники могут обойти заданные ограничения, связаться с хостом REST API и получить полный доступ к функциям программного интерфейса.

Исследователь представил два варианта эксплойта. В первом случае, чтобы получить привилегии администратора на целевом устройстве, необходимо создать аккаунт в системе единого ID Ubuntu SSO и скопировать его открытый SSH-ключ в свой локальный профиль. В дальнейшем достаточно лишь запустить созданный исследователем Python-скрипт и указать в качестве параметра адрес электронной почты, связанный с учетной записью.

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

Специалист зарегистрировал уязвимость как CVE-2019-7304 и сообщил о ней создателям системы управления пакетами. Как утверждает эксперт, баг присутствует в snapd версий с 2.28 по 2.37. Получив информацию об ошибке, разработчики Canonical выпустили сборку 2.37.1 с заплаткой и выложили патч USN-3887-1 для Ubuntu. Производители других затронутых дистрибутивов Linux также добавили обновленную утилиту в свои продукты.

В январе этого года стало известно об ошибке в менеджере пакетов APT, который используется для загрузки апдейтов в операционных системах на базе Linux. Как оказалось, брешь в служебной утилите позволяла киберпреступникам изменить содержимое запроса к одному из серверов обновлений и выполнить на целевом компьютере вредоносную программу. Проблема заключалась в неправильной обработке HTTP-команды с параметром Location, содержащим адрес сервисного хоста.

Категории: Уязвимости