Mr. Hornik discovered remote vulnerability in OpenSSL package provided by RedHat. Because of nature of this bug some other vendors can be vulnerable too. This vulnerability is inside SSLv2 server code and allows . . .
Mr. Hornik discovered remote vulnerability in OpenSSL package provided by Red Hat. Because of nature of this bug some other vendors can be vulnerable too. This vulnerability is inside SSLv2 server code and allows killing remote process running OpenSSL library as SSL server, resulting in DoS.
From: Patrik Hornik <patrik.hornik@ebitech.sk>
To: lt;bugtraq@securityfocus.com>
Date: Thu, 2 Oct 2003 10:10:19 +0200
Subject: New OpenSSL remote vulnerability (issue date 2003/10/02)

======================================================================
Security advisory 20031002
- ----------------------------------------------------------------------
Product: openssl
Issue date: 2003/10/02
Last updated: 2003/10/02
======================================================================

OpenSSL remote vulnerability
============================

Mr. Hornik discovered remote vulnerability in OpenSSL package provided by Red Hat. Because of nature of this bug some other vendors can be vulnerable too. This vulnerability is inside SSLv2 server code and allows killing remote process running OpenSSL library as SSL server, resulting in DoS.

The vulnerability is different from one found in SSLv2 OpenSSL server announced on 2002/07/30.

Vulnerability
- -------------

By constructing special SSLv2 CLIENT_MASTER_KEY message the following execution path can be obtained - we are reffering to source lines from openssl-0.9.6b-32.7.src.rpm from RH 7.3.

When:
i, negotated cipher is some export cipher, for example EXP-RC4-MD5
ii, length of the clear is increased for example by 64 (see below)

Then this execution path happens: 1, on ssl/s2_srvr.c:419 condition is_export && (s->s2->tmp.clear+i !=
EVP_CIPHER_key_length(c)) becomes true because of i, and ii,
2, on ssl/s2_srvr.c:424 i is "fixed", but tmp.clear stays unchanged
3, on ssl/s2_srvr.c:450 because is_export is true integer variable i
is increased by big enough value (ii,)
4, on ssl/s2_srvr.c:451 die causes abort of the process leading to DoS

Who is affected?
- ----------------

Affected are all Red Hat distributions up to version 8.0 including. Red Hat published patch on 2003/09/30 silently without issuing warning about existence of vulnerability. Red Hat announced the patch in its advisory RHSA-2003:291-11.

openssl.org sources starting with version 0.9.6f and distribution packages based on these versions are not vulnerable, because OpenSSL starting from 0.9.6f are avoiding using die() call because of its potential risk.

Recommendations
- ---------------

We recommend to upgrade openssl package to the version issued on 2003/09/30 and after in all Red Hat distributions up to 8.0. Until the new version will be installed we recommend to disable SSLv2 functionality whenever it is possible. (In Apache + mod_ssl for example it is enabled by default and it can be disabled, please refer to mod_ssl documentation.)

References
- ----------

OpenSSL project: /index.html

OpenSSL vulnerability announced on 2002/07/30:

This security advisory: 31002.txt

Contact
- -------

Patrik Hornik
- --
Security Consultant