HOME

TheInfoList



OR:

Transient execution CPU vulnerabilities are
vulnerabilities Vulnerability refers to "the quality or state of being exposed to the possibility of being attacked or harmed, either physically or emotionally." A window of vulnerability (WOV) is a time frame within which defensive measures are diminished, com ...
in a computer system in which a
speculative execution Speculative execution is an optimization technique where a computer system performs some task that may not be needed. Work is done before it is known whether it is actually needed, so as to prevent a delay that would have to be incurred by doing ...
optimization implemented in a
microprocessor A microprocessor is a computer processor where the data processing logic and control is included on a single integrated circuit, or a small number of integrated circuits. The microprocessor contains the arithmetic, logic, and control circ ...
is exploited to leak secret data to an unauthorized party. The classic example is
Spectre Spectre, specter or the spectre may refer to: Religion and spirituality * Vision (spirituality) * Apparitional experience * Ghost Arts and entertainment Film and television * ''Spectre'' (1977 film), a made-for-television film produced and writ ...
that gave its name to this kind of
side-channel attack In computer security, a side-channel attack is any attack based on extra information that can be gathered because of the fundamental way a computer protocol or algorithm is implemented, rather than flaws in the design of the protocol or algori ...
, but since January 2018 many different vulnerabilities have been identified.


Overview

Modern computers are highly parallel devices, composed of components with very different performance characteristics. If an operation (such as a branch) cannot yet be performed because some earlier slow operation (such as a memory read) has not yet completed, a microprocessor may attempt to ''predict'' the result of the earlier operation and execute the later operation ''speculatively'', acting as if the prediction was correct. The prediction may be based on recent behavior of the system. When the earlier, slower operation completes, the microprocessor determines whether prediction was correct or incorrect. If it was correct then execution proceeds uninterrupted; if it was incorrect then the microprocessor rolls back the speculatively executed operations and repeats the original instruction with the real result of the slow operation. Specifically, a ''transient instruction'' refers to an instruction processed by error by the processor (incriminating the branch predictor in the case of
Spectre Spectre, specter or the spectre may refer to: Religion and spirituality * Vision (spirituality) * Apparitional experience * Ghost Arts and entertainment Film and television * ''Spectre'' (1977 film), a made-for-television film produced and writ ...
) which can affect the micro-architectural state of the processor, leaving the architectural state without any trace of its execution. In terms of the directly visible behavior of the computer it is as if the speculatively executed code "never happened". However, this speculative execution may affect the state of certain components of the microprocessor, such as the
cache Cache, caching, or caché may refer to: Places United States * Cache, Idaho, an unincorporated community * Cache, Illinois, an unincorporated community * Cache, Oklahoma, a city in Comanche County * Cache, Utah, Cache County, Utah * Cache County ...
, and this effect may be discovered by careful monitoring of the timing of subsequent operations. If an attacker can arrange that the speculatively executed code (which may be directly written by the attacker, or may be a suitable ''gadget'' that they have found in the targeted system) operates on secret data that they are unauthorized to access, and has a different effect on the cache for different values of the secret data, they may be able to discover the value of the secret data. Starting in 2017, multiple examples of such vulnerabilities were identified, with publication starting in early 2018. In March 2021 AMD security researchers discovered that the Predictive Store Forwarding algorithm in
Zen 3 Zen 3 is the codename for a CPU microarchitecture by AMD, released on November 5, 2020. It is the successor to Zen 2 and uses TSMC's 7 nm process for the chiplets and GlobalFoundries's 14 nm process for the I/O die on the server chips and 12 nm ...
CPUs could be used by malicious applications to access data it shouldn't be accessing. According to Phoronix there's little impact in disabling the feature. In June 2021, two new vulnerabilities, Speculative Code Store Bypass (SCSB
CVE-2021-0086
and Floating Point Value Injection (FPVI
CVE-2021-0089
, affecting ''all'' modern x86-64 CPUs both from Intel and AMD were discovered. In order to mitigate them software has to be rewritten and recompiled. ARM CPUs are not affected by SCSB but some certain ARM architectures are affected by FPVI. In August 2021 a vulnerability called "Transient Execution of Non-canonical Accesses" affecting certain AMD CPUs was disclosed. It requires the same mitigations as the MDS vulnerability affecting certain Intel CPUs. It was assigne
CVE-2020-12965
Since most x86 software is already patched against MDS and this vulnerability has the exact same mitigations, software vendors don't have to address this vulnerability. In October 2021 for the first time ever a vulnerability similar to Meltdown was disclosed to be affecting all AMD CPUs however the company doesn't think any new mitigations have to be applied and the existing ones are already sufficient. In March 2022, a new variant of the Spectre vulnerability called Branch History Injection was disclosed. It affects certain ARM64 CPUs and the following Intel CPU families: Cascade Lake, Ice Lake,
Tiger Lake Tiger Lake is Intel's codename for the 11th generation Intel Core mobile processors based on the new Willow Cove Core microarchitecture, manufactured using Intel's third-generation 10 nm process node known as 10SF ("10 nm SuperFin"). Tig ...
and
Alder Lake Alder Lake is Intel's codename for the 12th generation of Intel Core processors based on a hybrid architecture utilizing Golden Cove performance cores and Gracemont efficient cores. It is fabricated using Intel's Intel 7 process, previousl ...
. According to Linux kernel developers AMD CPUs are also affected. In March 2022, a vulnerability affecting a wide range of AMD CPUs was disclosed unde
CVE-2021-26341
In June 2022, multiple
MMIO Memory-mapped I/O (MMIO) and port-mapped I/O (PMIO) are two complementary methods of performing input/output (I/O) between the central processing unit (CPU) and peripheral devices in a computer. An alternative approach is using dedicated I/O pr ...
Intel CPUs vulnerabilities related to execution in virtual environments were announced. The following CVEs were designated
CVE-2022-21123CVE-2022-21125CVE-2022-21166
In July 2022, the
Retbleed Retbleed is a speculative execution attack on x86-64 and ARM processors, including some recent Intel and AMD chips. First made public in 2022, it is a variant of the Spectre vulnerability which exploits retpoline, which was intended as a mitiga ...
vulnerability was disclosed affecting Intel Core 6 to 8th generation CPUs and AMD Zen 1, 1+ and 2 generation CPUs. Newer Intel microarchitectures as well as AMD starting with Zen 3 are not affected. The mitigations for the vulnerability decrease the performance of the affected Intel CPUs by up to 39%, while AMD CPUs lose up to 14%. In August 2022, the SQUIP vulnerability was disclosed affecting Ryzen 2000–5000 series CPUs. According to AMD the existing mitigations are enough to protect from it. According to a Phoronix review released in October, 2022
Zen 4 Zen 4 is the codename for a CPU microarchitecture by AMD, released on September 27, 2022. It is the successor to Zen 3 and uses TSMC's N5 process for CCDs. Zen 4 powers Ryzen 7000 mainstream desktop processors (codenamed "Raphael") and wil ...
/ Ryzen 7000 CPUs are not slowed down by mitigations, in fact disabling them leads to a performance loss.


Future

Spectre class vulnerabilities will remain unfixed because otherwise CPU designers will have to disable
speculative execution Speculative execution is an optimization technique where a computer system performs some task that may not be needed. Work is done before it is known whether it is actually needed, so as to prevent a delay that would have to be incurred by doing ...
which will entail a massive performance loss. Despite this, AMD has managed to design
Zen 4 Zen 4 is the codename for a CPU microarchitecture by AMD, released on September 27, 2022. It is the successor to Zen 3 and uses TSMC's N5 process for CCDs. Zen 4 powers Ryzen 7000 mainstream desktop processors (codenamed "Raphael") and wil ...
such a way its performance is ''not'' affected by mitigations.


Vulnerabilities and mitigations summary

Hardware mitigations require change to the CPU design and thus a new iteration of hardware, but impose close to zero performance loss. Microcode updates alter the software that the CPU runs on, requiring patches to be released and integrated into every operating system and for each CPU. OS/VMM mitigations are applied at the operating system or virtual machine level and (depending on workload) often incur quite a significant performance loss. Software recompilation requires recompiling every piece of software and usually incur a severe performance hit. The 8th generation Coffee Lake architecture in this table also applies to a wide range of previously released Intel CPUs, not limited to the architectures based on
Intel Core Intel Core is a line of streamlined midrange consumer, workstation and enthusiast computer central processing units (CPUs) marketed by Intel Corporation. These processors displaced the existing mid- to high-end Pentium processors at the time o ...
,
Pentium 4 Pentium 4 is a series of single-core CPUs for desktops, laptops and entry-level servers manufactured by Intel. The processors were shipped from November 20, 2000 until August 8, 2008. The production of Netburst processors was active from 200 ...
and
Intel Atom Intel Atom is the brand name for a line of IA-32 and x86-64 instruction set ultra-low-voltage processors by Intel Corporation designed to reduce electric consumption and power dissipation in comparison with ordinary processors of the Intel Co ...
starting with
Silvermont Silvermont is a microarchitecture for low-power Atom, Celeron and Pentium branded processors used in systems on a chip (SoCs) made by Intel. Silvermont forms the basis for a total of four SoC families: * ''Merrifield'' and ''Moorefield'' cons ...
. Various CPU microarchitectures not included above are also affected, among them are IBM Power,
ARM In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between th ...
, MIPS and others. Intel CPUs past Ice Lake, e.g.
Rocket Lake Rocket Lake is Intel's codename for its 11th generation Core microprocessors. Released on March 30, 2021, it is based on the new Cypress Cove microarchitecture, a variant of Sunny Cove (used by Intel's Ice Lake mobile processors) backported ...
and
Tiger Lake Tiger Lake is Intel's codename for the 11th generation Intel Core mobile processors based on the new Willow Cove Core microarchitecture, manufactured using Intel's third-generation 10 nm process node known as 10SF ("10 nm SuperFin"). Tig ...
are ''not'' affected by Fallout/MSBDS.


Notes

:1.Stepping 5 of the 2nd Generation Intel® Xeon® Scalable Processors based on Cascade Lake microarchitecture is affected by both MSBDS and MLPDS.


References


External links


Vulnerabilities associated with CPU speculative executionA systematic evaluation of transient execution attacks and defensesA dynamic tree of transient execution vulnerabilities for Intel, AMD and ARM CPUsTransient Execution Attacks by Daniel Gruss, June 20, 2019CPU Bugs
{{Hacking in the 2010s Hardware bugs Side-channel attacks