🔥 DIRTYFREE: Новый метод повышения привилегий в Linux, убивающий сложность DOP-атак С внедрением KCFI (Kernel Control-Flow Integrity) эра классических…
С внедрением KCFI (Kernel Control-Flow Integrity) эра классических ROP-атак в ядре ушла. На смену пришло DOP (Data-Oriented Programming), но традиционный подход требует сложной подготовки: утечки адресов кучи, произвольного чтения (AAR) и произвольной записи (AAW).
На NDSS 2026 представлена техника DIRTYFREE, которая сводит эксплуатацию к одному элегантному примитиву - Arbitrary Free.
⚙️ Атака базируется на особенности функции kfree(). В отличие от kmem_cache_free(), она не требует явного указания кэша. Это позволяет реализовать Cross-Cache Free: освободить критически важный объект (находящийся в dedicated cache), используя уязвимость в обычном объекте (general cache).
Kill Chain:
1. Spray: Заполняем кучу структурами cred (с правами обычного юзера).
2. Corrupt: Используем уязвимость (UAF/OOB), чтобы перезаписать указатель внутри "Arbitrary Free Object".
• Фишка: Часто достаточно перезаписать всего 1-2 байта указателя, чтобы направить его на соседний cred -объект.
3. Arbitrary Free: Триггерим вызов kfree() для этого указателя. Ядро освобождает структуру с правами, думая, что это обычный объект.
4. Escalate: Спреим новые cred -структуры, но уже с правами root. Одна из них занимает освобожденный слот ➔ текущий процесс получает UID 0.
• Эффективность: Авторы протестировали метод на 31 реальной CVE (2023–2024 гг.). Результат: 24 успешных эксплойта.
• Минимальные требования: Многие "неэксплуатируемые" баги становятся критическими. Не нужен полный контроль над памятью, достаточно частичной перезаписи.
• Обход защит: Техника работает даже при включенном Slab Virtual (популярная митигация, разделяющая виртуалку и физику), так как использует легитимный механизм аллокатора.
Авторы нашли 14 универсальных объектов в ядре (включая msg_queue, io_ring_ctx, poll_list), которые можно использовать для этой техники практически в любом кэше (от kmalloc-16 до kmalloc-8192).
#Linux #Kernel #ExploitDev #DOP #DirtyFree #NDSS2026
👉 @thehaking