Skip to content

Instantly share code, notes, and snippets.

@jaypeche
Created October 20, 2024 07:36
Show Gist options
  • Save jaypeche/322b86f5465d91ed80f33eaf18fdf597 to your computer and use it in GitHub Desktop.
Save jaypeche/322b86f5465d91ed80f33eaf18fdf597 to your computer and use it in GitHub Desktop.
Spectre and Meltdown mitigation detection tool v0.46
Checking for vulnerabilities on current system
Kernel is Linux 6.10.3-gentoo-x86_64 #1 SMP PREEMPT_DYNAMIC Wed Aug 7 13:29:55 CEST 2024 x86_64
CPU is 13th Gen Intel(R) Core(TM) i7-13650HX
Hardware check
* Hardware support (CPU microcode) for mitigation techniques
* Indirect Branch Restricted Speculation (IBRS)
* SPEC_CTRL MSR is available:  YES 
* CPU indicates IBRS capability:  YES  (SPEC_CTRL feature bit)
* Indirect Branch Prediction Barrier (IBPB)
* CPU indicates IBPB capability:  YES  (SPEC_CTRL feature bit)
* Single Thread Indirect Branch Predictors (STIBP)
* SPEC_CTRL MSR is available:  YES 
* CPU indicates STIBP capability:  YES  (Intel STIBP feature bit)
* Speculative Store Bypass Disable (SSBD)
* CPU indicates SSBD capability:  YES  (Intel SSBD)
* L1 data cache invalidation
* CPU indicates L1D flush capability:  YES  (L1D flush feature bit)
* Microarchitectural Data Sampling
* VERW instruction is available:  YES  (MD_CLEAR feature bit)
* Indirect Branch Predictor Controls
* Indirect Predictor Disable feature is available:  YES  (IPRED_CTRL feature bit)
* Bottomless RSB Disable feature is available:  YES  (RRSBA_CTRL feature bit)
* BHB-Focused Indirect Predictor Disable feature is available:  YES  (BHI_CTRL feature bit)
* Enhanced IBRS (IBRS_ALL)
* CPU indicates ARCH_CAPABILITIES MSR availability:  YES 
* ARCH_CAPABILITIES MSR advertises IBRS_ALL capability:  YES 
* CPU explicitly indicates not being affected by Meltdown/L1TF (RDCL_NO):  YES 
* CPU explicitly indicates not being affected by Variant 4 (SSB_NO):  NO 
* CPU/Hypervisor indicates L1D flushing is not necessary on this system:  YES 
* Hypervisor indicates host CPU might be affected by RSB underflow (RSBA):  NO 
* CPU explicitly indicates not being affected by Microarchitectural Data Sampling (MDS_NO):  YES 
* CPU explicitly indicates not being affected by TSX Asynchronous Abort (TAA_NO):  YES 
* CPU explicitly indicates not being affected by iTLB Multihit (PSCHANGE_MSC_NO):  YES 
* CPU explicitly indicates having MSR for TSX control (TSX_CTRL_MSR):  NO 
* CPU supports Transactional Synchronization Extensions (TSX):  NO 
* CPU supports Software Guard Extensions (SGX):  NO 
* CPU supports Special Register Buffer Data Sampling (SRBDS):  NO 
* CPU microcode is known to cause stability problems:  NO  (family 0x6 model 0xb7 stepping 0x1 ucode 0x115 cpuid 0xb0671)
* CPU microcode is the latest known available version:  YES  (latest version is 0x113 dated 2023/02/06 according to builtin firmwares DB v271+i20230614)
* CPU vulnerability to the speculative execution attack variants
* Affected by CVE-2017-5753 (Spectre Variant 1, bounds check bypass):  YES 
* Affected by CVE-2017-5715 (Spectre Variant 2, branch target injection):  YES 
* Affected by CVE-2017-5754 (Variant 3, Meltdown, rogue data cache load):  NO 
* Affected by CVE-2018-3640 (Variant 3a, rogue system register read):  YES 
* Affected by CVE-2018-3639 (Variant 4, speculative store bypass):  YES 
* Affected by CVE-2018-3615 (Foreshadow (SGX), L1 terminal fault):  NO 
* Affected by CVE-2018-3620 (Foreshadow-NG (OS), L1 terminal fault):  YES 
* Affected by CVE-2018-3646 (Foreshadow-NG (VMM), L1 terminal fault):  YES 
* Affected by CVE-2018-12126 (Fallout, microarchitectural store buffer data sampling (MSBDS)):  NO 
* Affected by CVE-2018-12130 (ZombieLoad, microarchitectural fill buffer data sampling (MFBDS)):  NO 
* Affected by CVE-2018-12127 (RIDL, microarchitectural load port data sampling (MLPDS)):  NO 
* Affected by CVE-2019-11091 (RIDL, microarchitectural data sampling uncacheable memory (MDSUM)):  NO 
* Affected by CVE-2019-11135 (ZombieLoad V2, TSX Asynchronous Abort (TAA)):  NO 
* Affected by CVE-2018-12207 (No eXcuses, iTLB Multihit, machine check exception on page size changes (MCEPSC)):  YES 
* Affected by CVE-2020-0543 (Special Register Buffer Data Sampling (SRBDS)):  NO 
* Affected by CVE-2023-20593 (Zenbleed, cross-process information leak):  NO 
CVE-2017-5753 aka 'Spectre Variant 1, bounds check bypass'
* Mitigated according to the /sys interface:  YES  (Mitigation: usercopy/swapgs barriers and __user pointer sanitization)
* Kernel has array_index_mask_nospec:  UNKNOWN  (couldn't check (couldn't find your kernel image in /boot, if you used netboot, this is normal))
* Kernel has the Red Hat/Ubuntu patch:  UNKNOWN  (couldn't check (couldn't find your kernel image in /boot, if you used netboot, this is normal))
* Kernel has mask_nospec64 (arm64):  UNKNOWN  (couldn't check (couldn't find your kernel image in /boot, if you used netboot, this is normal))
* Kernel has array_index_nospec (arm64):  UNKNOWN  (couldn't check (couldn't find your kernel image in /boot, if you used netboot, this is normal))
* Checking count of LFENCE instructions following a jump in kernel...  UNKNOWN  (couldn't check (couldn't find your kernel image in /boot, if you used netboot, this is normal))
> STATUS:  NOT VULNERABLE  (Mitigation: usercopy/swapgs barriers and __user pointer sanitization)
CVE-2017-5715 aka 'Spectre Variant 2, branch target injection'
* Mitigated according to the /sys interface:  YES  (Mitigation: Enhanced / Automatic IBRS; IBPB: conditional; RSB filling; PBRSB-eIBRS: SW sequence; BHI: BHI_DIS_S)
* Mitigation 1
* Kernel is compiled with IBRS support:  YES 
* IBRS enabled and active:  YES 
* Kernel is compiled with IBPB support:  YES 
* IBPB enabled and active:  YES 
* Mitigation 2
* Kernel has branch predictor hardening (arm):  NO 
* Kernel compiled with retpoline option:  NO 
> STATUS:  NOT VULNERABLE  (IBRS + IBPB are mitigating the vulnerability)
CVE-2017-5754 aka 'Variant 3, Meltdown, rogue data cache load'
* Mitigated according to the /sys interface:  YES  (Not affected)
* Kernel supports Page Table Isolation (PTI):  NO 
* PTI enabled and active:  NO 
* Reduced performance impact of PTI:  YES  (CPU supports INVPCID, performance impact of PTI will be greatly reduced)
* Running as a Xen PV DomU:  NO 
> STATUS:  NOT VULNERABLE  (your CPU vendor reported your CPU model as not affected)
CVE-2018-3640 aka 'Variant 3a, rogue system register read'
* CPU microcode mitigates the vulnerability:  YES 
> STATUS:  NOT VULNERABLE  (your CPU microcode mitigates the vulnerability)
CVE-2018-3639 aka 'Variant 4, speculative store bypass'
* Mitigated according to the /sys interface:  YES  (Mitigation: Speculative Store Bypass disabled via prctl)
* Kernel supports disabling speculative store bypass (SSB):  YES  (found in /proc/self/status)
* SSB mitigation is enabled and active:  YES  (per-thread through prctl)
* SSB mitigation currently active for selected processes:  NO  (no process found using SSB mitigation through prctl)
> STATUS:  NOT VULNERABLE  (Mitigation: Speculative Store Bypass disabled via prctl)
CVE-2018-3615 aka 'Foreshadow (SGX), L1 terminal fault'
* CPU microcode mitigates the vulnerability:  N/A 
> STATUS:  NOT VULNERABLE  (your CPU vendor reported your CPU model as not affected)
CVE-2018-3620 aka 'Foreshadow-NG (OS), L1 terminal fault'
* Mitigated according to the /sys interface:  YES  (Not affected)
* Kernel supports PTE inversion:  UNKNOWN  (couldn't find your kernel image in /boot, if you used netboot, this is normal)
* PTE inversion enabled and active:  NO 
> STATUS:  NOT VULNERABLE  (Not affected)
CVE-2018-3646 aka 'Foreshadow-NG (VMM), L1 terminal fault'
* Information from the /sys interface: Not affected
* This system is a host running a hypervisor:  NO 
* Mitigation 1 (KVM)
* EPT is disabled:  NO 
* Mitigation 2
* L1D flush is supported by kernel:  YES  (found flush_l1d in /proc/cpuinfo)
* L1D flush enabled:  NO 
* Hardware-backed L1D flush supported:  YES  (performance impact of the mitigation will be greatly reduced)
* Hyper-Threading (SMT) is enabled:  YES 
> STATUS:  NOT VULNERABLE  (your kernel reported your CPU model as not affected)
CVE-2018-12126 aka 'Fallout, microarchitectural store buffer data sampling (MSBDS)'
* Mitigated according to the /sys interface:  YES  (Not affected)
* Kernel supports using MD_CLEAR mitigation:  YES  (md_clear found in /proc/cpuinfo)
* Kernel mitigation is enabled and active:  NO 
* SMT is either mitigated or disabled:  NO 
> STATUS:  NOT VULNERABLE  (your CPU vendor reported your CPU model as not affected)
CVE-2018-12130 aka 'ZombieLoad, microarchitectural fill buffer data sampling (MFBDS)'
* Mitigated according to the /sys interface:  YES  (Not affected)
* Kernel supports using MD_CLEAR mitigation:  YES  (md_clear found in /proc/cpuinfo)
* Kernel mitigation is enabled and active:  NO 
* SMT is either mitigated or disabled:  NO 
> STATUS:  NOT VULNERABLE  (your CPU vendor reported your CPU model as not affected)
CVE-2018-12127 aka 'RIDL, microarchitectural load port data sampling (MLPDS)'
* Mitigated according to the /sys interface:  YES  (Not affected)
* Kernel supports using MD_CLEAR mitigation:  YES  (md_clear found in /proc/cpuinfo)
* Kernel mitigation is enabled and active:  NO 
* SMT is either mitigated or disabled:  NO 
> STATUS:  NOT VULNERABLE  (your CPU vendor reported your CPU model as not affected)
CVE-2019-11091 aka 'RIDL, microarchitectural data sampling uncacheable memory (MDSUM)'
* Mitigated according to the /sys interface:  YES  (Not affected)
* Kernel supports using MD_CLEAR mitigation:  YES  (md_clear found in /proc/cpuinfo)
* Kernel mitigation is enabled and active:  NO 
* SMT is either mitigated or disabled:  NO 
> STATUS:  NOT VULNERABLE  (your CPU vendor reported your CPU model as not affected)
CVE-2019-11135 aka 'ZombieLoad V2, TSX Asynchronous Abort (TAA)'
* Mitigated according to the /sys interface:  YES  (Not affected)
* TAA mitigation is supported by kernel:  UNKNOWN  (couldn't find your kernel image in /boot, if you used netboot, this is normal)
* TAA mitigation enabled and active:  NO 
> STATUS:  NOT VULNERABLE  (your CPU vendor reported your CPU model as not affected)
CVE-2018-12207 aka 'No eXcuses, iTLB Multihit, machine check exception on page size changes (MCEPSC)'
* Mitigated according to the /sys interface:  YES  (Not affected)
* This system is a host running a hypervisor:  NO 
* iTLB Multihit mitigation is supported by kernel:  UNKNOWN  (couldn't find your kernel image in /boot, if you used netboot, this is normal)
* iTLB Multihit mitigation enabled and active:  NO 
> STATUS:  NOT VULNERABLE  (this system is not running a hypervisor)
CVE-2020-0543 aka 'Special Register Buffer Data Sampling (SRBDS)'
* Mitigated according to the /sys interface:  YES  (Not affected)
* SRBDS mitigation control is supported by the kernel:  UNKNOWN  (couldn't find your kernel image in /boot, if you used netboot, this is normal)
* SRBDS mitigation control is enabled and active:  NO 
> STATUS:  NOT VULNERABLE  (your CPU vendor reported your CPU model as not affected)
CVE-2023-20593 aka 'Zenbleed, cross-process information leak'
* Zenbleed mitigation is supported by kernel:  UNKNOWN  (couldn't find your kernel image in /boot, if you used netboot, this is normal)
* Zenbleed kernel mitigation enabled and active:  N/A  (CPU is incompatible)
* Zenbleed mitigation is supported by CPU microcode:  NO 
> STATUS:  NOT VULNERABLE  (your CPU vendor reported your CPU model as not affected)
> SUMMARY: CVE-2017-5753:OK CVE-2017-5715:OK CVE-2017-5754:OK CVE-2018-3640:OK CVE-2018-3639:OK CVE-2018-3615:OK CVE-2018-3620:OK CVE-2018-3646:OK CVE-2018-12126:OK CVE-2018-12130:OK CVE-2018-12127:OK CVE-2019-11091:OK CVE-2019-11135:OK CVE-2018-12207:OK CVE-2020-0543:OK CVE-2023-20593:OK
Need more detailed information about mitigation options? Use --explain
A false sense of security is worse than no security at all, see --disclaimer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment