NetBSD Security Advisory 2006-023: OpenSSL RSA Signature Forgery

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: NetBSD Security-Officer
Date: Thursday, September 21, 2006 - 2:46 pm

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


		 NetBSD Security Advisory 2006-023
		 =================================

Topic:		OpenSSL RSA Signature Forgery

Version:	NetBSD-current:	source prior to September 06, 2006
		NetBSD 4.0_BETA:	affected
		NetBSD 3.1_RC3:		not affected
		NetBSD 3.0.*:		affected
		NetBSD 3.0:		affected
		NetBSD 2.1:		affected
		NetBSD 2.0.*:		affected
		NetBSD 2.0:		affected
		pkgsrc:			openssl-0.9.7inb1 and earlier

Severity:	Forgery of RSA certificates

Fixed:		NetBSD-current:		September 06, 2006
		NetBSD-4 branch:	September 08, 2006
			(4.0 will include the fix)	
		NetBSD-3-0 branch:	September 08, 2006
			(3.0.2 will include the fix)
		NetBSD-3 branch:	September 08, 2006
			(3.1 will include the fix)
		NetBSD-2-1 branch:	September 08, 2006
		NetBSD-2-0 branch:	September 08, 2006
		NetBSD-2 branch:	September 08, 2006
		pkgsrc:			openssl-0.9.7inb2 corrects the issue


Abstract
========

OpenSSL contains a vulnerability in the validation of PKCS #1 v1.5
signatures.  If a certificate signed by an RSA key with a public
exponent of 3 is used it may be possible for an attacker to present an
alternate certificate with forged PKCS #1 v1.5 signature which OpenSSL
would also report as valid.

This vulnerability has been assigned CVE reference CVE-2006-4339.


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

When verifying a PKCS#1 v1.5 signature OpenSSL was not checking for
excess data at the end of the signed hash.  By carefully choosing
additional data after the hash, an attacker could construct an
alternate certificate with arbitrary contents that would be validated
as correctly signed.

Details of the attack are discussed in the following post by Hal
Finney to the cryptography mailing list:

  http://marc.theaimsgroup.com/?l=cryptography&m=115694833312008

In addition to OpenSSL, a number of other cryptographic library
implementations suffered from similar vulnerabilities. These include
those in the Opera and Mozilla family of web browsers. Users of these
and other similar applications should also check for updates.

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

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 2006-09-06
	should be upgraded to NetBSD-current dated 2006-09-07 or later.

	The following files need to be updated from CVS HEAD:
		crypto/dist/openssl/crypto/rsa/rsa_sign.c

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

		# cd src
		# cvs update crypto/dist/openssl/crypto/rsa/rsa_sign.c
		# cd lib/libcrypt
		# make USETOOLS=no cleandir dependall
		# cd ../../lib/libcrypto
		# make USETOOLS=no cleandir dependall
		# make USETOOLS=no install


* NetBSD 3.*:

	Systems running NetBSD 3.* sources dated from before
	2006-09-08 should be upgraded from NetBSD 3.* sources dated
	2006-09-09 or later.

	The following files need to be updated from the
	netbsd-3 or netbsd-3-0 CVS branch:
		crypto/dist/openssl/crypto/rsa/rsa_sign.c

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

		# cd src
		# cvs update -r <branch_name> \
			crypto/dist/openssl/crypto/rsa/rsa_sign.c
		# cd lib/libcrypt
		# make USETOOLS=no cleandir dependall
		# cd ../../lib/libcrypto
		# make USETOOLS=no cleandir dependall
		# make USETOOLS=no install


* NetBSD 2.*:

	Systems running NetBSD 2.* sources dated from before
	2006-09-08 should be upgraded from NetBSD 2.* sources dated
	2006-09-09 or later.

	The following files need to be updated from the
	netbsd-2, netbsd-2-0 or netbsd-2-1 CVS branch:
		crypto/dist/openssl/crypto/rsa/rsa_sign.c

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

		# cd src
		# cvs update -r <branch_name> \
			crypto/dist/openssl/crypto/rsa/rsa_sign.c
		# cd lib/libcrypt
		# make USETOOLS=no cleandir dependall
		# cd ../../lib/libcrypto
		# make USETOOLS=no cleandir dependall
		# make USETOOLS=no install


Thanks To
=========

Daniel Bleichenbacher is credited with the discovery of the OpenSSL issue.


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

	2006-09-21	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-SA2006-023.txt.asc

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


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

$NetBSD: NetBSD-SA2006-023.txt,v 1.4 2006/09/21 20:17:45 adrianp Exp $

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

iQCVAwUBRRL0Cj5Ru2/4N2IFAQI/NAP+P+H4oJ6UiNwYDpyVs9pMZZwqMD8RXV4I
ptQw/2H57N8xDNo7TJaQXFGNaraNDCbVRAPsqeJ9fIv9TpGnB3RRHqomZpFPI58A
pVh4UDjlKYV8uny5+IAaE4Myn+Zw6U4cvjB74D8EDny2/KMaNgf3G8EVLHrfX7Cm
Mbu/SGkYObg=
=mo24
-----END PGP SIGNATURE-----
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
New Developers, Jan Schaumann, (Sat Feb 1, 10:58 am)
Donations for the new CVS server, Christos Zoulas, (Tue Jul 22, 10:27 am)
The new CVS server for NetBSD, Luke Mewburn, (Tue Feb 10, 5:17 pm)
Quarterly Status Report: October - December 2004, Jan Schaumann, (Tue Jan 11, 10:28 am)
AnonCVS outage 2005-05-21, Thor Lancelot Simon, (Fri May 20, 10:06 am)
NetBSD Security Advisory 2005-003: F_CLOSEM local denial o ..., NetBSD Security-Officer, (Mon Nov 7, 3:55 pm)
The pkgsrc-2006Q1 branch, Alistair Crooks, (Fri Mar 31, 3:43 am)
(unknown), Herb Peyerl, (Mon May 1, 12:30 pm)
NetBSD Security Advisory 2006-023: OpenSSL RSA Signature F ..., NetBSD Security-Officer, (Thu Sep 21, 2:46 pm)
Urgent Network Maintenance scheduled for 10/14/2007 (fwd), Hubert Feyrer, (Sun Oct 14, 6:23 am)
Summer of Code projects selected, Jan Schaumann, (Mon Apr 21, 2:43 pm)
Announcing NetBSD 4.0.1, Manuel Bouyer, (Tue Oct 14, 2:36 pm)
End of life for 3.x, Soren Jacobsen, (Fri May 29, 11:56 pm)
NetBSD Security Advisory 2009-012: SHA2 implementation pot ..., NetBSD Security Officer, (Tue Jul 28, 2:52 pm)