сведения об уязвимости () в ядре Linux, которая была использована в соревновании при демонстрации взлома Ubuntu. Уязвимость позволила непривилегированному пользователю получить права root. Рабочий эксплоит существует, но пока не опубликован. Уязвимость присутствует в подсистеме eBPF, позволяющей запускать обработчики для трассировки, анализа работы подсистем и управления трафиком, выполняемые внутри ядра в специальной виртуальной машине с JIT.
Проблема вызвана ошибкой в функции __reg_bound_offset32(), применяемой для проверки 32-разрядных операций в байткоде BPF. Из-за неверного расчёта границ регистра, при обработке специально оформленных BPF-приложений возникали условия для записи и чтения данных вне выделенного буфера в области памяти ядра. Проблема появилась в ядре 5.5 и позднее при бэкпортировании исправлений была перенесена в ядро 5.4, а также в , предлагаемым в Ubuntu Linux.
Для блокирования уязвимости рекомендовано проблемный патч или запретить выполнение BPF-приложений непривилегированными пользователями через установку sysctl kernel.unprivileged_bpf_disabled в значение 1. Статус исправления в дистрибутивах: , , , dhe (в ядра проблемное изменение не переносилось).
Burimi: opennet.ru
