В Сеть выложили технические детали опасной дыры в ядре Linux — StackRot

В Сеть выложили технические детали опасной дыры в ядре Linux — StackRot

В Сеть выложили технические детали опасной дыры в ядре Linux — StackRot

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

Специалисты отмечают, что эксплуатация бага, получившего идентификатор CVE-2023-3269 потребует определённых усилий. Патч доступен с 1 июля, а полностью рабочий демонстрационный эксплойт обещают к концу месяца.

За обнаружение уязвимости благодарят исследователя Руихана Ли. Как объяснил эксперт, проблема затрагивает подсистему управления памятью ядра. Этот компонент, как известно, отвечает за имплементацию виртуальной памяти, её выделение для нужд ядра и программ уровня пользователя.

StackRot актуальна для всех конфигураций ядра в версиях Linux с 6.1 по 6.4. Исследователь сообщил о баге 15 июня, однако подготовка патча заняла почти две недели из-за сложности проблемы. Говорят, что даже сам Линус Торвальдс возглавил работу.

«28 июня патч добавили в дерево Линуса. Сам Линус предоставил обстоятельное сообщение, чтобы прояснить заплатки с технической точки зрения. Далее патчи были портированы на стабильные версии ядра (6.1.37, 6.3.11 и 6.4.1). Таким образом, “StackRot“ удалось полостью устранить первого июля», — отмечает Ли.

В целом причину возникновения этого бага эксперты видят в методе обработки расширения стека со стороны ядра Linux. Само «слабое звено» располагается в «maple tree» — новой структуре данных для VMA, которая была представлена в ядре Linux версии 6.1.

Фактически StackRot можно назвать классической UAF (use-after-free — некорректное использование динамической памяти), возникающей из-за метода обработки расширения стека.

 

Руихан Ли подчеркнул, что грамотная эксплуатация может стать серьёзной задачей, а CVE-2023-3269, в сущности, будет первой теоретически эксплуатируемой дырой класса use-after-free-by-RCU (UAFBR). Сам proof-of-concept (PoC) эксперт обещает выложить к концу июля.

Подпишитесь на новости

VPN через VK, MAX и DNS: Rawline собрал разные туннели в одном клиенте

Когда один способ подключения перестаёт работать, начинается перебор приложений: здесь VLESS, там DNS-туннель, отдельно — транспорт через звонки. Разработчик Rawline решил собрать этот набор в одном клиенте для Android, Windows, Linux и macOS. За основу взяты Throne и сетевые ядра sing-box и Xray.

Как устроен проект и какие проблемы безопасности пришлось решать, автор рассказал на Хабре.

Помимо привычных VPN-протоколов, Rawline поддерживает нестандартные транспорты через звонки VK и MAX, WebRTC, DNS и S3. Все подключения представлены обычными профилями, их можно импортировать по ссылке или QR-коду, проверять пинг, объединять в цепочки и настраивать маршрутизацию по приложениям и доменам. Работоспособность конкретного способа при ограничениях придётся проверять на своей сети.


Отдельный акцент — защита от приложений, исключённых из VPN. По словам автора, через незащищённый локальный прокси или прямое обращение к интерфейсу туннеля они могут отправить запрос через VPN и узнать адрес сервера.


В Rawline разработчик убрал лишние прокси-входы, защитил внутренние соединения случайными паролями и добавил проверку принадлежности трафика приложениям. Последняя защита включена по умолчанию на Android 10 и новее.

При проверке также обнаружилась проблема в нескольких транспортных мостах: постороннее приложение могло первым отправить UDP-пакет и перехватить канал. Автор сообщает, что исправил её и добавил тесты. Код и сборки опубликованы на GitHub.

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