Americas

  • United States

Asia

Oceania

lconstantin
CSO Senior Writer

37 hardware and firmware vulnerabilities: A guide to the threats

Feature
Aug 11, 202219 mins
SecurityVulnerabilities

Meltdown and Spectre raised the alarm over vulnerabilities that attackers can exploit in popular hardware and its firmware. This list, though not comprehensive, presents the most significant threats.

orange monitors with lock icon network security cyber threat
Credit: Getty Images

In January 2018, the entire computer industry was put on alert by two new processor vulnerabilities dubbed Meltdown and Spectre that defeated the fundamental OS security boundaries separating kernel and user space memory. The flaws stemmed from a performance feature of modern CPUs known as speculative execution and mitigating them required one of the biggest patch coordination efforts in history, involving CPU makers, device manufacturers and operating system vendors.

Meltdown and Spectre were certainly not the first vulnerabilities to result from a hardware design decision, but their widespread impact sparked the interest of the security research community into such flaws. Since then, many researchers, both from academia and the private sector, have been studying the low-level operation of CPUs and other hardware components and have been uncovering more and more issues.

Some hardware vulnerabilities are impossible to mitigate completely without releasing a new generation of components, while others can be fixed in firmware, the low-level programming present in hardware chips. In either case, patching is not straightforward, so such flaws can continue to impact real world devices for a very long time.

Here are some of the most significant hardware-related vulnerabilities, discovered both before and after Meltdown:

CPU side-channel attacks 

  1. Spectre variant 1 – CVE-2017-5753
  2. Spectre variant 2 – CVE-2017-5715
  3. Meltdown variant 3 – CVE-2017-5754
  4. Meltdown-GP – CVE-2018-3640
  5. Meltdown-NM – CVE-2018-3665
  6. Spectre-NG – CVE-2018-3639
  7. Spectre-PHT – CVE-2018-3693
  8. Meltdown-RW
  9. Foreshadow-OS – CVE-2018-3620
  10. Foreshadow-VMM – CVE-2018-3646
  11. Foreshadow-SGX – CVE-2018-3615
  12. Meltdown-PK and Meltdown-BND
  13. Spectre-PHT-CA-OP, Spectre-PHT-CA-IP and Spectre-PHT-SA-OP
  14. Spectre-BTB-SA-IP and Spectre-BTB-SA-OP
  15. Fallout – CVE-2018-12126
  16. RIDL – CVE-2018-12127 and CVE-2018-12130
  17. Zombieload – CVE-2019-11091
  18. Starbleed
  19. PLATYPUS
  20. SRBDS – CVE-2020-0543
  21. Spectre-BHI – CVE-2022-0001, CVE-2022-0002 and CVE-2022-23960
  22. Retbleed – CVE-2022-29901 and CVE-2022-29900
  23. Hertzbleed – CVE-2022-23823 and CVE-2022-24436

Spectre variant 1 – CVE-2017-5753

Also known as bounds check bypass, CVE-2017-5753 allows attackers to exploit the branch prediction feature of modern CPUs to extract information from the memory of other processes by using the CPU cache as a side channel. It allows one process to extract sensitive information from the memory of another process but could also bypass the user/kernel memory privilege boundary. The vulnerability affects Intel, IBM and a limited number of ARM CPUs.

Spectre variant 2 – CVE-2017-5715

Spectre variant 2 has the same impact as variant 1 but uses a different exploitation technique called branch target injection. Mitigating this variant of Spectre efficiently requires updates to the affected CPU microcode, which can be applied either through BIOS/UEFI updates or by the operating system at every reboot.

Meltdown variant 3 – CVE-2017-5754

Also known as Rogue Data Cache Load (RDCL) or variant 3 of the CPU speculative execution flaws, Meltdown is a vulnerability that leverages the out-of-order execution capabilities of modern Intel CPUs. It allows a user process to read protected kernel memory across security boundaries. The fix only requires operating system updates and involves enforcing stricter isolation of the kernel memory, which typically contains sensitive secrets, through mechanisms such as Linux’s kernel page-table isolation (KPTI).

Meltdown-GP – CVE-2018-3640

A variant of Meltdown, or variant 3a, it uses speculative reads of system registers to achieve side-channel leaks of information. Because of this, it is also know Rogue System Register Read (RSRE). Mitigation requires microcode updates.

Meltdown-NM – CVE-2018-3665

A speculative execution flaw related to Meltdown that’s also known as LazyFP and can be used to leak the state of the floating-point unit (FPU) — a specialized math coprocessor present in Intel’s modern CPUs that’s used to accelerate mathematical operations on floating point numbers. The FPU state can contain sensitive information from cryptographic operations. This vulnerability can be mitigated by enforcing “eager” instead of “lazy” FPU context switching at the operating system level.

Spectre-NG – CVE-2018-3639

Also known as Spectre variant 4, or Speculative Store Bypass (SSB), this is a Spectre variant that allows performing memory reads before prior memory write addresses are known and can be used to leak cross-process information. Mitigation requires both microcode and OS updates.

Spectre-PHT – CVE-2018-3693

Also known as Spectre 1.1, is a variant of Spectre that leverages speculative stores to create speculative buffer overflows. It allowed bypassing some of the previous software-based mitigations for Spectre and requires OS updates.

Meltdown-RW 

Also known as Spectre 1.2, is a variant that leverages speculative stores to overwrite read-only data and code pointers. This variant can be used to breach software sandboxes and is related Spectre 1.1. Mitigation required OS updates.

Foreshadow-OS – CVE-2018-3620

Also known as L1 Terminal Fault, Foreshadow is a speculative execution attack against Intel CPUs that allows extracting information from the processor’s L1 data cache. This is particularly sensitive in the context of virtual machines which split the same physical CPU into multiple virtual CPUs, because those virtual CPUs use the same L1 cache. This variant allows attackers to extract information from the OS or SMM (system management mode), an alternate mode of CPU operation that is separate from the operating system and is designed to be used by BIOS/UEFI or low-level OEM code.

Foreshadow-VMM – CVE-2018-3646

A variant of Foreshadow that affects virtual machines and allows a guest operating system running inside a VM to potentially read sensitive memory from other guest VMs or the hypervisor itself.

Foreshadow-SGX – CVE-2018-3615

A variant of Foreshadow that allows attackers to read the memory of Intel Software Guard Extensions (SGX) enclaves. SGX is a trusted execution environment provided by some Intel CPUs that allows developers to store data and execute code securely, even if the operating system itself has been compromised.

Meltdown-PK and Meltdown-BND

Meltdown-PK (Protection Key Bypass) and Meltdown-BND (Bounds Check Bypass) are two variants of Meltdown presented in November 2018 by a team of academic researchers as part of a larger evaluation of transient execution attacks. Meltdown-PK affects Intel CPUs while Meltdown-BND affects both Intel and AMD.

Spectre-PHT-CA-OP, Spectre-PHT-CA-IP and Spectre-PHT-SA-OP

These are variants of Spectre that leverage the CPU’s Pattern History Table (PHT). They were disclosed at the same time as Meltdown-PK and Meltdown-BND by the same team.

Spectre-BTB-SA-IP and Spectre-BTB-SA-OP 

These are variants of the Spectre attack that leverage the Branch Target Buffer (BTB). They were disclosed in November 2018 by the same team who found Meltdown-PK and Meltdown-BND. The team concluded at the time that “most defenses, including deployed ones, cannot fully mitigate all attack variants.”

Fallout – CVE-2018-12126

Fallout, also known as microarchitectural store buffer data sampling (MSBDS), is a vulnerability whose effects are similar to Meltdown in that it can be used to leak sensitive secrets from protected memory regions across security boundaries. It is part of a new class of side-channel attacks against CPUs that Intel calls Microarchitectural Data Sampling (MDS). The flaw affects both operating systems and hypervisors and mitigation requires CPU microcode updates.

RIDL – CVE-2018-12127 and CVE-2018-12130

Another two variants of MDS attacks known as microarchitectural load port data sampling (MLPDS) and microarchitectural fill buffer data sampling (MFBDS). Like Fallout, mitigation requires CPU microcode updates.

Zombieload – CVE-2019-11091

A fourth variant of MDS attacks known as microarchitectural data sampling uncacheable memory (MDSUM). Like Fallout and RIDL, it can be used to leak sensitive kernel or hypervisor memory.

Starbleed

Starbleed is a design flaw in the bitstream encryption process of field-programmable gate arrays (FPGAs) made by Xilinx. Unlike CPUs, which come with a predetermined set of general purpose instructions that are fit for most computing tasks, FPGAs are integrated circuits whose logic is completely programmable by the customer. They’re usually configured to perform one specific task better and more efficiently than general purpose CPUs and are widely used for mission- or safety-critical applications in sectors such as aerospace, finance and the military.

The configuration files loaded by customers onto FPGAs are called bitstreams and FPGA manufacturers like Xilinx, which controls around 50% of the FPGA market, have added encryption and bitstream validation mechanisms to allow customers to protect their intellectual property and other secrets their deployed FPGAs might contain. A team of researchers from the Horst Goertz Institute for IT Security at Ruhr University Bochum in Germany have found a design flaw in the bitstream security mechanism of Xilinx 7-Series and Virtex-6 FPGAs that can allow an attacker to decrypt bitstreams and even modify them.

“By our attack, we can circumvent the bitstream encryption and decrypt an assumedly secure bitstream on all Xilinx 7-Series devices completely and on the Virtex-6 devices partially,” the researchers wrote in their paper, which will be presented at the 29th USENIX Security Symposium. “Additionally, we are also able to manipulate the bitstream by adjusting the HMAC. Out attack setting in general is the same one as commonly encountered in mainstream practice: The adversary only needs access to the configuration interface of a fielded FPGA. In this setting, the secret decryption key has already been loaded into the FPGA — e.g., after device manufacturing, the key is stored in internal battery-backed RAM (BBRAM) or eFUSEs. As will be shown later, the adversary uses the FPGA with the stored key as an oracle to decrypt the bitstream.”

To pull off the Starbleed attack, hackers need access to a hardware configuration interface on the FPGA which normally means they would need physical access to the device. However, some FPGAs are programmed and reprogrammed through separate microcontrollers, which can be connected to a network, in which case such an attack could be executed remotely.

The design flaw cannot be patched because it exists in the silicon, so it will be corrected in future generations of Xilinx FPGAs. The company has been notified of the vulnerability before the paper was published and has sent an advisory to customers.

PLATYPUS

PLATYPUS is a side-channel attack that abuses the running average power limit (RAPL) interface that’s used to measure power consumption in CPU cores and is present in all Intel CPUs developed since 2011 (Sandy Bridge). It is the first differential power analysis attack that can be executed remotely and used to leak secrets such as encryption keys from the Linux kernel memory and Intel SGX secure enclaves.

The attack was announced in November 2020 and was devised by a team of researchers from the Graz University of Technology, the University of Birmingham in UK and CISPA Helmholtz Center for Information Security. The Linux kernel developers patched the vulnerabilities, which are tracked as CVE-2020-8694 and CVE-2020-8695, by preventing unprivileged applications from accessing the RAPL energy consumption data.

However, this does not address the privileged attack vector against Intel SGX, a trusted execution environment (TEE) built into the CPU that’s supposed to keep sensitive cryptographic data secure even in the case of a complete OS compromise. To address this, users have to deploy CPU microcode updates released by Intel.

While the researchers tested and confirmed their attack on Intel CPUs, they warned that CPUs from other chip makers including AMD, Nvidia and ARM also have on-board energy meters that are accessible and could be vulnerable to a variation of this attack.

SRBDS – CVE-2020-0543

SRBDS (Special Register Buffer Data Sampling) is an attack technique developed by researchers at VU Amsterdam in 2020 that demonstrates that speculative execution attacks that leak data through side-channels are possible across different CPU cores. Previously, such attacks and the mitigations developed for them assumed that the the attacker and victim share the same CPU core because the internal CPU buffers used to leak data from are shared by the hyperthreads running on the same CPU core.

However, the researchers found that some instructions can read data from a staging buffer that is shared between all CPU cores and this expanded the attack surface of known and previously mitigated speculative execution attacks like RIDL (CVE-2018-12127 and CVE-2018-12130). The team developed a tool called CrossTalk to examine the behavior of all x86 instructions in different contexts to determine when they make offcore memory requests and then used the new attack technique to leak the random number generator output used by Intel SGX secure enclaves from the staging buffer. With this RNG output they were able to leak the ECDSA private key of an Intel SGX enclave running on a separate CPU core after the key was used to perform a single digital signature operation.

Intel released CPU microcode updates to mitigate the vulnerability for critical instructions such as RDRAND, RDSEED, and EGETKEY that locks the entire memory bus until the staging buffer is cleared. This operation adds a significant performance overhead, which is why it was only introduced for certain instructions.

Spectre-BHI – CVE-2022-0001, CVE-2022-0002 and CVE-2022-23960

Spectre-BHI (Branch History Injection) or Spectre-BHB (Branch History Buffer), is an attack disclosed in March 2022 by researchers from VU Amsterdam that’s a variation of the original Spectre v2 or Spectre-BTI (Branch Target Injection) attack and impacts Intel and ARM CPUs. Like Spectre-BTI, the new attack variation can leak sensitive information from the kernel’s memory but does so by poisoning the global history of the CPU predictor, which bypasses the hardware defenses introduced by CPU vendors.

By exploiting the original Spectre v2 flaw attackers could actually inject target code locations and then trick the kernel to execute that code, but with the new Spectre-BHI attack, they have to leverage code gadgets and snippets that already exist in the history because they were executed in the past and which might leak interesting data. This makes Spectre-BHI exploitation harder, but the technique shows the Spectre attack surface is larger than previously believed.

To demonstrate the attack, the researchers abused eBPF, a technology available in Linux since kernel 4.4 that allows the execution of sandboxed programs inside the kernel. If enabled, this mechanism makes it very easy to exploit speculative execution issues like Spectre-BHI Linux, but disabling it does not completely mitigate the issue as other gadgets can be found to leak data.

Retbleed – CVE-2022-29901 and CVE-2022-29900

Retbleed is an attack technique disclosed in July 2022 by researchers from Swiss university ETH Zurich that exploits the speculative execution feature of Intel and AMD CPUs and circumvents some of the software defenses operating systems put in place to prevent previous exploits like Spectre.

The original Spectre attacks from 2018 and later triggered branch target speculation by using indirect jumps or calls, so Google researchers at the time proposed a software defense mechanism called retpoline that replaced indirect jumps and calls in software with return instructions. Returns were believed to be impractical to exploit because normally they don’t trigger speculative execution, but Retbleed proves that they can under certain conditions, like when executing deep call stacks to underflow the return stack buffer. The researchers demonstrated their attack on Linux where they found over 1,000 conditions that could allow for this.

Intel refers to Retbleed as Return Stack Buffer Underflow (RSBU) and said that systems that use its hardware mitigations, namely indirect branch restricted speculation (IBRS) or enhanced IBRS (eIBRS), are protected against the attack. Only systems that rely solely on the retpoline software mitigation for performance reasons, or which use older CPUs that don’t have the hardware mitigation, are impacted. AMD considers the attack part of a larger class of microarchitectural misbehavior dubbed Branch Type Confusion (CVE-2022-23825).

Hertzbleed – CVE-2022-23823 and CVE-2022-24436

Hertzbleed is a new family of side-channel attacks affecting Intel, AMD and possibly ARM CPUs that was disclosed in June 2022 by a team of academic researchers from University of Texas at Austin, University of Illinois Urbana-Champaign and University of Washington. It stems from dynamic frequency scaling, a feature in modern CPUs that is used to reduce power consumption and ensure the CPU stays below thermal and power limits. The researchers who discovered the attack show that different computations can use different CPU frequencies depending on the data that’s being processed.

Power analysis attacks are not new, but they are typically local and require some sort of power measurement interface in order to monitor differences between computations and infer details about what’s being processed. This side-channel technique has been used before to leak cryptographic secrets such as keys.

Hertzbleed, however, shows that frequency scaling generates timing differences in computations and these can be observed even remotely without any power measurement interface. The novelty is that Hertzbleed works even against so-called constant time cryptographic implementations that were intentionally designed to prevent leaking information through timing analysis.

The researchers used Hertzbleed to implement a novel chosen-ciphertext attack against SIKE (Supersingular Isogeny Key Encapsulation), a post-quantum key encapsulation mechanism that is also a NIST competition finalist and is implemented as constant time. The team was able to  perform a full key extraction via remote timing.

Intel published guidance for developers of cryptographic libraries to mitigate Hertzbleed using software countermeasures. Another possible mitigation is to disable “Turbo Boost” at runtime on the system, but this has a significant system-wide performance impact.

DRAM memory Rowhammer attacks

  1. Rowhammer
  2. Rowhammer.js
  3. Drammer – CVE-2016-6728
  4. Flip Feng Shui
  5. ECCploit
  6. Throwhammer
  7. RAMBleed

Rowhammer

Rowhammer is a physical effect with security implications that occurs inside SDRAM chips when the same physical row of memory cells is read for a large number of times in rapid succession — an action dubbed hammering. This can cause electric charges from cells in the hammered row to leak into adjacent rows, modifying the value of the cells in those rows. This is known as bit flipping and possible because of the increased cell density of modern SDRAM chips, particularly DDR3 and DDR4.

While the Rowhammer effect has been known or documented for a long time, members of Google’s Project Zero team were the first to prove it can have security implications in March 2015 when they revealed two privilege escalation exploits based on it.

Rowhammer.js

Rowhammer.js was an implementation of the Rowhammer attack via JavaScript, proving that this flaw can be exploited remotely through the browser, simply by visiting a malicious web page. Browser vendors have added mitigations against this exploit.

Drammer – CVE-2016-6728

Drammer is a Rowhammer-type exploit demonstrated in 2016 against Android devices. Until then the memory chips in mobile devices were thought to be unaffected.

Flip Feng Shui

An implementation of the Rowhammer attack against virtual machines, where a malicious guest VM can flip bits in the physical memory affecting a different virtual machine in a controlled manner. The researchers demonstrated this by breaking the OpenSSH public key authentication in the target VM.

ECCploit 

ECCploit is an attack that demonstrates that Rowhammer-type attacks can work even against SDRAM chips that have error-correcting code (ECC) capabilities. This type of memory, which is typically used in servers, was thought to be immune to Rowhammer.

Throwhammer

A Rowhammer attack that can be exploited over a network by leveraging the remote direct memory access (RDMA) feature present in fast network cards like those used in servers.

RAMBleed

RAMBleed is the first attack that has shown it is possible to use the Rowhammer effect to steal data from memory cells instead of simply modifying it. Previous Rowhammer attacks compromised memory integrity through bit flips, which could lead to privilege escalation and other conditions. Meanwhile, RAMBleed uses row hammering and a side-channel in order to infer information about and ultimately extract data from adjacent memory cells. In that respect it is similar to the effects of Meltdown and Spectre.

Wide-impact firmware vulnerabilities 

  1. BlueBorne
  2. KRACK
  3. BadUSB
  4. Thunderstrike and Thunderstrike 2 
  5. Thunderclap
  6. ROCA
  7. Intel Management Engine

BlueBorne 

A set of vulnerabilities announced in 2017 in the Bluetooth stack implementations of Linux, Android, Windows and macOS. It was estimated these vulnerabilities affected over 5 billion devices and while on computers it was easier to fix through OS updates, Bluetooth-enabled smart watches, TVs, medical devices, car infotainment systems, wearables and other internet-of-things devices required firmware updates. Researchers estimated one year later, in 2018, that over 2 billion devices remained exposed.

KRACK

KRACK, or the Key Reinstallation Attack, is an attack revealed in 2016 that exploited a weakness in the WPA2 wireless security standard, which is used to protect most wireless networks in use today. Because the weakness was in the standard itself, WPA2 implementations in all types of devices, including home routers and other IoT devices, were affected. Fixing the vulnerability required firmware updates, so many out-of-support devices remained vulnerable to this day.

BadUSB

An attack demonstrated in 2014 that allows reprogramming the microcontrollers in USB thumb drives in order to make them spoof other types of devices such as keyboards and used them to take control of computers or to exfiltrate data. Many USB thumb drives remain affected.

Thunderstrike and Thunderstrike 2  

Two attacks that exploited vulnerabilities in the firmware of Apple’s Macbook devices in order to install firmware rootkits when malicious devices were connected to the Thunderbolt ports. Thunderstrike 2 also allowed compromising newly inserted Thunderbolt devices, creating the possibility of a worm.

Thunderclap

Another attack revealed this year that can execute privileged code on computers equipped with Thunderbolt ports.

ROCA

The Return of Coppersmith’s Attack (ROCA) is an attack against the Trusted Platform Modules (TPMs) and Secure Elements (SEs) produced by Infineon Technologies. These TPMs and SEs are used in tens of millions of business computers, servers, hardware authentication tokens and various types of smart cards, including national identity cards. The vulnerability allows the RSA keys generated with these components to be significantly more vulnerable to factorization — attacks designed to recover keys. Researchers estimated the cost of recovering individual 2048-bit RSA keys generated by such devices to be around $20,000 and for 1024-bit RSA keys around $40.

Intel Management Engine 

The Intel Management Engine (ME) is a dedicated coprocessor and subsystem present in many Intel CPUs and is used for out-of-band management tasks. Intel ME runs its own lightweight operating system which is completely separate from the user-installed operating system, which is why it has often been described as a backdoor in the security community. Over the years there have been serious vulnerabilities found in Intel ME and fixing them requires installing firmware updates from computer manufacturers. This means many older, out-of-support systems are unlikely to receive such updates.

Logs leaked from the Conti ransomware gang in 2022 showed that the cybercriminal organization was investigating the possibility of exploiting Intel ME vulnerabilities in order to gain code execution privileges in System Management Mode, a highly privileged execution environment of the CPU, with the goal of deploying malicious code deep inside computer firmware to evade detection by security products. The leaked internal chats suggested that the gang had developed proof-of-concept code for such attacks.

Editor’s note: This article, originally published in July 2019, has been updated to as new vulnerabilities come to light.