OpenSSL Security Advisory [11 October 2005]
Potential SSL 2.0 Rollback (CAN-2005-2969)
==========================================
CONTENTS
- Vulnerability
- Recommendations
- Acknowledgement
- References
Vulnerability
-------------
A vulnerability has been found in all previously released versions of
OpenSSL (all versions up to 0.9.7h and 0.9.8a). Versions 0.9.7h and
0.9.8a have been released to address the issue. The vulnerability
potentially affects applications that use the SSL/TLS server
implementation provided by OpenSSL.
Such applications are affected if they use the option
SSL_OP_MSIE_SSLV2_RSA_PADDING. This option is implied by use of
SSL_OP_ALL, which is intended to work around various bugs in
third-party software that might prevent interoperability. The
SSL_OP_MSIE_SSLV2_RSA_PADDING option disables a verification step in
the SSL 2.0 server supposed to prevent active protocol-version
rollback attacks. With this verification step disabled, an attacker
acting as a "man in the middle" can force a client and a server to
negotiate the SSL 2.0 protocol even if these parties both support SSL
3.0 or TLS 1.0. The SSL 2.0 protocol is known to have severe
cryptographic weaknesses and is supported as a fallback only.
Applications using neither SSL_OP_MSIE_SSLV2_RSA_PADDING nor
SSL_OP_ALL are not affected. Also, applications that disable
use of SSL 2.0 are not affected.
The Common Vulnerabilities and Exposures project (cve.mitre.org) has
assigned the name CAN-2005-2969 to this issue.
Recommendations
---------------
There are multiple ways to avoid this vulnerability. Any one of the
following measures is sufficient.
1. Disable SSL 2.0 in the OpenSSL-based application.
The vulnerability occurs only if the old protocol version SSL 2.0
is enabled both in an OpenSSL server and in any of the clients
(OpenSSL-based or not) connecting to it. Thus, if you have
disabled SSL 2.0, the vulnerability does not apply to you.
Generally, it is strongly recommended to disable the SSL 2.0
protocol because of its known weaknesses.
2. Upgrade the OpenSSL server software.
The vulnerability is resolved in the following versions of OpenSSL:
- in the 0.9.7 branch, version 0.9.7h (or later);
- in the 0.9.8 branch, version 0.9.8a (or later).
OpenSSL 0.9.8a and OpenSSL 0.9.7h are available for download via
HTTP and FTP from the following master locations (you can find the
various FTP mirrors under https://www.openssl.org/source/mirror.html):
o https://www.openssl.org/source/
o ftp://ftp.openssl.org/source/
The distribution file names are:
o openssl-0.9.8a.tar.gz
MD5 checksum: 1d16c727c10185e4d694f87f5e424ee1
SHA1 checksum: 2aaba0f728179370fb3e86b43209205bc6c06a3a
o openssl-0.9.7h.tar.gz
MD5 checksum: 8dc90a113eb8925795071fbe52b2932c
SHA1 checksum: 9fe535fce89af967b29c4727dedd25f2b4cc2f0d
The checksums were calculated using the following commands:
openssl md5 openssl-0.9*.tar.gz
openssl sha1 openssl-0.9*.tar.gz
If this version upgrade is not an option at the present time,
alternatively the following patch may be applied to the OpenSSL
source code to resolve the problem. The patch is compatible with
the 0.9.6, 0.9.7, and 0.9.8 branches of OpenSSL.
o https://www.openssl.org/news/patch-CAN-2005-2969.txt
Whether you choose to upgrade to a new version or to apply the
patch, make sure to recompile any applications statically linked
to OpenSSL libraries if these applications use the OpenSSL
SSL/TLS server implementation.
Acknowledgement
---------------
The OpenSSL team thank Yutaka Oiwa of the Research Center for
Information Security, National Institute of Advanced Industrial
Science and Technology (AIST), Japan, for alerting us about this
problem.
References
----------
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-2969
URL for this Security Advisory:
https://www.openssl.org/news/secadv_20051011.txt