Subject: NetBSD Security Advisory 2005-010: OpenSSL "man in the middle" can force weak protocol
To: None <tech-security@NetBSD.org, current-users@NetBSD.org>
From: NetBSD Security-Officer <security-officer@netbsd.org>
List: current-users
Date: 11/08/2005 09:59:26
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
NetBSD Security Advisory 2005-010
=================================
Topic: OpenSSL "man in the middle" can force weak protocol
Version: NetBSD-current: source prior to October 11, 2005
NetBSD 2.1: not affected
NetBSD 2.0.3: not affected
NetBSD 2.0.2: affected
NetBSD 2.0: affected
NetBSD 1.6.*: affected
pkgsrc: openssl packages prior to 0.9.7h
Severity: information leak due to false sense of security
Fixed: NetBSD-current: October 11, 2005
NetBSD-3 branch: October 11, 2005
(3.0 will include the fix)
NetBSD-2.0 branch: October 11, 2005
(2.0.3 includes the fix)
NetBSD-2 branch: October 11, 2005
(2.1 includes the fix)
NetBSD-1.6 branch: October 11, 2005
(1.6.3 will include the fix)
pkgsrc: openssl-0.9.7h corrects this issue
Abstract
========
A vulnerability in OpenSSL allowed a malicious man-in-the-middle to force
two endpoints of an SSL connection to negotiate using SSL 2.0, which is
known to have severe cryptographic weaknesses.
This vulnerability has been assigned CVE reference CAN-2005-2969.
Technical Details
=================
OpenSSL has an option SSL_OP_MSIE_SSLV2_RSA_PADDING to work around
various bugs in third-party software that might prevent
interoperability with OpenSSL. This option is implied by the use of
SSL_OP_ALL.
The said option disables a verification step in the SSL 2.0 server
supposed to prevent active protocol-version rollback attacks; such
attacks force the use of weaker protocols.
With this verification step disabled, a man-in-the-middle can force a
client and a server to negotiate the SSL 2.0 protocol, even if both
parties support SSL 3.0 or TLS 1.0.
Solutions and Workarounds
=========================
A workaround is to completely disable SSL 2.0 in any application that
uses OpenSSL.
It is recommended that NetBSD users of vulnerable versions update
their binaries.
The following instructions describe how to upgrade your OpenSSL
binaries by updating your source tree and rebuilding and
installing a new version of OpenSSL.
* NetBSD-current:
Systems running NetBSD-current dated from before 2005-10-11
should be upgraded to NetBSD-current dated 2005-10-12 or later.
The following files need to be updated from the
netbsd-current CVS branch (aka HEAD):
crypto/dist/openssl/ssl/s23_srvr.c
crypto/dist/openssl/crypto/opensslv.h
To update from CVS, re-build, and re-install OpenSSL:
# cd src
# cvs update -d -P crypto/dist/openssl/ssl/s23_srvr.c
# cvs update -d -P crypto/dist/openssl/crypto/opensslv.h
# cd lib/libcrypto
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
* NetBSD 2.*:
The binary distribution of NetBSD 2.0 is vulnerable.
Systems running NetBSD 2.0 sources dated from before
2005-10-11 should be upgraded from NetBSD 2.0 sources dated
2005-10-12 or later.
NetBSD 2.1 and 2.0.3 include the fix.
The following files need to be updated from the
netbsd-2 CVS branch:
crypto/dist/openssl/ssl/s23_srvr.c
crypto/dist/openssl/crypto/opensslv.h
To update from CVS, re-build, and re-install OpenSSL:
# cd src
# cvs update -d -P -r netbsd-2 crypto/dist/openssl/ssl/s23_srvr.c
# cvs update -d -P -r netbsd-2 crypto/dist/openssl/crypto/opensslv.h
# cd lib/libcrypto
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
* NetBSD 1.6.*:
The binary distributions of NetBSD 1.6, 1.6.1, and 1.6.2 are vulnerable.
Systems running NetBSD 1.6 sources dated from before
2005-10-11 should be upgraded from NetBSD 1.6 sources dated
2005-10-12 or later.
NetBSD 1.6.3 will include the fix.
The following files need to be updated from the
netbsd-1-6 CVS branch:
crypto/dist/openssl/ssl/s23_srvr.c
crypto/dist/openssl/crypto/opensslv.h
To update from CVS, re-build, and re-install OpenSSL:
# cd src
# cvs update -d -P -r netbsd-1-6 crypto/dist/openssl/ssl/s23_srvr.c
# cvs update -d -P -r netbsd-1-6 crypto/dist/openssl/crypto/opensslv.h
# cd lib/libcrypto
# make USETOOLS=no cleandir dependall
# make USETOOLS=no install
Thanks To
=========
Thanks to Yutaka Oiwa for reporting this issue to the OpenSSL team.
Revision History
================
2005-10-31 Initial release
More Information
================
Advisories may be updated as new information becomes available.
The most recent version of this advisory (PGP signed) can be found at
ftp://ftp.NetBSD.org/pub/NetBSD/security/advisories/NetBSD-SA2005-010.txt.asc
Information about NetBSD and NetBSD security can be found at
http://www.NetBSD.org/ and http://www.NetBSD.org/Security/.
Copyright 2005, The NetBSD Foundation, Inc. All Rights Reserved.
Redistribution permitted only in full, unmodified form.
$NetBSD: NetBSD-SA2005-010.txt,v 1.5 2005/10/31 22:21:02 dan Exp $
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (NetBSD)
iQCVAwUBQ2fJ7j5Ru2/4N2IFAQJimQP/Z04xQK/iej+Hvzqu2wWjRTug9Hp608IJ
MtOck/ReIoRCGYMSsEVVBlH0nIZtdCK2scnjz4u2DWsZ8CCrGpy6tjR3TBib1zkZ
VcH2eEBc3GJk66/nnJB3+yAy/7ce1GRFtFBdcrAa5Jve4bYFIu0INsRKGOS36b4F
NaIdermbUrk=
=t3d8
-----END PGP SIGNATURE-----