-----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-----