Исследователи получили root в OpenBSD, эксплуатировав 37-летний баг в ядре

Big Fish: Exploiting a 37-Year-Old Kernel Bug in OpenBSD

Специалисты Calif обнаружили уязвимость в OpenBSD, корни которой уходят в оригинальные исходники BSD 37-летней давности. Ошибка в счётчике присоединений разделяемой памяти (signed short) позволяет переполнить его и вызвать use-after-free. В сочетании с записью за границы массива это даёт локальное повышение привилегий до root даже при включённых KARL, SMAP и SMEP. Патчи выпущены в errata 026 и 018. В статье также предложены меры по усилению защиты: safe-unlinking, рандомизация адресов аллокатора и PTE, а также использование санитайзеров компилятора.

Повторное разветвление процесса с записями о присоединении к разделяемой памяти могло переполнить этот счётчик сверх максимального значения 32 767, вызвав его переход в отрицательное значение.

Ещё за этот день

2026-10-16