Sign Up for Your FREE Weekly SecurityTracker E-mail Alert Summary
|
|
|
|
|
|
|
Put SecurityTracker Vulnerability Alerts on Your Web Site -- It's Free!
|
|
|
|
Become a Partner and License Our Database or Notification Service
|
|
|
|
|
|
|
|
|
|
|
|
|
(FreeBSD Issues Fix) OpenSSL ASN.1 Bugs, SSL_get_shared_ciphers() Buffer Overflow, and SSLv2 Client Error Lets Remote Users Denial of Service or Execute Arbitrary Code
|
|
SecurityTracker Alert ID: 1016944 |
|
SecurityTracker URL: http://securitytracker.com/id/1016944
|
|
CVE Reference:
CVE-2006-2937, CVE-2006-2940, CVE-2006-3738, CVE-2006-4343
(Links to External Site)
|
Date: Sep 29 2006
|
Impact:
Denial of service via network, Execution of arbitrary code via network, User access via network
|
Fix Available: Yes Vendor Confirmed: Yes
|
Version(s): prior to 0.9.7l, 0.9.8d
|
Description:
Several vulnerabilities were reported in OpenSSL. A remote user can cause denial of service conditions. A remote user can execute arbitrary code on the target system.
A remote user can send specially crafted, invalid ASN.1 structures to trigger an infinite loop [CVE-2006-2937]. As a result, the process will consume excessive system memory. Versions prior to 0.9.7 are not affected.
A remote user can use certain types of public keys to cause the target system to take a disproportionate amount of time to process [CVE-2006-2940].
Dr. S. N. Henson developed the ASN.1 test suite for NISCC that uncovered these denial of service vulnerabilities.
A user can send a specially crafted list of ciphers to an application that uses the SSL_get_shared_ciphers() function to trigger a buffer overflow and potentially execute arbitrary code [CVE-2006-3738]. The vendor credits Tavis Ormandy and Will Drewry of the Google Security Team with reporting this vulnerability.
A remote server can cause a connected SSLv2 client to crash [CVE-2006-4343]. The vendor credits Tavis Ormandy and Will Drewry of the Google Security Team with reporting this vulnerability.
|
Impact:
A remote user can execute arbitrary code on the target system.
A remote user can cause denial of service conditions.
|
Solution:
FreeBSD has released a fix and has provided the following solution information [quoted]:
Perform one of the following:
1) Upgrade your vulnerable system to 4-STABLE, 5-STABLE, or 6-STABLE,
or to the RELENG_6_1, RELENG_6_0, RELENG_5_5, RELENG_5_4, RELENG_5_3,
or RELENG_4_11 security branch dated after the correction date.
2) To patch your present system:
The following patches have been verified to apply to FreeBSD 4.11, 5.3,
5.4, 5.5, 6.0, and 6.1 systems.
a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.
# fetch http://security.FreeBSD.org/patches/SA-06:23/openssl.patch
# fetch http://security.FreeBSD.org/patches/SA-06:23/openssl.patch.asc
b) Execute the following commands as root:
# cd /usr/src
# patch < /path/to/patch
c) Recompile the operating system as described in
<URL: http://www.freebsd.org/handbook/makeworld.html> and reboot the
system.
NOTE: Any third-party applications, including those installed from the
FreeBSD ports collection, which are statically linked to libcrypto(3)
should be recompiled in order to use the corrected code.
NOTE ALSO: The above patch reduces the functionality of libcrypto(3) by
prohibiting the use of exceptionally large public keys. It is believed
that no existing applications legitimately use such key lengths as would
be affected by this change.
The FreeBSD advisory is available at:
http://security.FreeBSD.org/advisories/FreeBSD-SA-06:23.openssl.asc
|
Vendor URL: www.openssl.org/news/secadv_20060928.txt (Links to External Site)
|
Cause:
Boundary error, Exception handling error, State error
|
Underlying OS:
UNIX (FreeBSD)
|
|
Message History:
This archive entry is a follow-up to the message listed below.
|
Source Message Contents
|
Date: Thu, 28 Sep 2006 13:13:54 GMT
Subject: FreeBSD Security Advisory FreeBSD-SA-06:23.openssl
|
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
=============================================================================
FreeBSD-SA-06:23.openssl Security Advisory
The FreeBSD Project
Topic: Multiple problems in crypto(3)
Category: contrib
Module: openssl
Announced: 2006-09-28
Credits: Dr S N Henson, Tavis Ormandy, Will Drewry
Affects: All FreeBSD releases.
Corrected: 2006-09-28 13:02:37 UTC (RELENG_6, 6.1-PRERELEASE)
2006-09-28 13:03:14 UTC (RELENG_6_1, 6.1-RELEASE-p8)
2006-09-28 13:03:41 UTC (RELENG_6_0, 6.0-RELEASE-p13)
2006-09-28 13:03:57 UTC (RELENG_5, 5.5-STABLE)
2006-09-28 13:04:16 UTC (RELENG_5_5, 5.5-RELEASE-p6)
2006-09-28 13:04:47 UTC (RELENG_5_4, 5.4-RELEASE-p20)
2006-09-28 13:05:08 UTC (RELENG_5_3, 5.3-RELEASE-p35)
2006-09-28 13:05:59 UTC (RELENG_4, 4.11-STABLE)
2006-09-28 13:06:23 UTC (RELENG_4_11, 4.11-RELEASE-p23)
CVE Name: CVE-2006-2937, CVE-2006-2940, CVE-2006-3738, CVE-2006-4343
For general information regarding FreeBSD Security Advisories,
including descriptions of the fields above, security branches, and the
following sections, please visit <URL:http://security.FreeBSD.org/>.
I. Background
FreeBSD includes software from the OpenSSL Project. The OpenSSL Project is
a collaborative effort to develop a robust, commercial-grade, full-featured,
and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3)
and Transport Layer Security (TLS v1) protocols as well as a full-strength
general purpose cryptography library.
II. Problem Description
Several problems have been found in OpenSSL:
1. During the parsing of certain invalid ASN1 structures an error condition
is mishandled, possibly resulting in an infinite loop. [CVE-2006-2937]
2. A buffer overflow exists in the SSL_get_shared_ciphers function.
[CVE-2006-3738]
3. A NULL pointer may be dereferenced in the SSL version 2 client code.
[CVE-2006-4343]
In addition, many applications using OpenSSL do not perform any validation
of the lengths of public keys being used. [CVE-2006-2940]
III. Impact
Servers which parse ASN1 data from untrusted sources may be vulnerable to
a denial of service attack. [CVE-2006-2937]
An attacker accessing a server which uses SSL version 2 may be able to
execute arbitrary code with the privileges of that server. [CVE-2006-3738]
A malicious SSL server can cause clients connecting using SSL version 2 to
crash. [CVE-2006-4343]
Applications which perform public key operations using untrusted keys may
be vulnerable to a denial of service attack. [CVE-2006-2940]
IV. Workaround
No workaround is available, but not all of the vulnerabilities mentioned
affect all applications.
V. Solution
Perform one of the following:
1) Upgrade your vulnerable system to 4-STABLE, 5-STABLE, or 6-STABLE,
or to the RELENG_6_1, RELENG_6_0, RELENG_5_5, RELENG_5_4, RELENG_5_3,
or RELENG_4_11 security branch dated after the correction date.
2) To patch your present system:
The following patches have been verified to apply to FreeBSD 4.11, 5.3,
5.4, 5.5, 6.0, and 6.1 systems.
a) Download the relevant patch from the location below, and verify the
detached PGP signature using your PGP utility.
# fetch http://security.FreeBSD.org/patches/SA-06:23/openssl.patch
# fetch http://security.FreeBSD.org/patches/SA-06:23/openssl.patch.asc
b) Execute the following commands as root:
# cd /usr/src
# patch < /path/to/patch
c) Recompile the operating system as described in
<URL: http://www.freebsd.org/handbook/makeworld.html> and reboot the
system.
NOTE: Any third-party applications, including those installed from the
FreeBSD ports collection, which are statically linked to libcrypto(3)
should be recompiled in order to use the corrected code.
NOTE ALSO: The above patch reduces the functionality of libcrypto(3) by
prohibiting the use of exceptionally large public keys. It is believed
that no existing applications legitimately use such key lengths as would
be affected by this change.
VI. Correction details
The following list contains the revision numbers of each file that was
corrected in FreeBSD.
Branch Revision
Path
- -------------------------------------------------------------------------
RELENG_4
src/crypto/openssl/crypto/asn1/tasn_dec.c 1.1.1.1.2.4
src/crypto/openssl/crypto/dh/dh.h 1.1.1.1.2.8
src/crypto/openssl/crypto/dh/dh_err.c 1.1.1.1.2.7
src/crypto/openssl/crypto/dh/dh_key.c 1.1.1.1.2.11
src/crypto/openssl/crypto/dsa/dsa.h 1.1.1.1.2.8
src/crypto/openssl/crypto/dsa/dsa_err.c 1.1.1.1.2.7
src/crypto/openssl/crypto/dsa/dsa_ossl.c 1.1.1.1.2.11
src/crypto/openssl/crypto/rsa/rsa.h 1.2.2.14
src/crypto/openssl/crypto/rsa/rsa_eay.c 1.2.4.16
src/crypto/openssl/crypto/rsa/rsa_err.c 1.1.1.1.2.7
src/crypto/openssl/ssl/s2_clnt.c 1.2.2.14
src/crypto/openssl/ssl/s3_srvr.c 1.1.1.1.2.20
src/crypto/openssl/ssl/ssl_lib.c 1.1.1.1.2.14
RELENG_4_11
src/UPDATING 1.73.2.91.2.24
src/sys/conf/newvers.sh 1.44.2.39.2.27
src/crypto/openssl/crypto/asn1/tasn_dec.c 1.1.1.1.2.2.6.1
src/crypto/openssl/crypto/dh/dh.h 1.1.1.1.2.4.8.1
src/crypto/openssl/crypto/dh/dh_err.c 1.1.1.1.2.3.8.1
src/crypto/openssl/crypto/dh/dh_key.c 1.1.1.1.2.7.6.1
src/crypto/openssl/crypto/dsa/dsa.h 1.1.1.1.2.4.8.1
src/crypto/openssl/crypto/dsa/dsa_err.c 1.1.1.1.2.3.8.1
src/crypto/openssl/crypto/dsa/dsa_ossl.c 1.1.1.1.2.7.6.1
src/crypto/openssl/crypto/rsa/rsa.h 1.2.2.8.4.1
src/crypto/openssl/crypto/rsa/rsa_eay.c 1.2.4.8.4.1
src/crypto/openssl/crypto/rsa/rsa_err.c 1.1.1.1.2.3.8.1
src/crypto/openssl/ssl/s2_clnt.c 1.2.2.8.4.1
src/crypto/openssl/ssl/s3_srvr.c 1.1.1.1.2.9.4.1
src/crypto/openssl/ssl/ssl_lib.c 1.1.1.1.2.8.4.1
RELENG_5
src/crypto/openssl/crypto/asn1/tasn_dec.c 1.1.1.2.4.1
src/crypto/openssl/crypto/dh/dh.h 1.1.1.6.6.1
src/crypto/openssl/crypto/dh/dh_err.c 1.1.1.4.6.2
src/crypto/openssl/crypto/dh/dh_key.c 1.1.1.8.4.2
src/crypto/openssl/crypto/dsa/dsa.h 1.1.1.6.6.2
src/crypto/openssl/crypto/dsa/dsa_err.c 1.1.1.4.6.1
src/crypto/openssl/crypto/dsa/dsa_ossl.c 1.1.1.7.4.2
src/crypto/openssl/crypto/rsa/rsa.h 1.10.4.2
src/crypto/openssl/crypto/rsa/rsa_eay.c 1.12.4.2
src/crypto/openssl/crypto/rsa/rsa_err.c 1.1.1.4.6.1
src/crypto/openssl/ssl/s2_clnt.c 1.12.2.2
src/crypto/openssl/ssl/s3_srvr.c 1.1.1.13.2.2
src/crypto/openssl/ssl/ssl_lib.c 1.1.1.11.2.2
RELENG_5_5
src/UPDATING 1.342.2.35.2.6
src/sys/conf/newvers.sh 1.62.2.21.2.8
src/crypto/openssl/crypto/asn1/tasn_dec.c 1.1.1.2.16.1
src/crypto/openssl/crypto/dh/dh.h 1.1.1.6.18.1
src/crypto/openssl/crypto/dh/dh_err.c 1.1.1.4.6.1.4.1
src/crypto/openssl/crypto/dh/dh_key.c 1.1.1.8.4.1.4.1
src/crypto/openssl/crypto/dsa/dsa.h 1.1.1.6.6.1.4.1
src/crypto/openssl/crypto/dsa/dsa_err.c 1.1.1.4.18.1
src/crypto/openssl/crypto/dsa/dsa_ossl.c 1.1.1.7.4.1.4.1
src/crypto/openssl/crypto/rsa/rsa.h 1.10.4.1.4.1
src/crypto/openssl/crypto/rsa/rsa_eay.c 1.12.4.1.4.1
src/crypto/openssl/crypto/rsa/rsa_err.c 1.1.1.4.18.1
src/crypto/openssl/ssl/s2_clnt.c 1.12.2.1.4.1
src/crypto/openssl/ssl/s3_srvr.c 1.1.1.13.2.1.4.1
src/crypto/openssl/ssl/ssl_lib.c 1.1.1.11.2.1.4.1
RELENG_5_4
src/UPDATING 1.342.2.24.2.29
src/sys/conf/newvers.sh 1.62.2.18.2.25
src/crypto/openssl/crypto/asn1/tasn_dec.c 1.1.1.2.8.1
src/crypto/openssl/crypto/dh/dh.h 1.1.1.6.10.1
src/crypto/openssl/crypto/dh/dh_err.c 1.1.1.4.6.1.2.1
src/crypto/openssl/crypto/dh/dh_key.c 1.1.1.8.4.1.2.1
src/crypto/openssl/crypto/dsa/dsa.h 1.1.1.6.6.1.2.1
src/crypto/openssl/crypto/dsa/dsa_err.c 1.1.1.4.10.1
src/crypto/openssl/crypto/dsa/dsa_ossl.c 1.1.1.7.4.1.2.1
src/crypto/openssl/crypto/rsa/rsa.h 1.10.4.1.2.1
src/crypto/openssl/crypto/rsa/rsa_eay.c 1.12.4.1.2.1
src/crypto/openssl/crypto/rsa/rsa_err.c 1.1.1.4.10.1
src/crypto/openssl/ssl/s2_clnt.c 1.12.2.1.2.1
src/crypto/openssl/ssl/s3_srvr.c 1.1.1.13.2.1.2.1
src/crypto/openssl/ssl/ssl_lib.c 1.1.1.11.2.1.2.1
RELENG_5_3
src/UPDATING 1.342.2.13.2.38
src/sys/conf/newvers.sh 1.62.2.15.2.40
src/crypto/openssl/crypto/asn1/tasn_dec.c 1.1.1.2.6.1
src/crypto/openssl/crypto/dh/dh.h 1.1.1.6.8.1
src/crypto/openssl/crypto/dh/dh_err.c 1.1.1.4.8.1
src/crypto/openssl/crypto/dh/dh_key.c 1.1.1.8.6.1
src/crypto/openssl/crypto/dsa/dsa.h 1.1.1.6.8.1
src/crypto/openssl/crypto/dsa/dsa_err.c 1.1.1.4.8.1
src/crypto/openssl/crypto/dsa/dsa_ossl.c 1.1.1.7.6.1
src/crypto/openssl/crypto/rsa/rsa.h 1.10.6.1
src/crypto/openssl/crypto/rsa/rsa_eay.c 1.12.6.1
src/crypto/openssl/crypto/rsa/rsa_err.c 1.1.1.4.8.1
src/crypto/openssl/ssl/s2_clnt.c 1.12.4.1
src/crypto/openssl/ssl/s3_srvr.c 1.1.1.13.4.1
src/crypto/openssl/ssl/ssl_lib.c 1.1.1.11.4.1
RELENG_6
src/crypto/openssl/crypto/asn1/tasn_dec.c 1.1.1.2.10.1
src/crypto/openssl/crypto/dh/dh.h 1.1.1.6.12.1
src/crypto/openssl/crypto/dh/dh_err.c 1.1.1.5.2.1
src/crypto/openssl/crypto/dh/dh_key.c 1.1.1.9.2.1
src/crypto/openssl/crypto/dsa/dsa.h 1.1.1.7.2.1
src/crypto/openssl/crypto/dsa/dsa_err.c 1.1.1.4.12.1
src/crypto/openssl/crypto/dsa/dsa_ossl.c 1.1.1.8.2.1
src/crypto/openssl/crypto/rsa/rsa.h 1.11.2.1
src/crypto/openssl/crypto/rsa/rsa_eay.c 1.13.2.1
src/crypto/openssl/crypto/rsa/rsa_err.c 1.1.1.4.12.1
src/crypto/openssl/ssl/s2_clnt.c 1.13.2.1
src/crypto/openssl/ssl/s3_srvr.c 1.1.1.14.2.1
src/crypto/openssl/ssl/ssl_lib.c 1.1.1.12.2.1
RELENG_6_1
src/UPDATING 1.416.2.22.2.10
src/sys/conf/newvers.sh 1.69.2.11.2.10
src/crypto/openssl/crypto/asn1/tasn_dec.c 1.1.1.2.14.1
src/crypto/openssl/crypto/dh/dh.h 1.1.1.6.16.1
src/crypto/openssl/crypto/dh/dh_err.c 1.1.1.5.6.1
src/crypto/openssl/crypto/dh/dh_key.c 1.1.1.9.6.1
src/crypto/openssl/crypto/dsa/dsa.h 1.1.1.7.6.1
src/crypto/openssl/crypto/dsa/dsa_err.c 1.1.1.4.16.1
src/crypto/openssl/crypto/dsa/dsa_ossl.c 1.1.1.8.6.1
src/crypto/openssl/crypto/rsa/rsa.h 1.11.6.1
src/crypto/openssl/crypto/rsa/rsa_eay.c 1.13.6.1
src/crypto/openssl/crypto/rsa/rsa_err.c 1.1.1.4.16.1
src/crypto/openssl/ssl/s2_clnt.c 1.13.6.1
src/crypto/openssl/ssl/s3_srvr.c 1.1.1.14.6.1
src/crypto/openssl/ssl/ssl_lib.c 1.1.1.12.6.1
RELENG_6_0
src/UPDATING 1.416.2.3.2.18
src/sys/conf/newvers.sh 1.69.2.8.2.14
src/crypto/openssl/crypto/asn1/tasn_dec.c 1.1.1.2.12.1
src/crypto/openssl/crypto/dh/dh.h 1.1.1.6.14.1
src/crypto/openssl/crypto/dh/dh_err.c 1.1.1.5.4.1
src/crypto/openssl/crypto/dh/dh_key.c 1.1.1.9.4.1
src/crypto/openssl/crypto/dsa/dsa.h 1.1.1.7.4.1
src/crypto/openssl/crypto/dsa/dsa_err.c 1.1.1.4.14.1
src/crypto/openssl/crypto/dsa/dsa_ossl.c 1.1.1.8.4.1
src/crypto/openssl/crypto/rsa/rsa.h 1.11.4.1
src/crypto/openssl/crypto/rsa/rsa_eay.c 1.13.4.1
src/crypto/openssl/crypto/rsa/rsa_err.c 1.1.1.4.14.1
src/crypto/openssl/ssl/s2_clnt.c 1.13.4.1
src/crypto/openssl/ssl/s3_srvr.c 1.1.1.14.4.1
src/crypto/openssl/ssl/ssl_lib.c 1.1.1.12.4.1
- -------------------------------------------------------------------------
VII. References
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-2937
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-2940
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-3738
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-4343
The latest revision of this advisory is available at
http://security.FreeBSD.org/advisories/FreeBSD-SA-06:23.openssl.asc
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (FreeBSD)
iD8DBQFFG8l8FdaIBMps37IRAn0pAKCRuDXjFm2w7YtoZ9C6oVgM9UK0GgCdHdYu
7owfMI1ZVr22prZNmPTeM7k=
=DguL
-----END PGP SIGNATURE-----
_______________________________________________
freebsd-security-notifications@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-security-notifications
To unsubscribe, send any mail to "freebsd-security-notifications-unsubscribe@freebsd.org"
|
|
Go to the Top of This SecurityTracker Archive Page
|