Overview
TLS implementations may disclose side channel information via discrepancies between valid and invalid PKCS#1 padding, and may therefore be vulnerable to Bleichenbacher-style attacks. This attack is known as a "ROBOT attack".
Description
CWE-203: Information Exposure Through Discrepancy Transport Layer Security (TLS) is a mechanism for a security transport over network connections, and is defined in RFC 5246. TLS may utilize RSA cryptography to secure the connection, and section 7.4.7 describes how client and server may exchange keys. Implementations that don't closely follow the descriptions in RFC 5246 may leak information to an attacker when they handle PKCS #1 v1.5 padding errors in ways that lets the attacker distinguish between valid and invalid messages. An attacker may utilize discrepancies in TLS error messages to obtain the pre-master secret key private RSA key used by TLS to decrypt sensitive data. This type of attack has become known as a Bleichenbacher attack. CERT/CC previously published CERT Advisory CA-1998-07 for this type of attack. Some modern cryptographic implementations are vulnerable to Bleichenbacher-style attacks on TLS. While RFC 5246 Section 7.4.7.1 provides advice in order to eliminate discrepancies and defend against Bleichenbacher attacks, implementation-specific error and exception handling may nevertheless re-introduce message discrepancies that act as a cryptographic oracle for a Bleichenbacher-style attack. More information about the research and affected vendors is available from the researcher's website. |
Impact
A remote, unauthenticated attacker may be able to obtain the TLS pre-master secret (TLS session key) and decrypt TLS traffic. |
Solution
Disable TLS RSA |
Vendor Information
The Vendor Information section below lists implementations and vendors that have been identified as vulnerable TLS implementations. Separate CVE IDs for each vendor have been assigned due to the implementation-specific nature of the vulnerability. |
CVSS Metrics
Group | Score | Vector |
---|---|---|
Base | 7.1 | AV:N/AC:M/Au:N/C:C/I:N/A:N |
Temporal | 5.6 | E:POC/RL:OF/RC:C |
Environmental | 4.2 | CDP:ND/TD:M/CR:ND/IR:ND/AR:ND |
References
- https://robotattack.org
- https://www.usenix.org/system/files/conference/usenixsecurity14/sec14-paper-meyer.pdf
- http://archiv.infsec.ethz.ch/education/fs08/secsem/bleichenbacher98.pdf
- https://www.cert.org/historical/advisories/CA-1998-07.cfm
- https://tools.ietf.org/html/rfc5246#section-7.4.7.1
- http://cwe.mitre.org/data/definitions/203.html
Acknowledgements
Thanks to Hanno Boeck, Juraj Somorovsky of Ruhr-Universität Bochum / Hackmanit GmbH, and Craig Young of Tripwire VERT for reporting this vulnerability.
This document was written by Garret Wassermann.
Other Information
CVE IDs: | CVE-2017-6168, CVE-2017-1000385, CVE-2017-17427, CVE-2017-13098, CVE-2017-13099, CVE-2017-17428, CVE-2017-17382, CVE-2012-5081, CVE-2016-6883 |
Date Public: | 2017-12-12 |
Date First Published: | 2017-12-12 |
Date Last Updated: | 2018-04-09 17:19 UTC |
Document Revision: | 102 |