SLUBStick — новый вектор кросс-кеш атаки на ядро Linux, позволяющий в 99% случаев конвертировать ограниченную проблему памяти в возможность произвольной записи и чтения.
С помощью SLUBStick условный злоумышленник может повысить права в системе или выбраться за пределы контейнеров.
На вектор атаки указали специалисты Грацского технического университета, продемонстрировав его на версиях ядра Linux 5.9 и 6.2 (последняя на данный момент). В общей сложности эксперты использовали девять уязвимостей с присвоенными CVE-идентификаторами, затрагивающие как 32-, так и 64-битные системы.
Отмечается, что SLUBStick обходит все современные методы защиты ядра: Supervisor Mode Execution Prevention (SMEP), Supervisor Mode Access Prevention (SMAP) и Kernel Address Space Layout Randomization (KASLR).
Технические подробности атаки исследователи готовятся представить на симпозиуме Usenix Security, который должен пройти в этом месяце. Однако уже сейчас доступен отчет (PDF), описывающий сценарии эксплуатации.
Как известно, одним из способов эффективного и безопасного управления памятью в ядре Linux является выделение и освобождение фрагментов памяти, которые принято называть «блоками».
Уязвимости в этом процессе управления памятью могут позволить злоумышленникам повредить или манипулировать структурами данных. Однако такой вектор атаки эффективен приблизительно в 40% и рано или поздно приводит к сбоям в работе системы.
В случае SLUBStick атакующие могут задействовать бреши класса use-after-free (использование освобожденной памяти) и возможность записи за пределами границ.
Затем условный злоумышленник может измерить время, чтобы определить точный момент освобождения блоков памяти, что позволит предсказывать и контролировать повторное использование памяти.
SLUBStick повышает эффективность атаки на 99%, что делает вектор весьма практичным.