1 Spectre and Meltdown Checks
2 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 Following section displays the output of a running shell script to tell if
5 system is vulnerable against the several "speculative execution" CVEs that were
6 made public in 2018. Script is available on `Spectre & Meltdown Checker Github
7 <https://github.com/speed47/spectre-meltdown-checker>`_.
11 Spectre and Meltdown mitigation detection tool v0.43
13 awk: cannot open bash (No such file or directory)
14 Checking for vulnerabilities on current system
15 Kernel is Linux 4.15.0-23-generic #25-Ubuntu SMP Wed May 23 18:02:16 UTC 2018 x86_64
16 CPU is Intel(R) Xeon(R) Platinum 8180 CPU @ 2.50GHz
19 * Hardware support (CPU microcode) for mitigation techniques
20 * Indirect Branch Restricted Speculation (IBRS)
21 * SPEC_CTRL MSR is available: YES
22 * CPU indicates IBRS capability: YES (SPEC_CTRL feature bit)
23 * Indirect Branch Prediction Barrier (IBPB)
24 * PRED_CMD MSR is available: YES
25 * CPU indicates IBPB capability: YES (SPEC_CTRL feature bit)
26 * Single Thread Indirect Branch Predictors (STIBP)
27 * SPEC_CTRL MSR is available: YES
28 * CPU indicates STIBP capability: YES (Intel STIBP feature bit)
29 * Speculative Store Bypass Disable (SSBD)
30 * CPU indicates SSBD capability: NO
31 * L1 data cache invalidation
32 * FLUSH_CMD MSR is available: NO
33 * CPU indicates L1D flush capability: NO
34 * Microarchitectural Data Sampling
35 * VERW instruction is available: NO
36 * Enhanced IBRS (IBRS_ALL)
37 * CPU indicates ARCH_CAPABILITIES MSR availability: NO
38 * ARCH_CAPABILITIES MSR advertises IBRS_ALL capability: NO
39 * CPU explicitly indicates not being vulnerable to Meltdown/L1TF (RDCL_NO): NO
40 * CPU explicitly indicates not being vulnerable to Variant 4 (SSB_NO): NO
41 * CPU/Hypervisor indicates L1D flushing is not necessary on this system: NO
42 * Hypervisor indicates host CPU might be vulnerable to RSB underflow (RSBA): NO
43 * CPU explicitly indicates not being vulnerable to Microarchitectural Data Sampling (MDS_NO): NO
44 * CPU explicitly indicates not being vulnerable to TSX Asynchronous Abort (TAA_NO): NO
45 * CPU explicitly indicates not being vulnerable to iTLB Multihit (PSCHANGE_MSC_NO): NO
46 * CPU explicitly indicates having MSR for TSX control (TSX_CTRL_MSR): NO
47 * CPU supports Transactional Synchronization Extensions (TSX): YES (RTM feature bit)
48 * CPU supports Software Guard Extensions (SGX): NO
49 * CPU microcode is known to cause stability problems: NO (model 0x55 family 0x6 stepping 0x4 ucode 0x2000043 cpuid 0x50654)
50 * CPU microcode is the latest known available version: awk: cannot open bash (No such file or directory)
51 UNKNOWN (latest microcode version for your CPU model is unknown)
52 * CPU vulnerability to the speculative execution attack variants
53 * Vulnerable to CVE-2017-5753 (Spectre Variant 1, bounds check bypass): YES
54 * Vulnerable to CVE-2017-5715 (Spectre Variant 2, branch target injection): YES
55 * Vulnerable to CVE-2017-5754 (Variant 3, Meltdown, rogue data cache load): YES
56 * Vulnerable to CVE-2018-3640 (Variant 3a, rogue system register read): YES
57 * Vulnerable to CVE-2018-3639 (Variant 4, speculative store bypass): YES
58 * Vulnerable to CVE-2018-3615 (Foreshadow (SGX), L1 terminal fault): NO
59 * Vulnerable to CVE-2018-3620 (Foreshadow-NG (OS), L1 terminal fault): YES
60 * Vulnerable to CVE-2018-3646 (Foreshadow-NG (VMM), L1 terminal fault): YES
61 * Vulnerable to CVE-2018-12126 (Fallout, microarchitectural store buffer data sampling (MSBDS)): YES
62 * Vulnerable to CVE-2018-12130 (ZombieLoad, microarchitectural fill buffer data sampling (MFBDS)): YES
63 * Vulnerable to CVE-2018-12127 (RIDL, microarchitectural load port data sampling (MLPDS)): YES
64 * Vulnerable to CVE-2019-11091 (RIDL, microarchitectural data sampling uncacheable memory (MDSUM)): YES
65 * Vulnerable to CVE-2019-11135 (ZombieLoad V2, TSX Asynchronous Abort (TAA)): YES
66 * Vulnerable to CVE-2018-12207 (No eXcuses, iTLB Multihit, machine check exception on page size changes (MCEPSC)): YES
68 CVE-2017-5753 aka Spectre Variant 1, bounds check bypass
69 * Mitigated according to the /sys interface: YES (Mitigation: __user pointer sanitization)
70 * Kernel has array_index_mask_nospec: YES (1 occurrence(s) found of x86 64 bits array_index_mask_nospec())
71 * Kernel has the Red Hat/Ubuntu patch: NO
72 * Kernel has mask_nospec64 (arm64): NO
73 > STATUS: NOT VULNERABLE (Mitigation: __user pointer sanitization)
75 CVE-2017-5715 aka Spectre Variant 2, branch target injection
76 * Mitigated according to the /sys interface: YES (Mitigation: Full generic retpoline, IBPB, IBRS_FW)
78 * Kernel is compiled with IBRS support: YES
79 * IBRS enabled and active: YES (for firmware code only)
80 * Kernel is compiled with IBPB support: YES
81 * IBPB enabled and active: YES
83 * Kernel has branch predictor hardening (arm): NO
84 * Kernel compiled with retpoline option: YES
85 * Kernel compiled with a retpoline-aware compiler: YES (kernel reports full retpoline compilation)
86 * Kernel supports RSB filling: YES
87 > STATUS: NOT VULNERABLE (Full retpoline + IBPB are mitigating the vulnerability)
89 CVE-2017-5754 aka Variant 3, Meltdown, rogue data cache load
90 * Mitigated according to the /sys interface: YES (Mitigation: PTI)
91 * Kernel supports Page Table Isolation (PTI): YES
92 * PTI enabled and active: YES
93 * Reduced performance impact of PTI: YES (CPU supports INVPCID, performance impact of PTI will be greatly reduced)
94 * Running as a Xen PV DomU: NO
95 > STATUS: NOT VULNERABLE (Mitigation: PTI)
97 CVE-2018-3640 aka Variant 3a, rogue system register read
98 * CPU microcode mitigates the vulnerability: NO
99 > STATUS: VULNERABLE (an up-to-date CPU microcode is needed to mitigate this vulnerability)
101 CVE-2018-3639 aka Variant 4, speculative store bypass
102 * Mitigated according to the /sys interface: NO (Vulnerable)
103 * Kernel supports disabling speculative store bypass (SSB): YES (found in /proc/self/status)
104 * SSB mitigation is enabled and active: NO
105 > STATUS: VULNERABLE (Your CPU doesnt support SSBD)
107 CVE-2018-3615 aka Foreshadow (SGX), L1 terminal fault
108 * CPU microcode mitigates the vulnerability: N/A
109 > STATUS: NOT VULNERABLE (your CPU vendor reported your CPU model as not vulnerable)
111 CVE-2018-3620 aka Foreshadow-NG (OS), L1 terminal fault
112 * Kernel supports PTE inversion: NO
113 * PTE inversion enabled and active: UNKNOWN (sysfs interface not available)
114 > STATUS: VULNERABLE (Your kernel doesnt support PTE inversion, update it)
116 CVE-2018-3646 aka Foreshadow-NG (VMM), L1 terminal fault
117 * This system is a host running a hypervisor: NO
119 * EPT is disabled: NO
121 * L1D flush is supported by kernel: NO
122 * L1D flush enabled: UNKNOWN (cant find or read /sys/devices/system/cpu/vulnerabilities/l1tf)
123 * Hardware-backed L1D flush supported: NO (flush will be done in software, this is slower)
124 * Hyper-Threading (SMT) is enabled: YES
125 > STATUS: NOT VULNERABLE (this system is not running a hypervisor)
127 CVE-2018-12126 aka Fallout, microarchitectural store buffer data sampling (MSBDS)
128 * Kernel supports using MD_CLEAR mitigation: NO
129 > STATUS: VULNERABLE (Neither your kernel or your microcode support mitigation, upgrade both to mitigate the vulnerability)
131 CVE-2018-12130 aka ZombieLoad, microarchitectural fill buffer data sampling (MFBDS)
132 * Kernel supports using MD_CLEAR mitigation: NO
133 > STATUS: VULNERABLE (Neither your kernel or your microcode support mitigation, upgrade both to mitigate the vulnerability)
135 CVE-2018-12127 aka RIDL, microarchitectural load port data sampling (MLPDS)
136 * Kernel supports using MD_CLEAR mitigation: NO
137 > STATUS: VULNERABLE (Neither your kernel or your microcode support mitigation, upgrade both to mitigate the vulnerability)
139 CVE-2019-11091 aka RIDL, microarchitectural data sampling uncacheable memory (MDSUM)
140 * Kernel supports using MD_CLEAR mitigation: NO
141 > STATUS: VULNERABLE (Neither your kernel or your microcode support mitigation, upgrade both to mitigate the vulnerability)
143 CVE-2019-11135 aka ZombieLoad V2, TSX Asynchronous Abort (TAA)
144 * TAA mitigation is supported by kernel: NO
145 * TAA mitigation enabled and active: NO (tsx_async_abort not found in sysfs hierarchy)
146 > STATUS: VULNERABLE (Your kernel doesnt support TAA mitigation, update it)
148 CVE-2018-12207 aka No eXcuses, iTLB Multihit, machine check exception on page size changes (MCEPSC)
149 * This system is a host running a hypervisor: NO
150 * iTLB Multihit mitigation is supported by kernel: NO
151 * iTLB Multihit mitigation enabled and active: NO (itlb_multihit not found in sysfs hierarchy)
152 > STATUS: NOT VULNERABLE (this system is not running a hypervisor)
154 > SUMMARY: CVE-2017-5753:OK CVE-2017-5715:OK CVE-2017-5754:OK CVE-2018-3640:KO CVE-2018-3639:KO CVE-2018-3615:OK CVE-2018-3620:KO CVE-2018-3646:OK CVE-2018-12126:KO CVE-2018-12130:KO CVE-2018-12127:KO CVE-2019-11091:KO CVE-2019-11135:KO CVE-2018-12207:OK