Почему pipe_buffer так любят исследователи безопасности Linux

  • Автор темы Автор темы ADMIN
  • Дата начала Дата начала

ADMIN

Administrator
ADMIN
Регистрация
18 Окт 1989
Сообщения
1,408
Реакции
93
Баллы
48
☑ ДЕПОЗИТ
0$
photo_2026-07-15_11-28-38.jpg

Александр Попов опубликовал интересные результаты экспериментов с объектом ядра Linux pipe_buffer - одной из самых мощных целей при эксплуатации уязвимостей ядра.

Почему он так интересен атакующему? Повреждение отдельных полей pipe_buffer потенциально позволяет:

🔸 реализовать техники вроде Dirty Pipe и изменять файлы только для чтения;
🔸 перехватывать управление в kernel space;
🔸 строить примитивы Arbitrary Address Read/Write;
🔸 использовать техники вроде PageJack.

В ходе экспериментов автор обнаружил несколько любопытных особенностей.

Например, после достижения лимита /proc/sys/fs/pipe-user-pages-soft ядро начинает создавать новые pipe с уменьшенным буфером. Это может неожиданно повлиять на heap spray и размещение объектов в slab-кешах.

Ещё интереснее другое: оказалось, что для получения примитива чтения и записи памяти ядра может быть достаточно повредить только указатель pipe_buffer.page. Причина кроется в механизме кеширования освобождённых страниц через pipe_inode_info.tmp_page.

Есть и неприятный побочный эффект: закрытие повреждённого pipe может вернуть атакованную страницу аллокатору страниц, что приведёт к непредсказуемому повреждению памяти ядра. Практичное решение из PoC - просто не закрывать такой pipe 😁

Отличный материал для тех, кто изучает Linux Kernel Exploitation, устройство slab allocator и внутреннюю механику pipe.
 
Защита от мошенничества: Использование посредника минимизирует риски столкнуться с «продавцами-однодневками» или недобросовестными заказчиками, которые исчезают после получения предоплаты или результата работы.
Назад
Сверху