Команда VEGA разобрала use-after-free на стеке ядра (CVE-2026-43499): дефект пролежал в коде с 2011 года и присутствовал в каждом крупном дистрибутиве. Для срабатывания не нужны ни привилегии, ни специальная конфигурация ядра.
Корень — в механике futex с наследованием приоритета. Функция, снимающая поток с ожидания, чистит поле
pi_blocked_on у current. На обычном пути это корректно, но на «proxy»-ветке current — уже не тот поток, что спит в ожидании, и у спящего остаётся висячий указатель на фрейм собственного, уже свёрнутого стека.Дальше — образцовая цепочка эксплуатации: контролируемые байты распыляются на освобождённый стек, подделывается структура ожидателя, обходится KASLR. В итоге — эскалация до root и выход из контейнера со стабильностью 97%. За это Google выплатил команде 92 337 долларов по программе kernelCTF.
Полная статья: https://nebusec.ai/research/ionstack-part-2/
Сохранять тем, кто хочет увидеть, как одно неверное допущение про «кто сейчас current» превращается в root на пятнадцать лет вперёд.
@prog_stuff