Does the name ZombieLoad ring a bell with you? A new variant of the infamous ZombieLoad attack is around. ZombieLoad v2 enables attack on Intel CPUs which are designed to be resistant against the previously discovered MDS attacks. Zombieload v2 even affects processors in the latest Intel Cascade Lake CPU family.
This new vulnerability is similar to Microarchitectural Data Sampling (MDS) and is called Transactional Synchronization Extensions (TSX) Asynchronous Abort (TAA). Microarchitectural Data Sampling (MDS) is a set of speculative execution side-channel vulnerabilities (detailed in our blog) discovered in May 2019. ZombieLoad v2 not only uses speculative execution but also utilizes the same buffers (store buffer, fill buffer, load port writeback data bus) as MDS to leak sensitive information. Tracked as CVE-2019-11135, the vulnerability affects Intel® Transactional Synchronization Extensions (Intel® TSX). Intel TSX is an extension to the x86 instruction set architecture that adds hardware transactional memory support. TSX helps to improve the performance of multi-threaded software.
Intel TSX supports atomic transactions which can either be committed or aborted. An abort causes the memory writes during the transaction in Intel TSX to roll back to the state before the start. Intel TSX also supports two kinds of aborts: Synchronous and Asynchronous. An asynchronous abort occurs due to microarchitectural reasons or under such conditions when a different logical processor tries to write to a cache line in the transaction’s read set or when the memory buffer is exceeded. The abort is unrecoverable and generally results in the termination of the process that caused it.
As explained by Intel, when an abort is initiated, there are certain loads in the transaction that are yet to be completed. These loads read data from microarchitectural structures and speculatively pass it on to dependent operations. The data stored in microarchitectural structures can later be retrieved. Thus, the exploitation of this bug requires a local attacker who monitors the execution time of TSX regions to infer the memory state by comparing abort execution times.
All Intel CPUs that support TSX are affected. List of specific Intel processors affected can be found here.
Successful exploitation of this vulnerability allows a local attacker to steal sensitive data such as encryption keys, passwords, etc. from the operating system kernel or other processes. An attacker who has local access to a virtual environment could infer data protected by architectural mechanisms from another virtual machine or the hypervisor itself.
Intel has released security patches with microcode updates to handle the TAA vulnerabilities.
Microsoft has also released updates to mitigate this vulnerability. Microsoft states that the OS protections are enabled by default on Windows Server OS and Windows Client OS Editions. Red Hat has released a script which can be used to detect if their Intel system is affected by this vulnerability. VMware has released Hypervisor-Specific Mitigations for VMware ESXi, Workstation, and Fusion. Ubuntu also released updates to keep its customers protected.
Please refer to this KB Article to apply the patches using SanerNow.