Уязвимости в подсистеме eBPF ядра Linux
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
В подсистеме eBPF, позволяющей запускать обработчики для трассировки, анализа работы подсистем и управления трафиком, выполняемые внутри ядра Linux в специальной виртуальной машине с JIT, выявлена уязвимость (CVE-2021-29154), позволяющая локальному пользователю добиться выполнения свого кода на уровне ядра. Проблема проявляется вплоть до выпуска 5.11.12 (включительно) и ещё не исправлена в дистрибутивах (Debian, Ubuntu, RHEL, Fedora, SUSE, Arch). Исправление доступно в виде патча.
По заявлению исследователей, выявивших уязвимость, им удалось разработать рабочий прототип эксплоита для 32- и 64-разрядных систем x86, который может быть использован непривилегированным пользователем. При этом компания Red Hat отмечает, что опасность проблемы зависит от доступности пользователю системного вызова eBPF. Например, в RHEL и большинстве других дистрибутивов Linux в конфигурации по умолчанию уязвимость может быть эксплуатирована при включении BPF JIT и наличии у пользователя прав CAP_SYS_ADMIN. В качестве обходной меры защиты рекомендуется отключить BPF JIT при помощи команды:
echo 0 > /proc/sys/net/core/bpf_jit_enable
Проблема вызвана ошибкой вычисления смещения для команд ветвления в процессе генерации машинного кода JIT-компилятором. В частности, при генерации инструкций ветвления не учитывается, что смещение может измениться после прохождения стадии оптимизации. Указанная недоработка может использоваться для формирования аномального машинного кода и его выполнения их на уровне ядре.
Примечательно, что это не единственная уязвимость в подсистеме еBPF за последнее время. В конце марта в ядре были выявлены ещё две уязвимости (CVE-2020-27170, CVE-2020-27171), предоставляющие возможность использовать еBPF для обхода защиты от уязвимостей класса Spectre, позволяющих определять содержимое памяти ядра в результате создания условий для спекулятивного выполнения определённых операций. Для атаки Spectre требуется наличие в привилегированном коде определённой последовательности команд, приводящих к спекулятивному выполнению инструкций. В еBPF найдено несколько способов генерации подобных инструкций через манипуляции с передаваемыми для выполнения BPF-програмами.
Уязвимость CVE-2020-27170 вызвана наличием в верификаторе BPF манипуляций с указателями, вызывающими спекулятивные операции обращения к области вне границ буфера. Уязвимость CVE-2020-27171 связана с ошибкой целочисленной арифметики (integer underflow) при работе с указателями, приводящей к спекулятивному обращению к данным вне буфера. Указанные проблемы уже устранены в выпусках ядра 5.11.8, 5.10.25, 5.4.107, 4.19.182 и 4.14.227, а также вошли в состав обновлений ядра большинства дистрибутивов Linux. Исследователями подготовлен протитип эксплоита, позволяющий непривилегированному пользователю извлечь данные из памяти ядра.
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://www.openwall.com/lists...)
- OpenNews: Уязвимость в ядре Linux, позволяющая повысить свои привилегии через BPF
- OpenNews: Критические уязвимости в подсистеме eBPF ядра Linux
- OpenNews: Уязвимость в Bluetooth-стеке BlueZ, позволяющая удалённо выполнить код с правами ядра Linux
- OpenNews: Уязвимости в ядре Linux, затрагивающие реализации VSOCK, Futex и io_uring
- OpenNews: В eBPF найдена возможность обхода защиты ядра Linux от атаки Spectre
Похожие новости:
- [Системное программирование, *nix, C, Разработка под Linux] Новый sd-bus API от systemd (перевод)
- [Информационная безопасность, Реверс-инжиниринг] GDB Tutorial for Reverse Engineers: Breakpoints, Modifying Memory and Printing its Contents
- [Open source, *nix, Карьера в IT-индустрии, Openshift] Пишем 'Hello World' на WebAssembly, шпаргалка по Linux-команде sed, а также 15 самых востребованных ИТ-сертификатов года
- [Настройка Linux, Open source, *nix, Сетевые технологии, Беспроводные технологии] Настройка роутера с прошивкой DD-WRT на работу с L2TP на примере Билайна
- [Настройка Linux, Open source, Видеотехника, DIY или Сделай сам] KODI: собираем удобный и функциональный медиацентр для дома. Часть 5. Яндекс.Музыка
- [Настройка Linux, 1С] Установка УТМ 4.x на АТОЛ-HUB20
- [Хостинг, Информационная безопасность, Серверное администрирование, Законодательство в IT] Дата-центр возле Амстердама называют «выгребной ямой интернета», но он продолжает работу
- [Настройка Linux, Информационная безопасность] Настройка уязвимых машин через Vagrant
- [Программирование, Разработка под Linux] Nix: Что это и с чем это употреблять?
- [Настройка Linux, Сетевые технологии] Настройка сетевого стека Linux для высоконагруженных систем (перевод)
Теги для поиска: #_bpf, #_kernel, #_linux
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 21:37
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
В подсистеме eBPF, позволяющей запускать обработчики для трассировки, анализа работы подсистем и управления трафиком, выполняемые внутри ядра Linux в специальной виртуальной машине с JIT, выявлена уязвимость (CVE-2021-29154), позволяющая локальному пользователю добиться выполнения свого кода на уровне ядра. Проблема проявляется вплоть до выпуска 5.11.12 (включительно) и ещё не исправлена в дистрибутивах (Debian, Ubuntu, RHEL, Fedora, SUSE, Arch). Исправление доступно в виде патча. По заявлению исследователей, выявивших уязвимость, им удалось разработать рабочий прототип эксплоита для 32- и 64-разрядных систем x86, который может быть использован непривилегированным пользователем. При этом компания Red Hat отмечает, что опасность проблемы зависит от доступности пользователю системного вызова eBPF. Например, в RHEL и большинстве других дистрибутивов Linux в конфигурации по умолчанию уязвимость может быть эксплуатирована при включении BPF JIT и наличии у пользователя прав CAP_SYS_ADMIN. В качестве обходной меры защиты рекомендуется отключить BPF JIT при помощи команды: echo 0 > /proc/sys/net/core/bpf_jit_enable
Примечательно, что это не единственная уязвимость в подсистеме еBPF за последнее время. В конце марта в ядре были выявлены ещё две уязвимости (CVE-2020-27170, CVE-2020-27171), предоставляющие возможность использовать еBPF для обхода защиты от уязвимостей класса Spectre, позволяющих определять содержимое памяти ядра в результате создания условий для спекулятивного выполнения определённых операций. Для атаки Spectre требуется наличие в привилегированном коде определённой последовательности команд, приводящих к спекулятивному выполнению инструкций. В еBPF найдено несколько способов генерации подобных инструкций через манипуляции с передаваемыми для выполнения BPF-програмами. Уязвимость CVE-2020-27170 вызвана наличием в верификаторе BPF манипуляций с указателями, вызывающими спекулятивные операции обращения к области вне границ буфера. Уязвимость CVE-2020-27171 связана с ошибкой целочисленной арифметики (integer underflow) при работе с указателями, приводящей к спекулятивному обращению к данным вне буфера. Указанные проблемы уже устранены в выпусках ядра 5.11.8, 5.10.25, 5.4.107, 4.19.182 и 4.14.227, а также вошли в состав обновлений ядра большинства дистрибутивов Linux. Исследователями подготовлен протитип эксплоита, позволяющий непривилегированному пользователю извлечь данные из памяти ядра. =========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 21:37
Часовой пояс: UTC + 5