mirror of
https://github.com/speed47/spectre-meltdown-checker.git
synced 2025-07-15 15:21:23 +02:00
Compare commits
79 Commits
Author | SHA1 | Date | |
---|---|---|---|
ae56ec0bc5 | |||
871443c9db | |||
8fd4e3ab01 | |||
de793a7204 | |||
11790027d3 | |||
5939c38c5c | |||
db7d3206fd | |||
1d13a423b8 | |||
8e870db4f5 | |||
d547ce4ab4 | |||
d187827841 | |||
2e304ec617 | |||
fcc04437e8 | |||
d31a9810e6 | |||
4edb867def | |||
1264b1c7a3 | |||
7beca1ac50 | |||
8ad10e15d3 | |||
bfa4de96e6 | |||
b022b27a51 | |||
c4bae6ee6a | |||
23e7db044e | |||
fc4981bb94 | |||
419508758e | |||
d7d2e6934b | |||
b0083d918e | |||
904a83c675 | |||
906f54cf9d | |||
c45a06f414 | |||
4a6fa070a4 | |||
c705afe764 | |||
401ccd4b14 | |||
55120839dd | |||
f5106b3c02 | |||
68289dae1e | |||
3b2d529654 | |||
cbb18cb6b6 | |||
299103a3ae | |||
dc5402b349 | |||
90c2ae5de2 | |||
53d6a44754 | |||
297d890ce9 | |||
0252e74f94 | |||
fbbb19f244 | |||
1571a56ce2 | |||
3cf9141601 | |||
bff38f1b26 | |||
b419fe7c63 | |||
f193484a4a | |||
349d77b3b6 | |||
e589ed7f02 | |||
ae1206288f | |||
b44d2b5470 | |||
7b72c20f89 | |||
b48b2177b7 | |||
8f31634df6 | |||
96798b1932 | |||
687ce1a7fa | |||
80e0db7cc4 | |||
e8890ffac6 | |||
b2f64e1132 | |||
42a3a61f1d | |||
afb36c519d | |||
0009c0d473 | |||
dd67fd94d7 | |||
339ad31757 | |||
794c5be1d2 | |||
a7afc585a9 | |||
fc1dffd09a | |||
e942616189 | |||
360be7b35f | |||
5f59257826 | |||
92d59cbdc1 | |||
4747b932e7 | |||
860023a806 | |||
ab67a9221d | |||
f4592bf3a8 | |||
be15e47671 | |||
d3481d9524 |
61
README.md
61
README.md
@ -1,12 +1,19 @@
|
|||||||
Spectre & Meltdown Checker
|
Spectre & Meltdown Checker
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
A shell script to tell if your system is vulnerable against the several "speculative execution" CVEs that were made public in 2018.
|
A shell script to tell if your system is vulnerable against the several "speculative execution" CVEs that were made public since 2018.
|
||||||
- CVE-2017-5753 aka Spectre Variant 1
|
- CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1'
|
||||||
- CVE-2017-5715 aka Spectre Variant 2
|
- CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
|
||||||
- CVE-2017-5754 aka Meltdown or Variant 3
|
- CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
|
||||||
- CVE-2018-3640 aka Variant 3a
|
- CVE-2018-3640 [rogue system register read] aka 'Variant 3a'
|
||||||
- CVE-2018-3639 aka Variant 4
|
- CVE-2018-3639 [speculative store bypass] aka 'Variant 4'
|
||||||
|
- CVE-2018-3615 [L1 terminal fault] aka 'Foreshadow (SGX)'
|
||||||
|
- CVE-2018-3620 [L1 terminal fault] aka 'Foreshadow-NG (OS)'
|
||||||
|
- CVE-2018-3646 [L1 terminal fault] aka 'Foreshadow-NG (VMM)'
|
||||||
|
- CVE-2018-12126 [microarchitectural store buffer data sampling (MSBDS)] aka 'Fallout'
|
||||||
|
- CVE-2018-12130 [microarchitectural fill buffer data sampling (MFBDS)] aka 'ZombieLoad'
|
||||||
|
- CVE-2018-12127 [microarchitectural load port data sampling (MLPDS)] aka 'RIDL'
|
||||||
|
- CVE-2019-11091 [microarchitectural data sampling uncacheable memory (MDSUM)] aka 'RIDL'
|
||||||
|
|
||||||
Supported operating systems:
|
Supported operating systems:
|
||||||
- Linux (all versions, flavors and distros)
|
- Linux (all versions, flavors and distros)
|
||||||
@ -46,9 +53,18 @@ sudo ./spectre-meltdown-checker.sh
|
|||||||
|
|
||||||
### Run the script in a docker container
|
### Run the script in a docker container
|
||||||
|
|
||||||
|
#### With docker-compose
|
||||||
|
|
||||||
|
```shell
|
||||||
|
docker-compose build
|
||||||
|
docker-compose run --rm spectre-meltdown-checker
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Without docker-compose
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
docker build -t spectre-meltdown-checker .
|
docker build -t spectre-meltdown-checker .
|
||||||
docker run --rm --privileged -v /boot:/boot:ro -v /lib/modules:/lib/modules:ro -v /dev/cpu:/dev/cpu:ro spectre-meltdown-checker
|
docker run --rm --privileged -v /boot:/boot:ro -v /dev/cpu:/dev/cpu:ro -v /lib/modules:/lib/modules:ro spectre-meltdown-checker
|
||||||
```
|
```
|
||||||
|
|
||||||
## Example of script output
|
## Example of script output
|
||||||
@ -98,6 +114,37 @@ docker run --rm --privileged -v /boot:/boot:ro -v /lib/modules:/lib/modules:ro -
|
|||||||
- Mitigation: microcode update + kernel update making possible for affected software to protect itself
|
- Mitigation: microcode update + kernel update making possible for affected software to protect itself
|
||||||
- Performance impact of the mitigation: low to medium
|
- Performance impact of the mitigation: low to medium
|
||||||
|
|
||||||
|
**CVE-2018-3615** l1 terminal fault (Foreshadow-NG SGX)
|
||||||
|
|
||||||
|
- Impact: Kernel & all software (any physical memory address in the system)
|
||||||
|
- Mitigation: microcode update
|
||||||
|
- Performance impact of the mitigation: negligible
|
||||||
|
|
||||||
|
**CVE-2018-3620** l1 terminal fault (Foreshadow-NG SMM)
|
||||||
|
|
||||||
|
- Impact: Kernel & System management mode
|
||||||
|
- Mitigation: updated kernel (with PTE inversion)
|
||||||
|
- Performance impact of the mitigation: negligible
|
||||||
|
|
||||||
|
**CVE-2018-3646** l1 terminal fault (Foreshadow-NG VMM)
|
||||||
|
|
||||||
|
- Impact: Virtualization software and Virtual Machine Monitors
|
||||||
|
- Mitigation: disable ept (extended page tables), disable hyper-threading (SMT), or updated kernel (with L1d flush)
|
||||||
|
- Performance impact of the mitigation: low to significant
|
||||||
|
|
||||||
|
**CVE-2018-12126** [MSBDS] Microarchitectural Store Buffer Data Sampling (Fallout)
|
||||||
|
|
||||||
|
**CVE-2018-12130** [MFBDS] Microarchitectural Fill Buffer Data Sampling (ZombieLoad)
|
||||||
|
|
||||||
|
**CVE-2018-12127** [MLPDS] Microarchitectural Load Port Data Sampling (RIDL)
|
||||||
|
|
||||||
|
**CVE-2019-11091** [MDSUM] Microarchitectural Data Sampling Uncacheable Memory (RIDL)
|
||||||
|
|
||||||
|
- Note: These 4 CVEs are similar and collectively named "MDS" vulnerabilities, the mitigation is identical for all
|
||||||
|
- Impact: Kernel
|
||||||
|
- Mitigation: microcode update + kernel update making possible to protect various CPU internal buffers from unprivileged speculative access to data
|
||||||
|
- Performance impact of the mitigation: TBC
|
||||||
|
|
||||||
## Understanding what this script does and doesn't
|
## Understanding what this script does and doesn't
|
||||||
|
|
||||||
This tool does its best to determine whether your system is immune (or has proper mitigations in place) for the collectively named "speculative execution" vulnerabilities. It doesn't attempt to run any kind of exploit, and can't guarantee that your system is secure, but rather helps you verifying whether your system has the known correct mitigations in place.
|
This tool does its best to determine whether your system is immune (or has proper mitigations in place) for the collectively named "speculative execution" vulnerabilities. It doesn't attempt to run any kind of exploit, and can't guarantee that your system is secure, but rather helps you verifying whether your system has the known correct mitigations in place.
|
||||||
|
15
docker-compose.yml
Normal file
15
docker-compose.yml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
version: '2'
|
||||||
|
|
||||||
|
services:
|
||||||
|
spectre-meltdown-checker:
|
||||||
|
build:
|
||||||
|
context: ./
|
||||||
|
dockerfile: ./Dockerfile
|
||||||
|
image: spectre-meltdown-checker:latest
|
||||||
|
container_name: spectre-meltdown-checker
|
||||||
|
privileged: true
|
||||||
|
network_mode: none
|
||||||
|
volumes:
|
||||||
|
- /boot:/boot:ro
|
||||||
|
- /dev/cpu:/dev/cpu:ro
|
||||||
|
- /lib/modules:/lib/modules:ro
|
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user