Updated: NetBSD Security Advisory 2010-002: OpenSSL TLS renegotiation man in the middle vulnerability

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: NetBSD Security Officer
Date: Tuesday, February 2, 2010 - 12:04 pm

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


		 NetBSD Security Advisory 2010-002
		 =================================

Topic:		OpenSSL TLS renegotiation man in the middle vulnerability


Version:	NetBSD-current:		affected prior to 2009-12-04
		NetBSD 5.0:		affected
		NetBSD 4.0.*:		affected
		NetBSD 4.0:		affected
		pkgsrc:			openssl package prior to 0.9.8l


Severity:	Information disclosure


Fixed:		NetBSD-current:		Dec 03, 2009
		NetBSD-5-0 branch:	Jan 12, 2010
		NetBSD-5 branch:	Jan 12, 2010
		NetBSD-4-0 branch:	Jan 12, 2010
		NetBSD-4 branch:	Jan 12, 2010
		pkgsrc 2009Q4:		openssl-0.9.8l corrects this issue

Please note that NetBSD releases prior to 4.0 are no longer supported.
It is recommended that all users upgrade to a supported release.



Abstract
========

An error in the OpenSSL TLS session renegotiation allows a remote
attacker to intercept communication and conduct a Man-in-the-Middle
attack on TLS sessions.

This vulnerability has been assigned CVE-2009-3555 and CERT
Vulnerability Note VU#120541.


Technical Details
=================

A design problem exists in the renegotiation feature for TLS sessions as
implemented by the version of OpenSSL shipped with NetBSD.  As session
renegotiation handshakes are not properly associated with an existing
connection, an unauthenticated attacker can initiate a renegotiation in
order to allow a man-in-the-middle attack, which may allow the attacker
to inject plaintext into the communication.


Solutions and Workarounds
=========================

The solution to this problem is to disable TLS session renegotiation for
now by applying the provided patches or updating NetBSD to a version
including the fix.

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 2009-12-04
	should be upgraded to NetBSD-current dated 2009-12-04 or later.

	The following files/directories need to be updated from the
	netbsd-current CVS branch (aka HEAD):
		crypto/external/bsd/openssl/dist/ssl/s3_lib.c
		crypto/external/bsd/openssl/dist/ssl/s3_pkt.c
		crypto/external/bsd/openssl/dist/ssl/s3_srvr.c
		crypto/external/bsd/openssl/dist/ssl/ssl_locl.h

	To update from CVS, re-build, and re-install OpenSSL:
		# cd src
		# cvs update -d -P crypto/external/bsd/openssl/dist/ssl
		# cd lib/libcrypt
		# make USETOOLS=no cleandir dependall
		# make USETOOLS=no install
		# cd ../../crypto/external/bsd/openssl/lib/libcrypto
		# make USETOOLS=no cleandir dependall
		# make USETOOLS=no install
		# cd ../libssl
		# make USETOOLS=no cleandir dependall
		# make USETOOLS=no install

* NetBSD 5.*:

	Systems running NetBSD 5.* sources dated from before
	2010-01-12 09:30 UTC should be upgraded from NetBSD 5.* sources
	dated 2010-01-12 09:30 UTC or later.

	The following files/directories need to be updated from the
	netbsd-5 or netbsd-5-0 branches:
		crypto/dist/openssl/ssl/s3_lib.c
		crypto/dist/openssl/ssl/s3_pkt.c
		crypto/dist/openssl/ssl/s3_srvr.c
		crypto/dist/openssl/ssl/ssl_locl.h

	To update from CVS, re-build, and re-install OpenSSL:

		# cd src
		# cvs update -r <branch_name> -d -P crypto/dist/openssl/ssl
		# cd lib/libcrypt
		# make USETOOLS=no cleandir dependall
		# make USETOOLS=no install
		# cd ../libcrypto
		# make USETOOLS=no cleandir dependall
		# make USETOOLS=no install
		# cd ../libssl
		# make USETOOLS=no cleandir dependall
		# make USETOOLS=no install

* NetBSD 4.*:

	Systems running NetBSD 4.* sources dated from before
	2010-01-12 09:30 UTC should be upgraded from NetBSD 4.* sources
	dated 2010-01-12 09:30 UTC or later.

	The following files/directories need to be updated from the
	netbsd-4 or netbsd-4-0 branches:
		crypto/dist/openssl/ssl/s3_lib.c
		crypto/dist/openssl/ssl/s3_pkt.c
		crypto/dist/openssl/ssl/s3_srvr.c
		crypto/dist/openssl/ssl/ssl_locl.h

	To update from CVS, re-build, and re-install OpenSSL:

		# cd src
		# cvs update -r <branch_name> -d -P crypto/dist/openssl/ssl
		# cd lib/libcrypt
		# make USETOOLS=no cleandir dependall
		# make USETOOLS=no install
		# cd ../libcrypto
		# make USETOOLS=no cleandir dependall
		# make USETOOLS=no install
		# cd ../libssl
		# make USETOOLS=no cleandir dependall
		# make USETOOLS=no install


Thanks To
=========

Marsh Ray, PhoneFactor and Martin Rex for discovering and reporting the issue,
and Christos Zoulas for fixing it.


Revision History
================

	2010-01-12	Initial release
	2010-01-15	Fixed build instructions
	2010-01-23	Fixed build instructions for HEAD again


More Information
================

Advisories may be updated as new information becomes available.
The most recent version of this advisory (PGP signed) can be found at 
  http://ftp.NetBSD.org/pub/NetBSD/security/advisories/NetBSD-SA2010-002.txt.asc

Information about NetBSD and NetBSD security can be found at
http://www.NetBSD.org/ and http://www.NetBSD.org/Security/.

Copyright 2010, The NetBSD Foundation, Inc.  All Rights Reserved.
Redistribution permitted only in full, unmodified form.

$NetBSD: NetBSD-SA2010-002.txt,v 1.4 2010/01/23 14:43:50 tonnerre Exp $

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (NetBSD)

iQIcBAEBAgAGBQJLWw3iAAoJEAZJc6xMSnBuCeMP/RrlI7CXqffUkYmMvzeae9Nw
PxGIuh+mUOQNqZFH9Nk3jGbnu/XbSLI+zzEXfpQq9yhIQoX4CWLthezfzH/DG/nj
GndTlk3rzw90FXqKVgefZaO+rAAgiliNyld9/eCRldop3jy+18vfyToFtAO7gSNi
UTcL/2WDLSK8+TLjBiGHTftDolKNKRfIu0Eo5V5AP0UrkpZ7EyV6GQPLRy4896Ub
ThIXM5xgFDv4PzCwIpkfLVZdgrHVwN6nzRnC8eoGLPkV4zFbOT5CZ/wXg7GbQChA
4PCFgc0FC4m2jdNuqUMXLa3THlPlWrXE+uXBKjnO1JKyitAgrn5bEPDY/BVr9L5n
5IJdanNZmQQljtCx3G4MsP8ozqFXTP20f4XiaEnJg3uJ76RzLK58Bt+G41lEXDuf
5ZBFkpSqiv9oPoz/AYZU4qOcSoQLW5BAV4nW4lDRUEYUBILPFhyt2HXnxoBfJpjk
VBeqMKRx90jC/vkRuv7QA9sIeMCJjwvaA1DwhAw9P+gLpSPxjp/inOE0P/1wFhq3
JIMjRZnBihCwQVH+Jn3gJ5u9zYheFrRUZarxvsyUHEyeObmP5Up0TaUGG1SU4yoE
iLLh32CxTAhXcwDcbMvx06jgS0K93eJk44fUoVmZ4LlxVC0bVWsfbiw3fSWdBhEP
xgD+Oxw9QYi9pci5dDcO
=gbh2
-----END PGP SIGNATURE-----
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
ftp.netbsd.org downtime Sat, June 29, 9am Pacific time, Michael Graff, (Fri Jun 28, 1:02 am)
New Developers, grant beattie, (Sat May 31, 8:34 am)
New Developers, Jan Schaumann, (Sun Feb 1, 12:12 pm)
Announcing the pkgsrc-2004Q4 Branch, Alistair Crooks, (Tue Dec 21, 10:35 am)
Regular daily builds, James Chacon, (Mon May 2, 10:31 am)
NetBSD Security Advisory 2005-002: Local DoS via audio dev ..., NetBSD Security-Officer, (Thu Jun 30, 3:12 pm)
New NetBSD Core Team, Alistair Crooks, (Tue Aug 2, 11:10 pm)
Explanation of branches for NetBSD releases, James Chacon, (Sun Oct 30, 7:39 pm)
NetBSD Security Advisory 2006-005: bridge memory disclosure, NetBSD Security-Officer, (Wed Mar 29, 6:31 pm)
NetBSD Security Advisory 2006-013: sysctl(3) local denial ..., NetBSD Security-Officer, (Wed Apr 12, 7:34 pm)
Announcing the pkgsrc-2006Q2 Release, Alistair Crooks, (Sun Jul 2, 6:27 am)
NetBSD Security Advisory 2007-006: Local panics in display ..., NetBSD Security-Officer, (Thu Sep 13, 2:56 pm)
NetBSD Security Advisory 2008-002: Endianness issue in fas ..., NetBSD Security-Officer, (Thu Feb 28, 4:36 pm)
Summer of Code applications period started, Jan Schaumann, (Mon Mar 24, 10:21 pm)
NetBSD Security Advisory 2008-009: BIND cache poisoning, NetBSD Security-Officer, (Thu Jul 24, 5:15 pm)
NetBSD Security Advisory 2008-012: Denial of service issue ..., NetBSD Security-Officer, (Mon Sep 15, 2:03 pm)
Preparing for Summer of Code 2009, Jan Schaumann, (Mon Feb 2, 9:17 am)
Announcing the NetBSD Project Blog, Mark Weinem, (Sun Apr 26, 3:09 pm)
NetBSD Security Advisory 2009-005: Plaintext Recovery Atta ..., NetBSD Security Officer, (Tue Jul 14, 2:33 pm)
Updated: NetBSD Security Advisory 2010-002: OpenSSL TLS re ..., NetBSD Security Officer, (Tue Feb 2, 12:04 pm)