Mastodon Mastodon Mastodon Mastodon

Branch Target Reuse — новий варіант Spectre-v2, що обходить наявні засоби захисту ядра Linux

Photo of author

CyberSecureFox Editorial Team

Опубліковано:

Дослідники з VUSec і Scuola Superiore Sant’Anna розкрили новий варіант атаки Spectre-v2, що отримав назву Branch Target Reuse (BTR). Атака експлуатує взаємодію між самозмінним кодом у JIT-рушіях (Just-In-Time — компіляція «на льоту») та механізмом передбачення непрямих розгалужень процесора, даючи змогу витягувати конфіденційні дані з пам’яті ядра Linux. Для ядра Linux уже випущено виправлення — CVE-2026-64507 і CVE-2026-64508, — причому остання отримала оцінку 7.0 по CVSS v3.1 згідно із записом Oracle Linux. Адміністраторам Linux-систем слід якнайшвидше оновити ядро та перевірити статус митигацій Spectre-v2.

Механізм атаки: застарілі записи в буфері цілей розгалужень

Суть BTR полягає в тому, що сучасні процесори під час перезапису коду в пам’яті (що постійно відбувається в JIT-рушіях) відновлюють архітектурну когерентність, але не обов’язково анулюють застарілі записи в буфері цілей розгалужень (Branch Target Buffer, BTB). Коли JIT-рушій звільняє ділянку пам’яті з раніше скомпільованим кодом, а потім виділяє новий код за тією самою або перекривною адресою, процесор може спекулятивно перейти за старим записом BTB, що вказує на вже неіснуючий код. За даними дослідників, це створює примітив «транзитного виконання після звільнення» (transient execute-after-free), який дає змогу зловмиснику перехопити спекулятивний потік керування.

Послідовність атаки виглядає так:

  1. Зловмисник змушує JIT-рушій виділити «тренувальний» блок коду та спрямувати на нього непряме розгалуження, створюючи запис у BTB.
  2. Тренувальний блок звільняється, а на його місці (або з частковим перекриттям адреси) виділяється новий цільовий блок.
  3. Під час повторного спрацювання непрямого розгалуження процесор використовує застарілий запис BTB і спекулятивно переходить за старою адресою.
  4. Результат — перехоплення спекулятивного потоку керування та витік конфіденційних даних через побічний канал кешу.

Критична умова: застарілий запис BTB має зберегтися після звільнення пам’яті JIT-рушієм і бути обраним передбачувачем розгалужень під час наступного виконання. Атака передбачає можливість запуску непривілейованого коду в JIT-рушії.

Зачеплені компоненти й межі впливу

За даними дослідників, BTR було протестовано на трьох JIT-реалізаціях: SpiderMonkey (JIT-рушій Mozilla Firefox), GraalVM і cBPF JIT ядра Linux — усі виявилися вразливими, хоча з «помітно відмінними характеристиками експлуатованості та швидкістю витоку».

Важливо уточнити масштаб підтвердженого впливу. Запис Oracle для CVE-2026-64508 описує вразливість конкретно в контексті BPF JIT-алокатора ядра Linux: проблема виникає під час повторного використання пам’яті в упакованих (packed) алокаціях, причому алокації, що перевищують розмір пакета, не охоплюються механізмом очищення передбачувача. Це означає, що реальна область ураження в ядрі Linux вужча, ніж кросплатформена картина, представлена в початковому звіті. Вплив на SpiderMonkey і GraalVM залишається підтвердженим лише дослідницькою групою — незалежної верифікації цих даних не виявлено.

Ні CVE-2026-64507, ні CVE-2026-64508 не внесені до каталогу CISA KEV. Для CVE-2026-64507 підтверджену оцінку CVSS не знайдено. Раніше ми писали про додавання вразливостей ядра Linux до каталогу CISA KEV — у цьому випадку такого статусу вразливості BTR не мають.

Статус експлуатації: PoC, не активна атака

Початковий звіт згадує два демонстраційні експлойти (proof-of-concept) для ядра Linux. Однак незалежного підтвердження активної експлуатації в реальних умовах не виявлено. Статус експлуатації слід класифікувати як наявність публічного PoC, а не як підтверджену експлуатацію «в дикій природі».

Доступні виправлення та митигації

Патчі для обох CVE уже прийнято до основної гілки ядра Linux. Для дистрибутивів нижчого рівня:

  • Oracle Linux 9 і 10 (kernel-uek): оновлення ELSA-2026-500248 випущене 4 вересня 2026 року та включає виправлення CVE-2026-64508.
  • GraalVM: Oracle застосував рандомізацію розташування кешу JIT-коду — відповідний pull request прийнято 19 серпня 2026 року.
  • Mozilla Firefox: за даними дослідників, Mozilla розглядала митигації на основі IBPB (Indirect Branch Predictor Barrier), але пріоритетом є завершення та розгортання ізоляції сайтів (site isolation).

Перевірка статусу митигацій

Адміністратори Linux-систем можуть перевірити поточний стан захисту від Spectre-v2, включно зі статусом IBPB, через інтерфейс sysfs, як описано в документації ядра Linux щодо Spectre:

/sys/devices/system/cpu/vulnerabilities/spectre_v2

Цей файл відображає активні механізми митигації та дає змогу оцінити, чи захищена система від атак на основі передбачення непрямих розгалужень.

Пріоритизація патчів

Під час планування оновлень слід враховувати відмінності між двома CVE. CVE-2026-64508 має підтверджену вендором оцінку 7.0 (CVSS v3.1) і конкретний шлях оновлення для Oracle Linux 9/10. Для CVE-2026-64507 підтверджену оцінку серйозності та діапазон зачеплених версій на момент аналізу не встановлено. Це не означає, що друга вразливість менш небезпечна, але вищий пріоритет патчінгу CVE-2026-64508 обґрунтовано більш повною інформаційною базою.

BTR — ще одне підтвердження того, що клас вразливостей Spectre продовжує породжувати нові варіанти атак, які обходять раніше розгорнуті засоби захисту. Практична дія: оновіть ядро Linux до версії, що містить виправлення CVE-2026-64507 і CVE-2026-64508, перевірте статус митигацій Spectre-v2 через sysfs і переконайтеся, що конфігурація IBPB відповідає рекомендаціям вашого дистрибутива. Для середовищ із GraalVM — оновіть до версії з рандомізацією кешу JIT-коду.


CyberSecureFox Editorial Team

Редакція CyberSecureFox висвітлює новини кібербезпеки, уразливості, malware-кампанії, ransomware-активність, AI security, cloud security та security advisories вендорів. Матеріали готуються на основі official advisories, даних CVE/NVD, сповіщень CISA, публікацій вендорів і відкритих звітів дослідників. Статті перевіряються перед публікацією та оновлюються за появи нових даних.

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.