Protect yourself against future threats.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 =========================================================================== AUSCERT External Security Bulletin Redistribution ESB-2009.1032 OpenSSL 9 July 2009 =========================================================================== AusCERT Security Bulletin Summary --------------------------------- Product: OpenSSL Publisher: NetBSD Operating System: NetBSD Impact/Access: Denial of Service -- Remote/Unauthenticated Provide Misleading Information -- Remote/Unauthenticated Access Privileged Data -- Remote/Unauthenticated Resolution: Patch CVE Names: CVE-2009-1387 CVE-2009-1386 CVE-2009-1379 CVE-2009-1378 CVE-2009-1377 CVE-2009-0789 CVE-2009-0591 CVE-2009-0590 Reference: AA-2009.0088 AA-2009.0066 AU-2009.0024 ESB-2009.0624 ESB-2009.0616 ESB-2009.0394 Original Bulletin: http://ftp.NetBSD.org/pub/NetBSD/security/advisories/NetBSD-SA2009-008.txt.asc http://ftp.NetBSD.org/pub/NetBSD/security/advisories/NetBSD-SA2009-009.txt.asc Comment: This advisory contains two (2) NetBSD bulletins. - --------------------------BEGIN INCLUDED TEXT-------------------- - -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 NetBSD Security Advisory 2009-009 ================================= Topic: OpenSSL DTLS Memory Exhaustion and DSA signature verification vulnerabilities Version: NetBSD-current: affected prior to 2009-07-04 NetBSD 5.0: affected NetBSD 4.0.*: affected NetBSD 4.0: affected pkgsrc: openssl package prior to 0.9.8j Severity: Denial of Service, DSA signature spoofing Fixed: NetBSD-current: July 4, 2009 NetBSD-5-0 branch: July 4, 2009 (NetBSD 5.0.1 will include the fix) NetBSD-5 branch: July 4, 2009 (NetBSD 5.1 will include the fix) NetBSD-4-0 branch: July 4, 2009 (NetBSD 4.0.2 will include the fix) NetBSD-4 branch: July 4, 2009 (NetBSD 4.1 will include the fix) pkgsrc 2009Q1: openssl-0.9.8j 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 ======== Two range check errors in the DTLS code allow a remote attacker to exhaust memory by executing too many out of sequence handshakes or by sending DTLS packets with a future epoch. A mistake in handling return codes allows a remote attacker to spoof DSA signatures on data or certificates. These vulnerabilities have been assigned CVE-2009-1377, CVE-2009-1378, CVE-2009-1379, CVE-2009-1386 and CVE-2009-1387. Technical Details ================= The OpenSSL library does not limit the number of buffered DTLS records tagged with a future epoch. If a large amount of such packages is received, the DTLS records will occupy large amounts of memory, causing exhaustion. Also, no limit is imposed on the number of out-of-sequence handshake messages received, which can also be used to exhaust all available memory. A different error is caused by the functions validating DSA and ECDSA keys. These functions do not handle the return code of EVP_VerifyFinal() properly, causing some types of signature verification errors to be ignored. This can be used to spoof DSA signatures on data or certificates. Solutions and Workarounds ========================= No workaround to the problem is currently known. Users are advised to either restrict access to OpenSSL services to trusted users only or to apply the patches as described below. 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-07-04 should be upgraded to NetBSD-current dated 2009-07-05 or later. The following files/directories need to be updated from the netbsd-current CVS branch (aka HEAD): crypto/dist/openssl To update from CVS, re-build, and re-install OpenSSL: # cd src # cvs update -d -P crypto/dist/openssl # cd lib/libcrypt # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../libcrypto # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../libssl # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../../usr.bin/openssl # make USETOOLS=no cleandir # make USETOOLS=no dependall install If you use the patented libcrypto extensions, you will also want to execute the following commands: # cd ../../lib/libcrypto_idea # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../libcrypto_mdc2 # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../libcrypto_rc5 # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install * NetBSD 5.*: Systems running NetBSD 5.* sources dated from before 2009-07-04 should be upgraded from NetBSD 5.* sources dated 2009-07-05 or later. NetBSD 5.1 and 5.0.1 will include the fix. The following files/directories need to be updated from the netbsd-5 or netbsd-5-0 branches: crypto/dist/openssl To update from CVS, re-build, and re-install OpenSSL: # cd src # cvs update -r <branch_name> -d -P crypto/dist/openssl # cd lib/libcrypt # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../libcrypto # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../libssl # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../../usr.bin/openssl # make USETOOLS=no cleandir # make USETOOLS=no dependall install If you use the patented libcrypto extensions, you will also want to execute the following commands: # cd ../../lib/libcrypto_idea # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../libcrypto_mdc2 # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../libcrypto_rc5 # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install * NetBSD 4.*: Systems running NetBSD 4.* sources dated from before 2009-07-04 should be upgraded from NetBSD 4.* sources dated 2009-07-05 or later. NetBSD 4.1 and 4.0.2 will include the fix. The following files/directories need to be updated from the netbsd-4 or netbsd-4-0 branches: crypto/dist/openssl To update from CVS, re-build, and re-install OpenSSL: # cd src # cvs update -r <branch_name> -d -P crypto/dist/openssl # cd lib/libcrypt # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../libcrypto # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../libssl # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../../usr.bin/openssl # make USETOOLS=no cleandir # make USETOOLS=no dependall install If you use the patented libcrypto extensions, you will also want to execute the following commands: # cd ../../lib/libcrypto_idea # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../libcrypto_mdc2 # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../libcrypto_rc5 # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install Thanks To ========= Daniel Mentz and the Google Security Team for discovering the vulnerabilities and reporting them to the vendor. Revision History ================ 2009-07-07 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 http://ftp.NetBSD.org/pub/NetBSD/security/advisories/NetBSD-SA2009-009.txt.asc Information about NetBSD and NetBSD security can be found at http://www.NetBSD.org/ and http://www.NetBSD.org/Security/. Copyright 2009, The NetBSD Foundation, Inc. All Rights Reserved. Redistribution permitted only in full, unmodified form. $NetBSD: NetBSD-SA2009-009.txt,v 1.1 2009/07/07 21:57:15 tonnerre Exp $ - -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (NetBSD) iQIcBAEBAgAGBQJKU8fzAAoJEAZJc6xMSnBuUZAQAKtILf4tYU6tpRvYaoWqA4+2 Co7wT+h0ihGJDgK2vRSXd+gG+rAhh3vi0b4nfuJY/zHotVC1l5Y50jLB4BSP/ZbR STP2oBx87C1qmufqRW6fpe8rifelE9O3qmixSvogupro/zQXXaVrwnhNJPSjZ+o0 uZ1SWZr78UGBcyFgtOKhBD6p9wXpNl5R7by7V4qjxB+Q0a/tPwJ6Qb2mjWYE3Aj8 BfedB/5z2eP5rsmA89yk6m9cmm15n3OEtq/lqYDyRdnZTz8QnNvWEm/byVmjqDwu lMVtSq4QmGkS97NVCrkkb9mAYm6rqaTaxlMVKQRoWVf1CSy3ZYTDjJNmp0kCWLct gN9AXi+9TqL9/H1tuvqpzEHHVFJh+KSxB8bayzAz4ODPbcXeSv+mNKwQF7ryO+Kk VenqjcD/0JSmX66hDwC4RfDTmYoqcKVOpRKhHmHLsrQ53Gv56gX+5z8r4Lcz4hH5 3a6oo6GG2jzJJaz6W9C+k1G4WQklgc4CpL3t9qJsnJ2947Dc7qELj2C20iEXSNcR VcwlSYK4Niyf7IwNjcNZaXexzIfYDByEBLWtXCbSrBEwAI3TdSstlEafHYsBVXa3 +xWJpqjFsb+2CPlFwRDIdA2Mhp7MojHFaPvsdj4Y6EfN5KVLsLmhzMpmtP0XeCsm Iosoo4fBPrIeYefwxcNs =64Ku - -----END PGP SIGNATURE----- NetBSD Security Advisory 2009-008 ================================= Topic: OpenSSL ASN1 parsing denial of service and CMS signature verification weakness Version: NetBSD-current: affected prior to 2009-03-27 NetBSD 5.0: not affected NetBSD 4.0.*: affected NetBSD 4.0: affected pkgsrc: openssl package prior to 0.9.8k Severity: Denial of Service, Forgery of CMS signatures Fixed: NetBSD-current: May 27, 2009 NetBSD-4 branch: July 4, 2009 (4.1 will include the fix) NetBSD-4-0 branch: July 4, 2009 (4.0.2 will include the fix) pkgsrc 2009Q1: openssl-0.9.8k corrects this issue Please note that NetBSD releases prior to 4.0, as well as the pre-release versions of NetBSD 5.0, are no longer supported. It is recommended that all users upgrade to a supported release. Abstract ======== A handling error in the ASN1 parser functions can cause an application linked against libcrypto to crash. Another vulnerability in the CMS signature verification algorithm allows an attacker to modify the CMS attributes of a signed certificate. This vulnerability has been assigned CVE-2009-0590, CVE-2009-0591 and CVE-2009-0789. Technical Details ================= The function ASN1_STRING_print_ex() when used to print a BMPString or UniversalString will crash with an invalid memory access if the encoded length of the string is illegal. An error calculating the length of ASN1 structure members can be exploit to cause a memory access violation in the error path on architectures where sizeof(long) < sizeof(void *), causing an application linked against a vulnerable version of libcrypto to crash. The function CMS_verify() does not correctly handle an error condition involving malformed signed attributes. This will cause an invalid set of signed attributes to appear valid and content digests will not be checked. Solutions and Workarounds ========================= Currently, no workaround to this problem is known. Users must either upgrade their OpenSSL version to include the fix, or to restrict access to affected applications to trusted users only. 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-03-27 should be upgraded to NetBSD-current dated 2009-03-28 or later. The following files/directories need to be updated from the netbsd-current CVS branch (aka HEAD): crypto/dist/openssl To update from CVS, re-build, and re-install OpenSSL: # cd src # cvs update -d -P crypto/dist/openssl # cd lib/libcrypto # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../libcrypto # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../libssl # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../../usr.bin/openssl # make USETOOLS=no cleandir # make USETOOLS=no dependall install If you use the patented libcrypto extensions, you will also want to execute the following commands: # cd ../../lib/libcrypto_idea # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../libcrypto_mdc2 # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../libcrypto_rc5 # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install * NetBSD 4.*: Systems running NetBSD 4.* sources dated from before 2009-07-04 should be upgraded from NetBSD 4.* sources dated 2009-07-05 or later. NetBSD 4.1 and 4.0.2 will include the fix. The following files/directories need to be updated from the netbsd-4 or netbsd-4-0 branches: crypto/dist/openssl To update from CVS, re-build, and re-install OpenSSL: # cd src # cvs update -r <branch_name> -d -P crypto/dist/openssl # cd lib/libcrypto # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../libcrypto # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../libssl # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../../usr.bin/openssl # make USETOOLS=no cleandir # make USETOOLS=no dependall install If you use the patented libcrypto extensions, you will also want to execute the following commands: # cd ../../lib/libcrypto_idea # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../libcrypto_mdc2 # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install # cd ../libcrypto_rc5 # make USETOOLS=no cleandir # make USETOOLS=no includes # make USETOOLS=no dependall install Thanks To ========= Ivan Nestlerode of IBM and Paolo Ganci for discovering and reporting these issues. Revision History ================ 2009-07-07 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 http://ftp.NetBSD.org/pub/NetBSD/security/advisories/NetBSD-SA2009-008.txt.asc Information about NetBSD and NetBSD security can be found at http://www.NetBSD.org/ and http://www.NetBSD.org/Security/. Copyright 2009, The NetBSD Foundation, Inc. All Rights Reserved. Redistribution permitted only in full, unmodified form. $NetBSD: NetBSD-SA2009-008.txt,v 1.1 2009/07/07 21:57:15 tonnerre Exp $ - --------------------------END INCLUDED TEXT-------------------- You have received this e-mail bulletin as a result of your organisation's registration with AusCERT. The mailing list you are subscribed to is maintained within your organisation, so if you do not wish to continue receiving these bulletins you should contact your local IT manager. If you do not know who that is, please send an email to auscert@auscert.org.au and we will forward your request to the appropriate person. NOTE: Third Party Rights This security bulletin is provided as a service to AusCERT's members. As AusCERT did not write the document quoted above, AusCERT has had no control over its content. The decision to follow or act on information or advice contained in this security bulletin is the responsibility of each user or organisation, and should be considered in accordance with your organisation's site policies and procedures. AusCERT takes no responsibility for consequences which may arise from following or acting on information or advice contained in this security bulletin. NOTE: This is only the original release of the security bulletin. It may not be updated when updates to the original are made. If downloading at a later date, it is recommended that the bulletin is retrieved directly from the author's website to ensure that the information is still current. Contact information for the authors of the original document is included in the Security Bulletin above. If you have any questions or need further information, please contact them directly. Previous advisories and external security bulletins can be retrieved from: http://www.auscert.org.au/render.html?cid=1980 If you believe that your computer system has been compromised or attacked in any way, we encourage you to let us know by completing the secure National IT Incident Reporting Form at: http://www.auscert.org.au/render.html?it=3192 =========================================================================== Australian Computer Emergency Response Team The University of Queensland Brisbane Qld 4072 Internet Email: auscert@auscert.org.au Facsimile: (07) 3365 7031 Telephone: (07) 3365 4417 (International: +61 7 3365 4417) AusCERT personnel answer during Queensland business hours which are GMT+10:00 (AEST). On call after hours for member emergencies only. =========================================================================== -----BEGIN PGP SIGNATURE----- Comment: http://www.auscert.org.au/render.html?it=1967 iD8DBQFKVTFgNVH5XJJInbgRAsklAJ9mVeqGVxT7KrGJZEbEdk8CYKILQwCfU8KQ 2M+RnZNb/RYM6TKXD3OTkPQ= =BxTy -----END PGP SIGNATURE-----