VMTech
Обсудить проект →

BTR раскрывает память Linux через устаревшие предсказания переходов

BTR раскрывает память Linux через устаревшие предсказания переходов

Исследователи из VUSec и Scuola Superiore Sant’Anna описали BTR (Branch Target Reuse) — новый вариант Spectre v2, затрагивающий JIT-движки SpiderMonkey, GraalVM и cBPF JIT в ядре Linux. Два демонстрационных эксплойта на полностью обновлённой Intel-системе с защитами по умолчанию смогли за несколько минут извлечь и восстановить хеш пароля root.

Для Linux уже выпущены и включены исправления, зарегистрированные как CVE-2026-64507 и CVE-2026-64508. Авторы подчёркивают, что практическая эксплуатируемость и скорость утечки различаются для каждого из проверенных JIT-окружений.

Как работает Branch Target Reuse

Spectre — класс аппаратных уязвимостей, использующих спекулятивное выполнение: процессор заранее выполняет предполагаемые инструкции ради производительности. Результат ошибочного предположения затем отбрасывается архитектурно, однако изменения состояния кэша могут быть измерены и использованы для вывода о затронутых секретных данных.

В случае Spectre v2 атакующий воздействует на предсказание косвенных переходов. BTR использует сочетание сам модифицирующегося кода и буфера целей ветвлений, или BTB. Современные процессоры восстанавливают согласованность кода после его изменения, но не обязательно очищают устаревшие записи предсказателя косвенных переходов.

В JIT-среде атакующий сначала добивается выделения участка кода для обучения предсказателя и направляет в него нужный переход. Затем этот участок освобождается, а в частично совпадающем адресном диапазоне размещается другой код. При повторном косвенном переходе процессор может выбрать старую запись BTB и спекулятивно перейти к прежнему смещению.

Чем опасна устаревшая цель перехода

Такой переход указывает на архитектурно недействительную точку входа. По оценке исследователей, это позволяет временно перехватить поток управления, обойти программные меры защиты Spectre либо выполнить инструкции с нестандартного смещения. Наблюдая за состоянием кэша, атакующий получает возможность раскрывать секретные данные.

Для реализации сценария необходимо, чтобы после освобождения исходного участка устаревшая запись BTB не была очищена или заменена, а предсказатель выбрал именно её. Предпосылка атаки — возможность выполнять непривилегированный код в JIT-движке и попытка получить данные из окружения хоста.

Меры для Linux и JIT-платформ

После ответственного раскрытия Linux получил меры защиты в CVE-2026-64507 и CVE-2026-64508. GraalVM противодействует повторному использованию областей памяти рандомизацией расположения JIT-кэша. Mozilla рассматривала защиты на основе IBPB, барьера предсказателя косвенных переходов, но сейчас отдаёт приоритет завершению и развёртыванию изоляции сайтов.

Для бизнеса первоочередная мера — установить обновления ядра с исправлениями BTR и контролировать, где непривилегированные пользователи или арендаторы могут запускать код в JIT-средах. Уязвимость показывает, что настройки по умолчанию и актуальность системы не отменяют необходимости оперативно применять новые аппаратно-ориентированные защиты.

#spectre#linuxsecurity#hardwaresecurity#jitsecurity
Открытая аналитика
На сайте 0 просмотров
мин чтения 3 29.09.2026
Instagram

BTR раскрывает память Linux через устаревшие предсказания переходов

Открыть публикацию в Instagram ↗