Исследователи взломали Google kernelCTF и Debian 12 через 0-day в планировщике Linux

vulnerability

Команда специалистов по информационной безопасности выявила и успешно эксплуатировала критическую уязвимость типа Use-After-Free (CVE-2025-38001) в подсистеме HFSC (Hierarchical Fair Service Curve) планировщика пакетов ядра Linux. Атака позволила скомпрометировать защищенные экземпляры Google kernelCTF, включая версии LTS, COS-105, COS-109 и mitigation-среду, а также полностью обновленные системы Debian 12. Успешная эксплуатация принесла исследователям около 82 000 долларов вознаграждения, продемонстрировав беспрецедентную эффективность атаки.

Механика уязвимости

Уязвимость кроется в механизме обработки пакетов при активации функции дублирования NETEM под управлением HFSC в режиме реального времени. При дублировании пакета возникает реентерабельный вызов, приводящий к двойной вставке класса пакета в "eligible tree" - красно-черное дерево (RBTree), отвечающее за планирование. Эта операция формирует цикл в структуре дерева, вызывая бесконечный цикл при извлечении пакетов. Ключевым элементом атаки стало искусственное замедление обработки через корневую очередь Token Bucket Filter (TBF) с низкой пропускной способностью. Задержка удаления пакета создает окно для освобождения памяти дублированного класса, оставляя в дереве "висящий" узел. Последующая попытка добавления нового класса провоцирует состояние Use-After-Free, открывая путь для повреждения ядерной кучи.

Исследователи отказались от традиционных ROP-цепей, разработав инновационный примитив копирования указателей на основе page-vector. Заменив освобожденный объект класса HFSC контролируемым вектором страниц, они манипулировали операциями с указателями RBTree. Это привело к копированию ядерного указателя между векторами, вызывая несоответствие счетчиков ссылок и создавая Use-After-Free на уровне страниц памяти. Данная уязвимость позволила перезаписать учетные данные процесса, эскалировав привилегии до root. Эксплойт продемонстрировал почти абсолютную надежность против Debian 12 (ядро 6.6 и новее) и всех целевых сред Google kernelCTF.

Особенно впечатляет скорость атаки: с помощью оптимизированных скриптов и GPU-ускоренного решения Proof-of-Work исследователи похитили флаг LTS за 3,6 секунды - рекорд в истории Google kernelCTF. Вслед за этим были захвачены флаги COS, а затем обойдена защита mitigation-задачи, подтвердив эффективность эксплойта даже против экспериментальных систем защиты. Инженеры Google оперативно устранили первопричину уязвимости в коммите ac9fe7dd8e73, который предотвращает дублирование записей в RBTree через валидацию операций вставки. Патч интегрирован в основную ветку разработки ядра Linux и войдет в релиз 6.6.8, а также в ближайшие обновления Debian 12.

Данный инцидент подчеркивает фундаментальные риски, возникающие при взаимодействии сложных подсистем ядра. Уязвимость оставалась незамеченной из-за неочевидности сценария: безобидный бесконечный цикл, усиленный искусственной задержкой TBF, трансформировался в надежный вектор для компрометации. Исследование наглядно демонстрирует, что даже продвинутые техники фаззинга могут пропускать подобные multi-component уязвимости, где эксплуатация зависит от комбинации состояний нескольких компонентов. Это подтверждает необходимость глубокого ручного аудита критического кода, особенно в подсистемах сетевого планирования, где неявные зависимости между модулями создают скрытые поверхности атаки.

Эксперты отмечают, что CVE-2025-38001 представляет особую опасность из-за возможности эксплуатации без предварительного условия (zero-click) в сетевом стеке и высокой стабильности работы эксплойта. Хотя патч уже доступен, администраторам рекомендуется ускорить обновление ядер, особенно для систем, использующих конфигурации traffic control с одновременным задействованием HFSC и NETEM. Успешный взлом защищенных сред Google kernelCTF, специально разработанных для тестирования уязвимостей, служит тревожным сигналом о сложности защиты современных ядерных подсистем от целевых атак, использующих цепочки неочевидных состояний.

Ссылки

Комментарии: 0