Почему 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.
 
Автоматический гарант это финансовая безопасность: Покупатель может быть уверен, что его деньги не попадут к продавцу до того, как он получит и проверит товар или услугу. Продавец, в свою очередь, защищен от не оплаты, так как гарант подтверждает наличие средств у покупателя до начала выполнения обязательств.
Назад
Сверху