|Jesús 56ead3413f update README.md from upstream||7 months ago|
|LICENSE||2 years ago|
|README.md||7 months ago|
|spectre-meltdown-checker.sh||7 months ago|
A shell script to tell if your system is vulnerable against the several “speculative execution” CVEs that were made public since 2018.
Supported operating systems:
For Linux systems, the script will detect mitigations, including backported non-vanilla patches, regardless of the advertised kernel version number and the distribution (such as Debian, Ubuntu, CentOS, RHEL, Fedora, openSUSE, Arch, …), it also works if you’ve compiled your own kernel.
For BSD systems, the detection will work as long as the BSD you’re using supports
linprocfs (this is not the case of OpenBSD for example).
curl -L https://meltdown.ovh -o spectre-meltdown-checker.sh wget https://meltdown.ovh -O spectre-meltdown-checker.sh
chmod +x spectre-meltdown-checker.sh sudo ./spectre-meltdown-checker.sh
docker-compose build docker-compose run --rm spectre-meltdown-checker
docker build -t 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
CVE-2017-5753 bounds check bypass (Spectre Variant 1)
CVE-2017-5715 branch target injection (Spectre Variant 2)
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)
CVE-2018-3615 l1 terminal fault (Foreshadow-NG SGX)
CVE-2018-3620 l1 terminal fault (Foreshadow-NG SMM)
CVE-2018-3646 l1 terminal fault (Foreshadow-NG VMM)
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)
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. However, some mitigations could also exist in your kernel that this script doesn’t know (yet) how to detect, or it might falsely detect mitigations that in the end don’t work as expected (for example, on backported or modified kernels).
Your system exposure also depends on your CPU. As of now, AMD and ARM processors are marked as immune to some or all of these vulnerabilities (except some specific ARM models). All Intel processors manufactured since circa 1995 are thought to be vulnerable, except some specific/old models, such as some early Atoms. Whatever processor one uses, one might seek more information from the manufacturer of that processor and/or of the device in which it runs.
The nature of the discovered vulnerabilities being quite new, the landscape of vulnerable processors can be expected to change over time, which is why this script makes the assumption that all CPUs are vulnerable, except if the manufacturer explicitly stated otherwise in a verifiable public announcement.
Please also note that for Spectre vulnerabilities, all software can possibly be exploited, this tool only verifies that the kernel (which is the core of the system) you’re using has the proper protections in place. Verifying all the other software is out of the scope of this tool. As a general measure, ensure you always have the most up to date stable versions of all the software you use, especially for those who are exposed to the world, such as network daemons and browsers.
This tool has been released in the hope that it’ll be useful, but don’t use it to jump to conclusions about your security.