Поиск по сайту:

Обнаружена ужасная дыра в безопасности брандмауэра netfilter Linux

Как неловко! Оказывается, в программе брандмауэра Linux netfilter скрывалась дыра в безопасности.

За почти всеми инструментами брандмауэров Linux, такими как iptables; его новая версия nftables; брандмауэр; и ufw — сетевой фильтр, который контролирует доступ к сетевому стеку Linux и из него. Это важная программа безопасности Linux, поэтому, когда в ней обнаруживается дыра в безопасности, это имеет большое значение.

Ник Грегори, исследователь угроз Sophos, недавно обнаружил эту дыру, проверяя netfilter на предмет возможных проблем безопасности. Грегори очень подробно объясняет свою охоту за ошибками, и я рекомендую это тем, кто хочет разобраться в поиске ошибок C. Но для тех из вас, кто просто хочет сразу перейти к делу, вот история.

Это серьезная ошибка. В частности, это проблема с записью за пределы кучи в сетевом фильтре ядра. Грегори сказал, что его «можно использовать для выполнения кода ядра (через ROP [возвратно-ориентированное программирование]), что дает полное локальное повышение привилегий, выход из контейнера и все, что вы захотите». Фу!

Эта проблема существует потому, что netfilter неправильно обрабатывает функцию аппаратной разгрузки. Локальный непривилегированный злоумышленник может использовать это, чтобы вызвать отказ в обслуживании (DoS), выполнить произвольный код и вызвать всеобщий хаос. Еще больше усугубляет ситуацию тот факт, что это работает, даже если атакуемое оборудование не имеет функции разгрузки! Это потому, что, как написал Грегори в списке безопасности: «Несмотря на то, что в коде речь идет об аппаратной разгрузке, это достижимо при нацеливании на сетевые устройства, которые не имеют функции разгрузки (например, lo), поскольку ошибка срабатывает до того, как создание правила не удается. "

Эта уязвимость присутствует в ядре Linux версий с 5.4 по 5.6.10. Он указан как «Распространенные уязвимости и уязвимости» (CVE-2022-25636) и имеет оценку 7,8 по общей системе оценки уязвимостей (CVSS), что делает его настоящим злодеем.

Как плохо? В своем сообщении Red Hat заявила: «Эта уязвимость позволяет локальному злоумышленнику с учетной записью пользователя в системе получить доступ к внешней памяти, что приводит к сбою системы или угрозе повышения привилегий». Так что да, это плохо.

Хуже того, это затрагивает недавние основные выпуски дистрибутива, такие как Red Hat Enterprise Linux (RHEL) 8.x; Debian Буллсай; Ubuntu Linux и SUSE Linux Enterprise 15.3. Хотя патч netfilter ядра Linux уже создан, он пока доступен не во всех выпусках дистрибутива.

Если у вас еще нет патча, вы можете смягчить проблему в семействе RHEL с помощью команд:

# echo 0 > /proc/sys/user/max_user_namespaces

# sudo sysctl --system

А в семействе Debian/Ubuntu с помощью команды:

$sudo sysctl kernel.unprivileged_userns_clone=0

Итак, мы снова здесь. Я не видел хорошего применения этого, но я видел тот, который работает примерно в половине случаев. Если вы не хотите, чтобы ваши серверы Linux были украдены у вас из-под ног или просто выбиты из сети, пришло время либо исправить вашу систему, либо заблокировать ее, чтобы избежать проблем.

См. также

  • Разработчики Linux исправляют дыры в безопасности быстрее, чем кто-либо другой, утверждает Google Project Zero
  • Попытка вытрясти пользователей Linux из-за использования кода Netfilter решена
  • Обнаружена серьезная уязвимость безопасности Linux PolicyKit: Pwnkit

Статьи по данной тематике