SkipNavigation
US-CERT
American Flag
  Vulnerability
Notes
Database

Search Vulnerability Notes

Vulnerability Notes Help Information


 
 View Notes By
  Name

ID Number

CVE Name

Date Public

Date Published

Date Updated

Severity Metric



 Other Documents
  Technical Alerts

Technical Bulletins

Alerts

Security Tips

 

Vulnerability Note VU#888801

SSL/TLS implementations disclose side channel information via PKCS #1 v1.5 version number extension

Overview

SSL/TLS implementations that respond distinctively to an incorrect PKCS #1 v1.5 encoded SSL/TLS version number expose the premaster secret to a modified Bleichenbacher attack. An attacker could decrypt a given SSL/TLS session or forge a signature on behalf of a vulnerable application's private RSA key.

I. Description

Vlastimil Klíma, Ondřej Pokorný, and Tomáš Rosa have published a research paper describing a modified Bleichenbacher attack against RSA-based SSL/TLS applications. As in Bleichenbacher, the new attack uses side channel information from error messages and seeks to discover the premaster secret that is used as a basis for SSL/TLS session keys.

The Bleichenbacher attack (CA-1998-07) is computationally feasible against RSA-based applications that use Public-Key Cryptography Standard (PKCS) #1 v1.5 and return distinctive errors when the premaster secret in the Client hello message is not properly formatted. By sending a large number of chosen ciphertexts (premaster secrets) and monitoring the applications' responses, an attacker can discover the correct premaster secret for a given SSL/TLS session. With the premaster secret for a previously captured SSL/TLS session, the attacker can generate the correct master secret and session keys and decrypt the captured session. For more information about the Bleichenbacher attack, see Chosen Ciphertext Attacks Against Protocols Based on the RSA Encryption Standard PKCS #1, RSA Laboratories Bulletin Number 7, and CERT Advisory CA-1998-07.

A widely accepted defense against the Bleichenbacher attack is for an RSA/PKCS #1 application to discard a malformed premaster secret, replace it with a random value, and proceed to generate a master secret and session keys. Since the client and server use different values for the premaster secret, they will generate different session keys, and the SSL/TLS session will fail. Note that the server must not provide a response that is distinguishable based on syntax (i.e. "Bad PKCS #1 format") or time (i.e. sending an error message immediately after discovering that the premaster secret is malformed).

The Klíma-Pokorný-Rosa attack exploits server responses to an incorrect or unexpected SSL/TLS version number that is included as part of the premaster secret (RFC 2246 section 7.4.7.1). If a server decrypts a properly formatted PKCS #1 premaster secret and discovers that the SSL/TLS version number is not what was expected, the server may immediately send an error message ("Bad SSL/TLS version number"). The authors term a server that exhibits this behavior a "bad version oracle (BVO)." Instead of using an error response to improper PKCS #1 formatting, this new attack uses an error response to an incorrect SSL/TLS version number. Klíma-Pokorný-Rosa have also introduced some optimizations to the Bleichenbacher attack, partly due to the SSL/TLS standard only using a subset of the PKCS #1 v1.5 format (section 3.2). This allows an attacker to search less space for the correct premaster secret.

This attack is feasible using widely available hardware. Under ideal laboratory conditions (100Mbps closed network, unloaded server with 2 X Pentium III 1.4GHz CPUs and 1 GB of RAM, Red Hat Linux 7.2, Apache 1.3.27/mod_ssl), the median time required for a successful attack is around 54.7 hours (~13 million guesses).

Since the SSL/TLS version number is a protocol-specific extension of the PKCS #1 format, other applications that use RSA/PKCS #1 to exchange keying information are not vulnerable to this attack. In particular, SSH1 using RSA only encrypts a session key. No version or other information is included. IKE authenticated with public key encryption is further protected by an ephemeral Diffe-Hellman exchange. For specific vendor information, see the Systems Affected section below.

II. Impact

An attacker who is able to capture an encrypted SSL/TLS session and query the server while it is using the same private RSA key that was used for the captured session could decrypt the captured session. An attacker could also forge a signature that appeared to be from the server (section 3.4).

III. Solution

Upgrade or Patch

    Upgrade or apply a patch as specified by your vendor. In order to defeat this specific attack, an SSL/TLS server must not respond distinctively when a premaster secret sent by the client contains an incorrect or unexpected SSL/TLS version number. The paper recommends that an SSL/TLS server always replace the client-provided version number with the expected version number as determined from either the Client hello or Server hello messages (section 6.2).
Manage private keys
    Use different private keys for different applications and servers and change keys as appropriate for your site and security policy. An attacker cannot decrypt a premaster secret encrypted with one RSA key by querying a server that uses a different key.
Monitor SSL/TLS applications and servers
    Monitor RSA applications and servers for signs of attack. In the case of an attack against SSL/TLS web servers, logs may show a relatively high number of network connections and failed attempts to establish SSL/TLS sessions. Depending on baseline performance, servers may show increased CPU usage or an above average number of network connections.

Systems Affected

VendorStatusDate Updated
3ComUnknown22-Apr-2003
AlcatelUnknown22-Apr-2003
ApacheUnknown22-Apr-2003
Apache-SSLUnknown22-Apr-2003
Apple Computer Inc.Vulnerable22-Apr-2003
AT&TUnknown22-Apr-2003
AvayaUnknown22-Apr-2003
BitviseNot Vulnerable22-Apr-2003
BlueCat NetworksUnknown22-Apr-2003
BorderWareUnknown22-Apr-2003
Check PointUnknown22-Apr-2003
Cisco Systems Inc.Unknown22-Apr-2003
ClavisterNot Vulnerable23-May-2003
Computer AssociatesUnknown22-Apr-2003
ConectivaVulnerable22-Apr-2003
CovalentNot Vulnerable22-Apr-2003
Cray Inc.Unknown22-Apr-2003
CryptlibNot Vulnerable28-Apr-2003
Crypto++Unknown22-Apr-2003
D-Link SystemsUnknown22-Apr-2003
Data GeneralUnknown22-Apr-2003
DebianVulnerable22-Apr-2003
djbdnsNot Vulnerable22-Apr-2003
EntrustUnknown22-Apr-2003
eSoftVulnerable2-Jun-2003
Extreme NetworksUnknown22-Apr-2003
F-SecureUnknown22-Apr-2003
F5 NetworksVulnerable18-Apr-2003
Foundry Networks Inc.Unknown22-Apr-2003
FreeBSDVulnerable22-Apr-2003
FreeS/WANUnknown22-Apr-2003
FreSSHNot Vulnerable22-Apr-2003
FujitsuNot Vulnerable2-Jun-2003
Gentoo LinuxVulnerable22-Apr-2003
Global Technology AssociatesUnknown22-Apr-2003
GNU adnsNot Vulnerable22-Apr-2003
GNU glibcNot Vulnerable22-Apr-2003
GNU LibgcryptNot Vulnerable22-Apr-2003
GNU TLSVulnerable22-Apr-2003
Guardian Digital Inc. Vulnerable22-Apr-2003
Hewlett-Packard CompanyVulnerable29-Apr-2003
HitachiNot Vulnerable21-May-2003
IBMVulnerable17-Jun-2003
InfoBloxUnknown22-Apr-2003
Ingrian NetworksVulnerable22-Apr-2003
IntelUnknown22-Apr-2003
Internet Initiative Japan (IIJ)Unknown22-Apr-2003
InterpeakUnknown22-Apr-2003
Intersoft International Inc.Unknown22-Apr-2003
IntotoUnknown22-Apr-2003
IP FilterNot Vulnerable22-Apr-2003
ISCUnknown22-Apr-2003
Juniper NetworksUnknown22-Apr-2003
KAME ProjectNot Vulnerable22-Apr-2003
Lotus SoftwareUnknown22-Apr-2003
lshNot Vulnerable22-Apr-2003
Lucent TechnologiesUnknown22-Apr-2003
MacSSHNot Vulnerable22-Apr-2003
MandrakeSoftUnknown22-Apr-2003
Massachusetts Institute of Technology (MIT)Unknown22-Apr-2003
Men&MiceUnknown22-Apr-2003
MetaSolv Software Inc.Unknown22-Apr-2003
Microsoft CorporationUnknown22-Apr-2003
MirapointVulnerable22-Apr-2003
mod_sslVulnerable22-Apr-2003
MontaVista SoftwareUnknown22-Apr-2003
Multi-Tech Systems Inc.Unknown22-Apr-2003
MultiNetUnknown22-Apr-2003
National Center for Supercomputing Applications (NCSA)Unknown22-Apr-2003
National Institute of Standards and Technology (NIST)Unknown22-Apr-2003
NEC CorporationUnknown22-Apr-2003
NetBSDVulnerable21-Apr-2003
NetcompositeUnknown22-Apr-2003
NetfilterNot Vulnerable22-Apr-2003
NetScreenUnknown22-Apr-2003
Network ApplianceUnknown22-Apr-2003
Network AssociatesUnknown22-Apr-2003
NixuUnknown22-Apr-2003
NokiaUnknown22-Apr-2003
NominumUnknown22-Apr-2003
Nortel NetworksUnknown22-Apr-2003
NovellUnknown22-Apr-2003
OpenBSDVulnerable22-Apr-2003
OpenPKGVulnerable22-Apr-2003
OpenSSHNot Vulnerable22-Apr-2003
OpenSSLVulnerable22-Apr-2003
Openwall GNU/*/LinuxUnknown22-Apr-2003
Oracle CorporationUnknown22-Apr-2003
Pragma SystemsUnknown22-Apr-2003
PuTTYNot Vulnerable22-Apr-2003
Red Hat Inc.Vulnerable18-Apr-2003
Redback Networks Inc.Unknown22-Apr-2003
Riverstone NetworksUnknown22-Apr-2003
RSA SecurityNot Vulnerable21-May-2003
SafeNetUnknown22-Apr-2003
Secure Computing CorporationUnknown22-Apr-2003
SecureWorxUnknown22-Apr-2003
SequentUnknown22-Apr-2003
SGIVulnerable15-May-2003
ShadowSupportUnknown22-Apr-2003
Sony CorporationUnknown22-Apr-2003
Sorceror LinuxVulnerable22-Apr-2003
SSH Communications SecurityVulnerable23-May-2003
StonesoftVulnerable2-Jun-2003
Sun Microsystems Inc.Unknown22-Apr-2003
SuSE Inc.Vulnerable22-Apr-2003
Symantec CorporationUnknown22-Apr-2003
The SCO GroupUnknown22-Apr-2003
Threshold NetworksUnknown22-Apr-2003
Trustix Secure LinuxVulnerable22-Apr-2003
TTSSH/TeraTermNot Vulnerable22-Apr-2003
UnisysUnknown22-Apr-2003
VanDyke Software Inc.Not Vulnerable27-May-2003
WatchGuardUnknown22-Apr-2003
Wind River Systems Inc.Unknown22-Apr-2003
WinSCPNot Vulnerable22-Apr-2003
WirexVulnerable18-Apr-2003
ZyXELUnknown22-Apr-2003

References

CA-1998-07: <http://www.cert.org/advisories/CA-1998-07.html>
VU#997481: <http://www.kb.cert.org/vuls/id/997481>
http://eprint.iacr.org/2003/052/
http://www.i.cz/en/onas/tisk7.html
http://www.i.cz/en/onas/tisk8.html
http://www.openssl.org/news/secadv_20030319.txt
http://www.ietf.org/rfc/rfc2246.txt
http://link.springer.de/link/service/series/0558/papers/1462/14620001.pdf
http://www.rsasecurity.com/rsalabs/pkcs1/qa.html
ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1.pdf
ftp://ftp.rsasecurity.com/pub/pkcs/ascii/pkcs-1v2.asc
ftp://ftp.rsasecurity.com/pub/pkcs/ascii/pkcs-1.asc
ftp://ftp.rsasecurity.com/pub/pdfs/bulletn7.pdf
http://www.ietf.org/rfc/rfc2408.txt
http://www.ietf.org/rfc/rfc2409.txt

Credit

This vulnerability was researched and documented by Vlastimil Klíma, Ondřej Pokorný, and Tomáš Rosa.

This document was written by Art Manion.

Other Information

Date Public03/19/2003
Date First Published04/22/2003 08:20:56 PM
Date Last Updated08/25/2004
CERT Advisory 
CVE NameCAN-2003-0131
US-CERT Technical Alerts 
Metric4.05
Document Revision49

If you have feedback, comments, or additional information about this vulnerability, please send us email.
 

 
Page Corner Image
Copyright 2003 Carnegie Mellon University
Disclaimers and copyright information
Get Adobe Reader Get Adobe Reader