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