Subject: NetBSD Security Advisory 2002-009: Multiple vulnerabilities in OpenSSL code
To: None <tech-security@netbsd.org, current-users@netbsd.org>
From: NetBSD Security Officer <security-officer@netbsd.org>
List: current-users
Date: 08/02/2002 09:57:28
-----BEGIN PGP SIGNED MESSAGE-----


		 NetBSD Security Advisory 2002-009
		 =================================

Topic:		Multiple vulnerabilities in OpenSSL code

Version:	NetBSD-current:	source prior to July 30, 2002
		NetBSD-1.6 beta: affected
		NetBSD-1.5.3:	affected
		NetBSD-1.5.2:	affected
		NetBSD-1.5.1:	affected
		NetBSD-1.5:	affected
		NetBSD-1.4.*:	not applicable
		pkgsrc:		prior to openssl-0.9.6e

Severity:	Potential for remote root exploit

Fixed:		NetBSD-current:		July 30, 2002
		NetBSD-1.6 branch:	not yet
		NetBSD-1.5 branch:	August 1, 2002 via point patch
					(1.5.4 will include the fix)
		pkgsrc:			not yet (will be openssl-0.9.6e
						 and later)


Abstract
========

There are multiple vulnerabilities found in openssl 0.9.6d and prior
releases.  There are four remotely-exploitable buffer overruns in SSL2/3
code.  The ASN1 parser can be confused by invalid encodings (SSL/TLS
code affected).

None of these services are enabled by default in NetBSD, however, by
enabling services built with these libraries, a system would become
vulnerable.

- From the OpenSSL advisory:

"Everyone using OpenSSL 0.9.6d or earlier, or 0.9.7-beta2 or earlier or
current development snapshots of 0.9.7 to provide SSL or TLS is
vulnerable, whether client or server. 0.9.6d servers on 32-bit systems
with SSL 2.0 disabled are not vulnerable."


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

http://www.openssl.org/news/secadv_20020730.txt


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

The following instructions describe how to upgrade your libcrypto/libssl
binaries by updating your source tree and rebuilding and
installing a new version of libcrypto/libssl.

* NetBSD-current:

	Systems running NetBSD-current dated from before 2002-07-29
	should be upgraded to NetBSD-current dated 2002-07-30 or later.

	The following directories need to be updated from the
	netbsd-current CVS branch (aka HEAD):
		crypto/Makefile.openssl
		crypto/dist/openssl
		lib/libcrypto
		lib/libssl

	To update from CVS, re-build, and re-install libcrypto and libssl:
		# cd src
		# cvs update -d -P crypto/Makefile.openssl crypto/dist/openssl \
			lib/libcrypto lib/libssl

		# cd lib/libcrypto
		# make cleandir dependall
		# make install
		# cd lib/libssl
		# make cleandir dependall
		# make install

	If you have any statically-linked binaries that linked against
	libcrypto and/or libssl, you need to recompile them.


* NetBSD 1.6 beta:

	The advisory will be updated to include instructions to remedy
	this problem for systems running NetBSD-1.6 branch.


* NetBSD 1.5, 1.5.1, 1.5.2, 1.5.3:

	NetBSD 1.5.3 was recently released. This is a reminder to
	consider upgrading if you are running anything older than
	NetBSD 1.5.3.  Many security-related improvements have been
	made.

        Systems running NetBSD 1.5.x dated from before 2002-08-01
        should be upgraded to NetBSD 1.5 tree dated 2002-08-02 or later.

	The following directories need to be updated from the
	netbsd-1-5 CVS branch:
		crypto/Makefile.openssl
		crypto/dist/openssl
		lib/libcrypto
		lib/libssl

	To update from CVS, re-build, and re-install libcrypto and libssl:
		# cd src
		# cvs update -d -P -r netbsd-1-5 crypto/Makefile.openssl \
			crypto/dist/openssl lib/libcrypto lib/libssl
		# cd lib/libcrypto
		# make cleandir dependall
		# make install
		# cd lib/libssl
		# make cleandir dependall
		# make install

	If you have any statically-linked binaries that linked against
	libcrypto and/or libssl, you need to recompile them.


* NetBSD 1.4, 1.4.1, 1.4.2, 1.4.3:

	OpenSSL was not included in the base system in NetBSD-1.4.*
	Follow the directions for pkgsrc if you have installed it from
	pkgsrc.


* pkgsrc:

	The updated packages will be available shortly. This advisory
	will be updated to reflect their availability.

	openssl-0.9.6nb2 (pkgsrc/security/openssl) and prior are
	vulnerable. Upgrade to openssl-0.9.6e or later.

	Packages which require openssl can be found by running 'pkg_info
	openssl'. Depending on the method you choose to update pkgsrc
	packages, a rebuild of the packages on that list may be
	performed for you by the package system. If you update using the
	experimental 'make replace' target, you will need to manually
	update any packages which build static binaries with libssl.a
	and libcrypto.a

        If you have statically linked binaries in pkgsrc, they have to be
        rebuilt.  Statically linked binaries can be identified by the
        following command (note: be sure to include the directory you install
        pkgsrc binaries to, if you've changed LOCALBASE from the default of
        /usr/pkg)

                file /usr/pkg/{bin,sbin,libexec} | grep static


Thanks To
=========

A.L. Digital Ltd and John McDonald of Neohapsis.
Adi Stav and James Yonan.
CERT and the OpenSSL team.

Jun-ichiro itojun Hagino for maintenance of OpenSSL in the NetBSD
source tree, and preparing the initial advisory text.

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

	2002-08-01	Initial release


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

An up-to-date PGP signed copy of this release will be maintained at
  ftp://ftp.netbsd.org/pub/NetBSD/security/advisories/NetBSD-SA2002-009.txt.asc

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


Copyright 2002, The NetBSD Foundation, Inc.  All Rights Reserved.

$NetBSD: NetBSD-SA2002-009.txt.asc,v 1.1 2002/08/01 18:05:26 david Exp $

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (NetBSD)
Comment: For info see http://www.gnupg.org

iQCVAwUBPUk5mj5Ru2/4N2IFAQHSKwQAsNUW26FBno45ApgV+9/N7vgkCJp92fgF
p3VxGWvsBKUUcNBXCfeAD/2hb9PVa0vV0qmvrDE7OSCpuRK1z627jzq9QFLJZ0BC
E1d2oOhzEidlzZNXyOSzHcuEAWup+sTg7jezbboUpEZmxjxupmMYAoSh3P9Vopw1
aMi0dk2V0C8=
=jjoi
-----END PGP SIGNATURE-----