This was first reported in the BootROM thread. Here is a dedicated thread to compile the information into one place. This is a WikiPost so anyone with the proper credentials may edit it.
Apple links:
Additional mitigations for speculative execution vulnerabilities in Intel CPUs
How to enable full mitigation for Microarchitectural Data Sampling (MDS) vulnerabilities
Intel links:
Side Channel Vulnerability MDS
Intel Microarchitectural Data Sampling Advisory
Deep Dive: Intel Analysis of Microarchitectural Data Sampling
May 14, 2019 Microcode Revision Guidance
Other links:
ZombieLoad Attack
RIDL and Fallout: MDS attacks
Papers:
Zombieload
Fallout
RIDL
Types of MDS attacks:
CVE-2018-12126 (Fallout): Microarchitectural Store Buffer Data Sampling (MSBDS)
CVE-2018-12127: Microarchitectural Load Port Data Sampling (MLPDS)
CVE-2018-12130 (Zombieload / Rogue In-Flight Data Load (RIDL)): Microarchitectural Fill Buffer Data Sampling (MFBDS)
CVE-2019-11091: Microarchitectural Data Sampling Uncacheable Memory (MDSUM)
Macs unsupported by the mitigations due to lack of microcode updates from Intel:
MacBook (13-inch, Late 2009)
MacBook (13-inch, Mid 2010)
MacBook Air (13-inch, Late 2010)
MacBook Air (11-inch, Late 2010)
MacBook Pro (17-inch, Mid 2010)
MacBook Pro (15-inch, Mid 2010)
MacBook Pro (13-inch, Mid 2010)
iMac (21.5-inch, Late 2009)
iMac (27-inch, Late 2009)
iMac (21.5-inch, Mid 2010)
iMac (27-inch, Mid 2010)
Mac mini (Mid 2010)
Mac Pro (Early 2009)
Mac Pro (Mid 2010)
Mac Pro (Mid 2012)
Vulnerability status for these machines with Hyper threading (SMT) disabled: Unclear
Conflicting information from Apple and Intel:
Apple: "Full mitigation requires using the Terminal app to enable an additional CPU instruction and disable hyper-threading processing technology."
Intel: "Intel is not recommending that users disable Intel® Hyper threading. It’s important to understand that doing so does not alone provide protection against MDS"
But is it conflicting? Perhaps not. Here’s why:
Disabling SMT (Hyper Threading) is Apple’s method of “full mitigation,” but Apple lists these machines as not supporting the mitigations due to lack of microcode updates. It may be that disabling SMT provides full mitigation for machines that are receiving microcode updates, but disabling SMT on these machines doesn’t provide full mitigation because Intel states that disabling SMT alone does not provide protection. In the 'Deep Dive' article linked above Intel also states, "some processors may only enumerate MD_CLEAR after microcode updates," which means the microcode updates are necessary for buffer overwriting. There are software instruction sequences that may be used to overwrite buffers, but it isn't clear if that is something the OS will do automatically or if it needs to be done manually.
Apple's full mitigation solution is to type the following commands in Terminal with the machine booted into Recovery mode:
nvram boot-args="cwae=2" (additional CPU instruction? What does this do?)
nvram SMTDisable=%01 (disables simultaneous multithreading)
Apple links:
Additional mitigations for speculative execution vulnerabilities in Intel CPUs
How to enable full mitigation for Microarchitectural Data Sampling (MDS) vulnerabilities
Intel links:
Side Channel Vulnerability MDS
Intel Microarchitectural Data Sampling Advisory
Deep Dive: Intel Analysis of Microarchitectural Data Sampling
May 14, 2019 Microcode Revision Guidance
Other links:
ZombieLoad Attack
RIDL and Fallout: MDS attacks
Papers:
Zombieload
Fallout
RIDL
Types of MDS attacks:
CVE-2018-12126 (Fallout): Microarchitectural Store Buffer Data Sampling (MSBDS)
CVE-2018-12127: Microarchitectural Load Port Data Sampling (MLPDS)
CVE-2018-12130 (Zombieload / Rogue In-Flight Data Load (RIDL)): Microarchitectural Fill Buffer Data Sampling (MFBDS)
CVE-2019-11091: Microarchitectural Data Sampling Uncacheable Memory (MDSUM)
Macs unsupported by the mitigations due to lack of microcode updates from Intel:
MacBook (13-inch, Late 2009)
MacBook (13-inch, Mid 2010)
MacBook Air (13-inch, Late 2010)
MacBook Air (11-inch, Late 2010)
MacBook Pro (17-inch, Mid 2010)
MacBook Pro (15-inch, Mid 2010)
MacBook Pro (13-inch, Mid 2010)
iMac (21.5-inch, Late 2009)
iMac (27-inch, Late 2009)
iMac (21.5-inch, Mid 2010)
iMac (27-inch, Mid 2010)
Mac mini (Mid 2010)
Mac Pro (Early 2009)
Mac Pro (Mid 2010)
Mac Pro (Mid 2012)
Vulnerability status for these machines with Hyper threading (SMT) disabled: Unclear
Conflicting information from Apple and Intel:
Apple: "Full mitigation requires using the Terminal app to enable an additional CPU instruction and disable hyper-threading processing technology."
Intel: "Intel is not recommending that users disable Intel® Hyper threading. It’s important to understand that doing so does not alone provide protection against MDS"
But is it conflicting? Perhaps not. Here’s why:
Disabling SMT (Hyper Threading) is Apple’s method of “full mitigation,” but Apple lists these machines as not supporting the mitigations due to lack of microcode updates. It may be that disabling SMT provides full mitigation for machines that are receiving microcode updates, but disabling SMT on these machines doesn’t provide full mitigation because Intel states that disabling SMT alone does not provide protection. In the 'Deep Dive' article linked above Intel also states, "some processors may only enumerate MD_CLEAR after microcode updates," which means the microcode updates are necessary for buffer overwriting. There are software instruction sequences that may be used to overwrite buffers, but it isn't clear if that is something the OS will do automatically or if it needs to be done manually.
Apple's full mitigation solution is to type the following commands in Terminal with the machine booted into Recovery mode:
nvram boot-args="cwae=2" (additional CPU instruction? What does this do?)
nvram SMTDisable=%01 (disables simultaneous multithreading)
Last edited: