New OpenSSL remote vulnerability (issue date 2003/10/02)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
======================================================================
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 RedHat. 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 RedHat distributions up to version 8.0 including.
RedHat published patch on 2003/09/30 silently without issuing warning
about existence of vulnerability. RedHat 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 RedHat 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:
http://www.openssl.org/
OpenSSL vulnerability announced on 2002/07/30:
http://www.openssl.org/news/secadv_20020730.txt
This security advisory:
http://www.ebitech.sk/patrik/SA/SA-20031002.txt
Contact
- -------
Patrik Hornik
- --
Security Consultant
Email: patrik.hornik@xxxxxxxxxx
Phone: +421 905 385 666
PGP KeyID: DFA5BC67
-----BEGIN PGP SIGNATURE-----
Version: PGP 6.0.2i
iQA/AwUBP3vPZCTdn3LfpbxnEQLzGACfdijq9XR5t6xZOD5DVpppRALzx9AAn2rn
YSRmV1AzKuatK5UMEJVuJDJM
=ajOd
-----END PGP SIGNATURE-----