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

Автор Сообщение
news_bot ®

Стаж: 6 лет 2 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
13-Янв-2022 00:30

В подсистеме eBPF, позволяющей запускать обработчики внутри ядра Linux в специальной виртуальной машине с JIT, выявлена уязвимость (CVE-2021-4204), дающая возможность локальному непривилегированному пользователю добиться повышения привилегий и выполнения своего кода на уровне ядра Linux. Проблема проявляется начиная с ядра Linux 5.8 и пока остаётся неисправленной (затрагивает в том числе выпуск 5.16). Состояние формирования обновлений с устранением проблемы в дистрибутивах можно отследить на данных страницах: Debian, RHEL, SUSE, Fedora, Ubuntu, Arch. Заявлено о создании рабочего эксплоита, который планируют опубликовать 18 января (пользователям и разработчикам дана неделя на устранение уязвимости).
Уязвимость вызвана некорректной проверкой передаваемых для выполнения eBPF-программ. Подсистема eBPF предоставляет вспомогательные функции, корректность использования которых проверяет специальный верификатор. Некоторые функции требуют передачи значения PTR_TO_MEM в качестве аргумента и для предотвращения возможных переполнений буфера верификатор должен знать размер связанной с аргументом памяти. Для функций bpf_ringbuf_submit и bpf_ringbuf_discard данные о размере передаваемой памяти не сообщались верификатору, что могло использоваться для перезаписи областей памяти за границей буфера при выполнении специально оформленного eBPF-кода.
Для проведения атаки пользователь должен иметь возможность загрузки своей BPF-программы, а многие свежие дистрибутивы Linux по умолчанию блокируют такую возможность (в том числе непривилегрированный доступ к eBPF теперь запрещён по умолчанию и в самом ядре, начиная с выпуска 5.16). Например, уязвимость может быть эксплуатирована в конфигурации по умолчанию в Ubuntu 20.04 LTS, но в окружениях Ubuntu 22.04-dev, Debian 11, openSUSE 15.3, RHEL 8.5, SUSE 15-SP4 и Fedora 33 проявляется только если администратор выставил параметр kernel.unprivileged_bpf_disabled в значение 0. В качестве обходного пути блокирования уязвимости можно запретить выполнение BPF-программ непривилегированным пользователям командой "sysctl -w kernel.unprivileged_bpf_disabled=1".
===========
Источник:
OpenNet.RU
===========

Похожие новости: Теги для поиска: #_ebpf, #_kernel
Профиль  ЛС 
Показать сообщения:     

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы

Текущее время: 26-Апр 02:50
Часовой пояс: UTC + 5