
Linux & BSD 向け Reptar, Downfall, Zenbleed, ZombieLoad, RIDL, Fallout, Foreshadow, Spectre, Meltdown 脆弱性/軽減策チェッカー
システムの、2018年初頭以降に公開された複数のTransient Execution関連CVEに対する耐性を評価し、その軽減方法をガイダンスする、自己完結型のシェルスクリプトです。
| CVE | 名称 | 別名 |
|---|---|---|
| CVE-2017-5753 | 境界チェックバイパス | Spectre V1 |
| CVE-2017-5715 | ブランチターゲットインジェクション | Spectre V2 |
| CVE-2017-5754 | Rogue Data Cache Load | Meltdown |
| CVE-2018-3640 | Rogue System Register Read | Variant 3a |
| CVE-2018-3639 | Speculative Store Bypass | Variant 4, SSB |
| CVE-2018-3615 | L1 Terminal Fault | Foreshadow (SGX) |
| CVE-2018-3620 | L1 Terminal Fault | Foreshadow-NG (OS/SMM) |
| CVE-2018-3646 | L1 Terminal Fault | Foreshadow-NG (VMM) |
| CVE-2018-12126 | Microarchitectural Store Buffer Data Sampling | MSBDS, Fallout |
| CVE-2018-12127 | Microarchitectural Load Port Data Sampling | MLPDS, RIDL |
| CVE-2018-12130 | Microarchitectural Fill Buffer Data Sampling | MFBDS, ZombieLoad |
| CVE-2018-12207 | Machine Check Exception on Page Size Changes | iTLB Multihit, No eXcuses |
| CVE-2019-11091 | Microarchitectural Data Sampling Uncacheable Memory | MDSUM, RIDL |
| CVE-2019-11135 | TSX Asynchronous Abort | TAA, ZombieLoad V2 |
| CVE-2020-0543 | Special Register Buffer Data Sampling | SRBDS, CROSSTalk |
| CVE-2022-21123 | Shared Buffers Data Read | SBDR, MMIO Stale Data |
| CVE-2022-21125 | Shared Buffers Data Sampling | SBDS, MMIO Stale Data |
| CVE-2022-21166 | Device Register Partial Write | DRPW, MMIO Stale Data |
| CVE-2022-29900 | Return命令による任意投機的コード実行 | Retbleed (AMD) |
| CVE-2022-29901 | Return命令による任意投機的コード実行 | Retbleed (Intel), RSBA |
| CVE-2022-40982 | Gather Data Sampling | Downfall, GDS |
| CVE-2023-20569 | Return Address Security | Inception, SRSO |
| CVE-2023-20588 | AMD Division by Zero Speculative Data Leak | DIV0 |
| CVE-2023-20593 | Cross-Process Information Leak | Zenbleed |
| CVE-2023-23583 | Redundant Prefix Issue | Reptar |
| CVE-2023-28746 | Register File Data Sampling | RFDS |
| CVE-2024-28956 | Indirect Target Selection | ITS |
| CVE-2024-36350 | Transient Scheduler Attack, Store Queue | TSA-SQ |
| CVE-2024-36357 | Transient Scheduler Attack, L1 | TSA-L1 |
| CVE-2025-40300 | VM-Exit Stale Branch Prediction | VMScape |
| CVE-2024-45332 | Branch Privilege Injection | BPI |
| CVE-2025-54505 | AMD Zen1 Floating-Point Divider Stale Data Leak | FPDSS |
以下のエントリは、カーネルが積極的に回避措置を講じているARM64シリコンのエラータです。これらにはCVEは割り当てられておらず、ARMのエラータ番号のみで追跡されています。--errata <番号> または対応する --variant ニーモニックで選択します。
| ID | 名称 | 影響を受けるコア |
|---|---|---|
| CVE-0001-0001 | Speculative AT TLB corruption (errata 1165522, 1319367, 1319537, 1530923) | Cortex-A55/A57/A72/A76 |
| CVE-0001-0002 | Speculative unprivileged load (errata 2966298, 3117295) | Cortex-A510/A520 |
| CVE-0001-0003 | MSR SSBS not self-synchronizing (erratum 3194386 + siblings) | Cortex-A76/A77/A78/A78C/A710/A715/A720/A720AE/A725, X1/X1C/X2/X3/X4/X925, Neoverse-N1/N2/N3/V1/V2/V3/V3AE |
状況に応じて、以下の表は、特定の位置にいる攻撃者が特定のターゲットからデータを抽出できるかどうかを示しています。 「Userland → Kernel」の列は、VM内部(VMユーザーランドとVMカーネル間)にも適用されます。仮想化の有無にかかわらず、同じCPUメカニズムが働くためです。
| 脆弱性 | Userland → Kernel | Userland → Userland | VM → Host | VM → VM | 軽減策 |
|---|---|---|---|---|---|
| CVE-2017-5753 (Spectre V1) | 💥 | 💥 | 💥 | 💥 | すべてをLFENCEで再コンパイル |
| CVE-2017-5715 (Spectre V2) | 💥 | 💥 | 💥 | 💥 | マイクロコード+カーネル更新(またはretpoline) |
| CVE-2017-5754 (Meltdown) | 💥 | ✅ | ✅ | ✅ | カーネル更新 |
| CVE-2018-3640 (Variant 3a) | 💥 | ✅ | ✅ | ✅ | マイクロコード更新 |
| CVE-2018-3639 (Variant 4, SSB) | ✅ | 💥 | ✅ | ✅ | マイクロコード+カーネル更新 |
| CVE-2018-3615 (Foreshadow, SGX) | ✅ (3) | ✅ (3) | ✅ (3) | ✅ (3) | マイクロコード更新 |
| CVE-2018-3620 (Foreshadow-NG, OS/SMM) | 💥 | ✅ | ✅ | ✅ | カーネル更新 |
| CVE-2018-3646 (Foreshadow-NG, VMM) | ✅ | ✅ | 💥 | 💥 | カーネル更新(またはEPT/SMT無効化) |
| CVE-2018-12126 (MSBDS, Fallout) | 💥 | 💥 (1) | 💥 | 💥 (1) | マイクロコード+カーネル更新 |
| CVE-2018-12127 (MLPDS, RIDL) | 💥 | 💥 (1) | 💥 | 💥 (1) | マイクロコード+カーネル更新 |
| CVE-2018-12130 (MFBDS, ZombieLoad) | 💥 | 💥 (1) | 💥 | 💥 (1) | マイクロコード+カーネル更新 |
| CVE-2018-12207 (iTLB Multihit, No eXcuses) | ✅ | ✅ | ☠️ | ✅ | ハイパーバイザー更新(またはhugepage無効化) |
| CVE-2019-11091 (MDSUM, RIDL) | 💥 | 💥 (1) | 💥 | 💥 (1) | マイクロコード+カーネル更新 |
| CVE-2019-11135 (TAA, ZombieLoad V2) | 💥 | 💥 (1) | 💥 | 💥 (1) | マイクロコード+カーネル更新 |
| CVE-2020-0543 (SRBDS, CROSSTalk) | 💥 (2) | 💥 (2) | 💥 (2) | 💥 (2) | マイクロコード+カーネル更新 |
| CVE-2022-21123 (SBDR, MMIO Stale Data) | 💥 | 💥 (1) | 💥 | 💥 (1) | マイクロコード+カーネル更新 |
| CVE-2022-21125 (SBDS, MMIO Stale Data) | 💥 | 💥 (1) | 💥 | 💥 (1) | マイクロコード+カーネル更新 |
| CVE-2022-21166 (DRPW, MMIO Stale Data) | 💥 | 💥 (1) | 💥 | 💥 (1) | マイクロコード+カーネル更新 |
| CVE-2022-29900 (Retbleed AMD) | 💥 | ✅ | 💥 | ✅ | カーネル更新(+IBPB用マイクロコード) |
| CVE-2022-29901 (Retbleed Intel, RSBA) | 💥 | ✅ | 💥 | ✅ | マイクロコード+カーネル更新(eIBRSまたはIBRS) |
| CVE-2022-40982 (Downfall, GDS) | 💥 | 💥 | 💥 | 💥 | マイクロコード更新(またはAVX無効化) |
| CVE-2023-20569 (Inception, SRSO) | 💥 | ✅ | 💥 | ✅ | マイクロコード+カーネル更新 |
| CVE-2023-20588 (DIV0) | 💥 | 💥 (1) | 💥 | 💥 (1) | カーネル更新(+SMT無効化) |
| CVE-2023-20593 (Zenbleed) | 💥 | 💥 | 💥 | 💥 | マイクロコード更新(またはカーネル回避策) |
| CVE-2023-23583 (Reptar) | ☠️ | ☠️ | ☠️ | ☠️ | マイクロコード更新 |
| CVE-2023-28746 (RFDS) | 💥 | ✅ | 💥 | ✅ | マイクロコード+カーネル更新 |
| CVE-2024-28956 (ITS) | 💥 | ✅ | 💥 (4) | ✅ | マイクロコード+カーネル更新 |
| CVE-2024-36350 (TSA-SQ) | 💥 | 💥 (1) | 💥 | 💥 (1) | マイクロコード+カーネル更新 |
| CVE-2024-36357 (TSA-L1) | 💥 | 💥 (1) | 💥 | 💥 (1) | マイクロコード+カーネル更新 |
| CVE-2025-40300 (VMScape) | ✅ | ✅ | 💥 | ✅ | カーネル更新(VM終了時IBPB) |
| CVE-2024-45332 (BPI) | 💥 | ✅ | 💥 | ✅ | マイクロコード更新 |
| CVE-2025-54505 (FPDSS) | 💥 | 💥 | 💥 | 💥 | カーネル更新 |
💥 この境界を越えてデータが漏洩する可能性があります。
✅ このシナリオでは影響を受けません。
☠️ サービス拒否(システムクラッシュまたは予期しない動作)、データ漏洩はありません。
(1) プロセス間漏洩にはSMT(ハイパースレッディング)が有効である必要があります ― 攻撃者と標的は物理コアを共有していなければなりません。
(2) RDRAND/RDSEEDの出力のみが漏洩し、任意のメモリは漏洩しません。それでも、任意の標的から暗号素材を回復することが可能です。
(3) CVE-2018-3615(Foreshadow SGX)は通常の信頼モデルを逆転させます。OSがSGXエンクレーブデータを読み取ります。SGXエンクレーブを実行しているシステムでのみ問題となり、攻撃者はすでにOSレベルのアクセス権を持っている必要があります。