Уязвимость микроархитектуры Spectre вернулась, на этот раз затронув движки just-in-time (JIT), которые генерируют машинный код для браузеров, сред выполнения и ядер.
Уязвимость обнаружена во многих процессорах, использующих спекулятивное выполнение — процесс упреждающего выполнения кода для повышения производительности. Исследователи выяснили, что спекулятивное выполнение открывает двери для атак по побочным каналам, через которые могут быть раскрыты или выведены секретные данные.
Когда стало известно об этом риске, производители чипов и разработчики ОС бросились исправлять эти уязвимости, получившие названия Spectre и Meltdown. С тех пор исследователи обнаружили два-три десятка вариаций, таких как VMScape 2025 года — одна из нескольких так называемых атак “Spectre v2”, которые пытаются использовать косвенное предсказание ветвлений, когда управление программой передается косвенно путем указания адреса, где находится следующая инструкция, вместо указания самой инструкции.
Злоумышленник обучает предсказатель ветвлений спекулятивно выполнять код по выбранному адресу, чтобы получить данные о состоянии микроархитектуры.
Исследователи из Свободного университета Амстердама (Нидерланды) и Высшей школы Сант-Анна (Италия) возродили Spectre в форме под названием Branch Target Reuse (BTR), которую они описывают как первую практическую атаку Spectre v2 на месте, нацеленную на JIT-компиляторы. Атака на месте ограничена ветвлением жертвы, тогда как атака вне места полагается на спекуляцию, направленную на цель в другом ветвлении.
Исследователи — Сандер Вибинг, Юйхуэй Чжу, Алессандро Бионди и Криштиану Джуффрида — обнаружили, что эта новая форма Spectre может быть вызвана кодом, оставленным в JIT-движках, включая Linux cBPF, Oracle GraalVM и Mozilla SpiderMonkey.
“Ключевая идея атаки заключается в том, что, хотя современные процессоры восстанавливают когерентность архитектурного кода после самомодификации, они не обязательно аннулируют устаревшие записи косвенного предсказания ветвлений (т.е. цели ветвлений)”, — объясняют авторы. “В JIT-движках эти устаревшие цели могут пережить исходный код и позже быть повторно использованы при повторном заполнении кэша кода, что дает примитив спекулятивного выполнения после освобождения.”
В результате злоумышленник может перехватить спекулятивный поток управления таким образом, чтобы обойти некоторые программные защиты, такие как FineIBT [PDF]. Авторы продемонстрировали, что могут использовать этот недостаток, разработав два доказательства концепции против ядра Linux на базе Intel, которые раскрывают хэш пароля root даже при использовании защиты постоянного связывания, предоставляемой cBPF.
Ожидаемая скорость утечки составляет 5,7 КБ/с для чипов Intel Raptor Cove и 5,4 КБ/с для Lion Cove. Это медленно, но достаточно для непривилегированного пользователя, чтобы получить конфиденциальный хэш пароля из уязвимой системы.
После того как исследователи раскрыли свои выводы, разработчики ядра Linux и Oracle внедрили меры по смягчению последствий. Были назначены два CVE: CVE-2026-64507 и CVE-2026-64508. Mozilla, по словам исследователей, решила сосредоточиться на работе над изоляцией сайтов, а не на прямом устранении проблемы. Сообщается, что надежные меры смягчения, такие как IBPB, эффективны, но добавляют сложности и снижают производительность.
Документ Branch Target Reuse был принят к публикации на ACM Conference on Computer and Communications Security (CCS) 2026, которая пройдет с 15 по 19 ноября в Гааге, Нидерланды. ®
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Thomas Claburn




