Обнаружена уязвимость в rt-ядре RHEL и Debian

Обнаружена уязвимость в rt-ядре RHEL и Debian

Обнаружена уязвимость в rt-ядре RHEL и Debian

В ядре kernel-rt c реализацией режима реального времени для Red Hat Enterprise Linux выявлена проблема с безопасностью, позволяющая организовать атаку по выполнению произвольных команд SysRq (например, инициировать перезагрузку) через отправку специально оформленных пакетов ICMP echo.

Проблема связана с недоработкой в реализации функции отправки команд SysRq по сети, которая не была принята в состав основного ядра, но вошла в состав пакета kernel-rt с набором патчей PREEMPT_RT. Патч также используется в пакетах с ядром в некоторых других дистрибутивах, например проблема присутствует в ядре из состава Debian. Обычное (не "-rt") ядро RHEL проблеме не подвержено, пишет opennet.ru.

Патч отправки SysRq по сети был создан для реагирования на зависания системы, при которых система никак не реагирует на клавиатурный ввод, но продолжает отвечать на запросы ping. Патч предлагает опцию CONFIG_SYSRQ_PING при активации которой пользователь может добавить в файл /sys/kernel/debug/network_sysrq_magic секретную кодовую последовательность, которая в дальнейшем может использоваться в качестве ключа для удалённого выполнения команд SysRq. Например, команду SysRq можно отправить через "ping -c 1 -p 1623a06f554d46d676d 192.168.1.1", где 1623a06f554d46d67 - ключ, а 6d - код команды sysrq-m.

Реализация имеет две проблемы: Размер ключа составляет не более 30 шестнадцатеричных цифр (на практике может быть указано существенно меньше цифр), что с учётом легковесности пакетов icmp позволяет удалённому злоумышленнику совершить bruteforce-атаку и методом подбора определить нужный ключ. Для пользователей локальной системы не составляет труда получить ключ без подбора, файл /sys/kernel/debug/network_sysrq_magic, в котором записан ключ, доступен на чтение всем пользователям системы.

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

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