Минувшей осенью в eBPF-фреймворке, встроенном в ядро Linux, объявились две уязвимости, позволяющие перехватить поток управления и выполнить любой код с правами root. Решив проблему, разработчики опубликовали подробности и PoC.
Обе уязвимости связаны с обработкой пакетов, передаваемых с использованием сокетов AF_XDP. Степень угрозы в обоих случаях оценена в 7,8 балла CVSS (как высокая).
Как оказалось, при выполнении функций xsk_map_delete_elem (CVE-2024-56614) и devmap_map_delete_elem (CVE-2024-56615) может возникнуть целочисленное переполнение — ситуация, провоцирующая запись за границами буфера.
Подобная ошибка может повлечь нарушение целостности памяти и в случае эксплойта позволяет захватить контроль над ядром и выполнить вредоносный код на этом уровне. Практика показывает, что незакрытые уязвимости в eBPF также грозят внедрением руткита.
Похожая уязвимость чуть позже была найдена в ksmbd-модуле ядра Linux (CVE-2024-56626). Ее тоже пофиксили, а затем обнародовали и выложили PoC-эксплойт.