OpenSSL (see openssl(5)) May Allow an Agent to Force a Rollback to a Cryptographically Weak Protocol Version |
|
| Category : | Security |
| Release Phase : | Resolved |
| Product : | Solaris 10 Operating System
|
| Bug Id : | 6332476
|
| Date of Workaround Release : | 11-OCT-2005
|
| Date of Resolved Release : | 29-NOV-2005
|
Impact
A vulnerability in the OpenSSL (see openssl(5)) toolkit may allow active protocol-version rollback attacks, where 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.
This issue is described in the following OpenSSL Advisory: http://www.openssl.org/news/secadv_20051011.txt
and referenced in CAN-2005-2969 at: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CAN-2005-2969
Contributing Factors
This issue can occur in the following releases:
SPARC Platform
x86 Platform
Note: Solaris 8 and 9 do not include OpenSSL toolkit, and therefore are not vulnerable to this issue.
Applications that use the option SSL_OP_MSIE_SSLV2_RSA_PADDING (see SSL_CTX_set_options(3)) are affected. 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 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.
Symptoms
There are no reliable symptoms that would indicate the described issue has been exploited.
Workaround
To work around the described issue:
If Apache or Apache2 in Solaris 10 are configured with SSL service on port 443 (https), the following command can be used to check if the SSL 2.0 protocol is enabled at the server:
$ /usr/sfw/bin/openssl s_client -ssl2 -connect <hostname>:443 -state -debug
If the above command produces output, then SSLv2 is enabled and can be disabled in the Apache and Apache2 web servers as follows:
1. As a privileged user, edit the following file:
Apache: /etc/apache/httpd.conf
Apache2: /etc/apache2/ssl.conf
2. Modify the line which begins with:
SSLCipherSuite
to change the string '+SSLv2' to '!SSLv2'.
3. Restart the Apache web server:
Apache: # /usr/apache/bin/apachectl restart
Apache2: svcadm restart apache2
Resolution
This issue is addressed in the following releases:
SPARC Platform
x86 Platform
Modification HistoryDate: 14-OCT-2005
14-Oct-2005:
- Updated Relief/Workaround
Date: 29-NOV-2005
29-Nov-2005:
- Updated Contributing Factors and Resolution sections, re-release as Resolved
AttachmentsThis solution has no attachment