Уязвимость в Linux Netfilter позволяет выполнить код на уровне ядра

Уязвимость в Linux Netfilter позволяет выполнить код на уровне ядра

Уязвимость в Linux Netfilter позволяет выполнить код на уровне ядра

В подсистеме Netfilter ядра Linux выявлена уязвимость, позволяющая локальному пользователю повысить привилегии и выполнить произвольный код, выйти за пределы контейнера или вызвать в системе состояние отказа в обслуживании (DoS).

Проблема CVE-2022-25636 (7,8 балла CVSS) классифицируется как запись за границами буфера в куче. Опасная ошибка возникает при выполнении функции nft_fwd_dup_netdev_offload, отвечающей за настройку правил пакетного фильтра и проверку поддержки аппаратного ускорения обработки пакетов (offload).

Уязвимости подвержены версии ядра Linux с 5.4 по 5.6.10. Патч уже создан, но корректирующие выпуски ядра пока не появились. Списки затронутых пакетов в дистрибутивах с указанием статуса опубликованы на сайтах Red Hat, Ubuntu и SUSE.

Как оказалось, в Ubuntu новую дыру оперативно залатали, притом одновременно с Dirty Pipe (CVE-2022-0847). Эта раскрытая в начале марта уязвимость тоже позволяет локально повысить привилегии и грозит захватом контроля над системой.

Два дня назад автор новой находки в ядре Linux раскрыл подробности CVE-2022-25636 и рассказал, как ему удалось создать PoC-код, который подходит и для сетевых устройств, не поддерживающих offload. Исследователь также отметил, что пока он готовил блог-запись, на GitHub появился похожий эксплойт, но проверить работоспособность чужого инструмента он не успел.

Энтузиаст выпустил скрипт для быстрой установки защищённого MTProxy

Пользователь Хабра под ником aikendo рассказал о развитии собственного проекта MTProxy, опубликованного от имени lingeniare. Несмотря на одинаковые названия, это не официальный прокси-сервер Telegram и не его форк, а сторонний скрипт для автоматической установки и настройки MTProxy.

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

После первого релиза проект получил Fake TLS с указанием внешнего домена через параметр --domain. Механизм маскирует прокси-трафик под обычное TLS-соединение и помогает проходить системы глубокого анализа пакетов — DPI.

Архитектуру секретов тоже переработали. Вместо общего файла ключи разных пользователей хранятся раздельно в каталоге /etc/mtproxy/secrets.d. Сам прокси запускается от отдельной системной учётной записи mtproxy, а сервис systemd получил дополнительные ограничения по принципу наименьших привилегий.

Для защиты от перебора и сетевого флуда скрипт добавляет правила iptables с модулем hashlimit. Их можно сохранять после перезагрузки через netfilter-persistent. Интерфейс статистики теперь доступен только локально по адресу localhost:2398, чтобы служебные данные не торчали наружу без необходимости.

За стабильностью следит watchdog на базе таймера systemd: при сбое он перезапускает прокси. Скрипт также настраивает синхронизацию времени по NTP, поскольку рассинхронизация часов может сорвать MTProto-рукопожатие. Опционально доступен сетевой алгоритм BBR.

После установки проект выводит QR-код и прямую ссылку tg://proxy, поэтому подключение не требует ручного переписывания параметров. Исходный код открыт на GitHub.

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