Linux-версия Mozilla VPN некорректно проверяет аутентификацию

Linux-версия Mozilla VPN некорректно проверяет аутентификацию

Linux-версия Mozilla VPN некорректно проверяет аутентификацию

Один из разработчиков Linux-дистрибутива SUSE указал на опасную уязвимость в клиенте Mozilla VPN для «пингвина». Эксплуатация бреши может позволить перенаправить сетевой трафик на сторонние ресурсы и вмешаться в текущие настройки VPN.

В посте на Openwall специалист Матиас Герстнер объясняет, что проблема кроется в некорректной проверке аутентификации. Баг затрагивает версию v2.14.1, которая вышла 30 мая.

Фактически уязвимость может использовать любой пользователь, что позволит ему перенаправить трафик «на сторону», вмешаться в конфигурацию VPN и многое другое. Особую опасность брешь представляет для компьютеров, которыми пользуются несколько людей.

По словам Герстнера, проблему удалось обнаружить в тот момент, когда один из сотрудников пытался добавить клиент Mozilla VPN в систему openSUSE Tumbleweed. Софт изучила команда безопасности SUSE (что является стандартной процедурой) и обратила внимание на службу D-Bus, запущенную от имени root и с политикой Polkit.

Polkit представляет собой API для аутентификации привилегированных программ. Как выяснила команда безопасников SUSE, процесс mozillavpn linuxdaemon содержал некорректную логику аутентификации.

После этого Герстнер обнаружил, что проверка аутентификации реализована по странной логике: код «просит» Polkit определить, авторизована ли служба Mozilla VPN D-Bus (а не конкретный пользователь) осуществлять определенное действие. Поскольку D-Bus работает с правами root, проверка аутентификации всегда возвращает утвердительное значение.

Таким образом, проверку пройдет любой пользователь и любой аккаунт, невзирая на права.

Контроллер памяти AMD научили обходить аппаратную изоляцию

Исследователь Кристофер Домас опубликовал PoC-проект skitter-creek-bath-salts, демонстрирующий обход аппаратной защиты памяти на процессорах AMD Family 16h. Техника манипулирует настройками контроллера DRAM и позволяет обращаться к областям, которые должны быть недоступны даже операционной системе, ядру и коду с привилегиями ring 0.

Обычно программные и аппаратные механизмы контролируют доступ по физическим адресам.

Но последнюю точку в маршруте ставит контроллер памяти: он переводит адрес в конкретные координаты DRAM — канал, ранг, банк, строку и столбец.

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

 

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

Для поиска адресов-двойников проект использует линейную алгебру и SMT-решатель Z3. Инструменты восстанавливают связь между обычным и изменённым отображением памяти, после чего вычисляют алиас для защищённой области.

Исследователь продемонстрировал потенциальный доступ к памяти AMD Platform Security Processor, включая данные fTPM, защищённой области System Management Mode, состояниям процессора C6 и хранилищу микрокода. Последний сценарий допускает не только извлечение копии патча, но и её возможное изменение перед восстановлением состояния ядра.

PoC проверяли только на AMD Family 16h. Данных об аналогичной уязвимости в новых AMD, Intel, ARM или RISC-V нет.

RSS: Новости на портале Anti-Malware.ru