Spectreのバグが再来、今度はJITエンジンを標的に

セキュリティ

研究者ら、無効化されたはずの間接分岐予測エントリを復元する手法を発見

マイクロアーキテクチャの脆弱性「Spectre」が、またしても姿を現しました。今回狙われるのは、ブラウザやランタイム、カーネル向けにマシンコードを生成するジャストインタイム(JIT)エンジンです。 

この脆弱性は、投機的実行を採用する多くのCPUに存在します。投機的実行とは、性能を高めるために、呼び出される前のコードをあらかじめ実行する仕組みです。研究者らは、この投機的実行がサイドチャネル攻撃の入り口となり、機密情報が露出したり推測されたりする可能性があることを突き止めました。

このリスクが明らかになると、チップメーカーやOS開発者は、SpectreとMeltdownと呼ばれたこれらの脆弱性の修正に奔走しました。以来、研究者らは20〜30種類の亜種を発見しています。2025年のVMScapeもその一つで、間接分岐予測の悪用を試みるいわゆる「Spectre v2」攻撃の一種です。間接分岐とは、命令そのものを指定する代わりに、次の命令が置かれたアドレスを指し示すことでプログラムの制御を渡す方式です。

攻撃者は分岐予測器を訓練し、選んだアドレスへ投機的に実行させることで、マイクロアーキテクチャの状態に関するデータを漏えいさせます。

オランダのフリーエ大学アムステルダム校(Vrije Universiteit)とイタリアのサンタンナ高等大学院(Scuola Superiore Sant’Anna)の研究者らは、SpectreをBranch Target Reuse(BTR)と呼ぶ形で復活させました。研究者らはBTRを、ジャストインタイム(JIT)コンパイラを標的とする、初の実用的なインプレース型Spectre v2攻撃だと説明しています。インプレース型攻撃は被害者自身の分岐内で完結します。一方、アウトオブプレース型攻撃は、別の分岐上のターゲットに向けた投機に依存します。

研究者のSander Wiebing氏、Yuhui Zhu氏、Alessandro Biondi氏、Cristiano Giuffrida氏によると、この新しい形のSpectreは、Linux cBPF、Oracle GraalVM、Mozilla SpiderMonkeyなどのJITエンジンに残されたコードから引き出せます。

「攻撃の核心は次の点にあります。最新のCPUは、自己書き換えの後にアーキテクチャ上のコードの一貫性を回復しますが、無効化されたはずの間接分岐予測エントリ(つまり分岐ターゲット)まで、必ずしも破棄するとは限りません」と、著者らは説明しています。「JITエンジンでは、こうした古いターゲットが元のコードより長く残り、コードキャッシュへの再配置時に再利用されることがあります。その結果、投機的なexecute-after-free(解放後実行)のプリミティブが成立します」

その結果、攻撃者はFineIBT [PDF]などの一部のソフトウェア防御を回避し、投機的な制御フローを乗っ取れます。著者らは、Intel製CPUを搭載したLinuxカーネルに対する2件の概念実証(PoC)エクスプロイトを作成し、この欠陥を悪用できることを示しました。cBPFが備える定数バインディング防御を施した状態でも、rootパスワードのハッシュを取得できます。

想定される漏えい速度は、Intel Raptor Coveチップで5.7 KB/秒、Lion Coveで5.4 KB/秒です。低速ですが、権限を持たないユーザーが、脆弱なシステムから機密性の高いパスワードハッシュを引き出すには十分です。

研究者らが調査結果を開示した後、Linuxカーネルの開発者とOracleは緩和策を講じました。CVEは2件が割り当てられています。CVE-2026-64507とCVE-2026-64508です。研究者らによると、Mozillaはこの問題に直接対処せず、サイト分離の取り組みを優先する方針を選びました。IBPBのような強力な緩和策は有効とされる一方、複雑さが増し、性能も低下します。

論文「Branch Target Reuse」 は、ACM Conference on Computer and Communications Security(CCS)2026に採択されました。同会議は11月15日から19日まで、オランダのハーグで開催されます。®

翻訳元: https://www.theregister.com/security/2026/09/30/spectre-bug-is-back-this-time-to-haunt-jit-engines/5299937

本記事は theregister.com の記事を翻訳・要約したものです。