Mbed TLS is now part of TrustedFirmware.org.

Local side channel attack on classical CBC decryption in (D)TLS

Title Local side channel attack on classical CBC decryption in (D)TLS
CVE CVE-2020-16150
Date 1st of September, 2020
Affects All versions of Mbed TLS
Impact A local attacker can extract portions of the plaintext
Severity High
Credit Tuba Yavuz, Farhaan Fowze, Ken (Yihan) Bai, Grant Hernandez, Kevin Butler and Dave Tian.

Vulnerability

When decrypting/authenticating (D)TLS record in a connection using a CBC ciphersuite without the Encrypt-then-Mac extension RFC 7366, Mbed TLS used dummy rounds of the compression function associated with the hash used for HMAC in order to hide the length of the padding to remote attackers, as recommended in the original Lucky Thirteen paper.

A local attacker who is able to observe the state of the cache could monitor the presence of mbedtls_md_process() in the cache in order to determine when the actual computation ends and when the dummy rounds start. This is a reliable target as it's always called at least once, in response to a previous attack. The attacker can then continue with one of many well-documented Lucky 13 variants.

In order to fix this, as well as future variants of Lucky 13 relying on a local attacker's abilities, the implementation was changed to compute the expected MAC, extract the transmitted MAC and compare them, using constant memory access patterns and execution flow.

Impact

An local attacker with access to enough information about the state of the cache (including, but not limited to, an untrusted operating system attacking a secure enclave such as SGX or the TrustZone secure world) can recover portions of the plaintext of a (D)TLS record.

Resolution

Affected users will want to upgrade to Mbed TLS 2.24.0, 2.16.8 or 2.7.17 depending on the branch they're currently using.

Work-around

Users are encouraged to use AEAD ciphersuites (CHACHA20-POLY1305, GCM, CCM) whenever possible, or it they have to use CBC, to enable use of the Encrypt-then-Mac extension on both sides of the connection.

Like this?

Section:
Security Advisories

Author:


Published:


Last updated:
Sep 1, 2020

Sharing:


Want to stay up to date?

To sign up for Mbed TLS news, log in to or create an Mbed account and update your marketing preferences.