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

Изображение: (cc) Gabriel Heinzer
Интерфейс командной строки linux-системы
Интерфейс командной строки linux-системы

Уязвимость в подсистеме фильтрации и модификации сетевых пакетов ядра Linux выявил специалист по информационной безопасности Osiris lab Политехнического института Нью-Йоркского университета Ник Грегори. Письмо с описанием уязвимости опубликовано 21 февраля в списке рассылки проекта Openwall.

Уязвимость затрагивает операционные системы (ОС) с ядром Linux 5.4 и новее. Проблема позволяет выполнить код злоумышленника с привилегиями уровня ядра ОС. Уязвимость получила код CVE-2022-25636.

Исправление уязвимости на данный момент выпущена в виде заплатки. Выпуски ядра с исправлением проблемы пока не сформированы. Грегори подготовил пример сценария эксплуатации уязвимости (эксплойта). Уязвимость оказалась достаточно простой в использовании.

Проблема относится к типу переполнения буфера. Она вызвана некорректным определение размера массива в функции «nftfwddupnetdevoffload». Уязвимость можно использовать для записи данных в область памяти за границей выделенного буфера.

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

Ошибку можно использовать для на атаки на системы поддерживающие аппаратное ускорение обработки пакетов и нет, а также на системы контейнерной изоляции.