Security researchers have disclosed details of four speculative execution side-channel vulnerabilities in all Intel x86 central processing unit (CPU) released since 2008. They claim that the Microarchitectural Data Sampling (MDS) vulnerabilities, collectively known as ZombieLoad, Rogue In-Flight Data Load (RIDL), Fallout and Store-to-Leak Forwarding (SLF), can be exploited to obtain sensitive information from an affected system.
Intel describes these MDS vulnerabilities in broadly similar terms to earlier cache-based vulnerabilities like Meltdown, but instead targeting buffers, physical memory locations where data is stored temporarily before being moved. Modern CPUs have several buffers, with the following three being affected by these vulnerabilities:
- Line fill buffers (LFB) – used to store previously unseen values before they are written to the L1 cache.
- Store buffers – used to store values before they are written to primary memory.
- Load port buffers – used to copy data from memory to registers.
ZombieLoad: By targeting LFB logic, it is possible to retrieve previous memory load operations from current and sibling processor threads before they are moved from the LFB. When combined with existing techniques, ZombieLoad can be leveraged to obtain data from other processes, virtual machines or the Intel Software Guard eXtension (SGX) secure enclave.
RIDL: Similarly to ZombieLoad, RIDL targets the LFB along with load port buffers, and can retrieve data from the kernel as well as other processes or secure enclaves.
Fallout: By exploiting an Intel CPU optimisation known as Write Transient Forwarding, which can incorrectly pass values through the store buffer for use by programs it is possible to obtain data that has been recently written from the kernel to user space. Fallout is able to bypass Kernel Address Space Layout Randomisation (KASLR).
SLF: At the time of publication, there is little information available regarding SLF, with only an abstract published, although it appears the store buffer is again targeted.
- CVE-2018-12126 – Microarchitectural Store Buffer Data Sampling (MSBDS) [codenamed Fallout]
- CVE-2018-12127 – Microarchitectural Load Port Data Sampling (MLPDS) [codenamed RIDL]
- CVE-2018-12130 – Microarchitectural Fill Buffer Data Sampling (MFBDS) [codenamed Zombieload, but also RIDL]
- CVE-2018-11091 – Microarchitectural Data Sampling Uncacheable Memory (MDSUM) [codenamed RIDL]
MDS is addressed in hardware starting with select 8th and 9th Generation Intel® Core™ processors, as well as the 2nd Generation Intel® Xeon® Scalable processor family. More details can be found here. We expect all future Intel® processors include hardware mitigations addressing these vulnerabilities.
At the time of publication it appears that only Intel CPU products are affected by these vulnerabilities.
Exploiting the MDS vulnerabilities outside the controlled conditions of a research environment is a complex undertaking. MDS vulnerabilities have been classified as low to medium severity per the industry standard CVSS, and it’s important to note that there are no reports of any real world exploits of these vulnerabilities.
All Intel x86 CPUs implementing speculative execution, including those with mitigations against Meltdown & Spectre.
Microsoft patches – https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/adv190013