patches for easier mirroring, to eliminate a special copy, to make www.freebsd.org/security a full copy of security.freebsd.org and be eventually be the same. For now files are just sitting there. The symlinks are missing. Discussed on: www (repository location) Discussed with: simon (so)
184 lines
8 KiB
Text
184 lines
8 KiB
Text
-----BEGIN PGP SIGNED MESSAGE-----
|
|
Hash: SHA1
|
|
|
|
=============================================================================
|
|
FreeBSD-SA-09:15.ssl Security Advisory
|
|
The FreeBSD Project
|
|
|
|
Topic: SSL protocol flaw
|
|
|
|
Category: contrib
|
|
Module: openssl
|
|
Announced: 2009-12-03
|
|
Credits: Marsh Ray, Steve Dispensa
|
|
Affects: All supported versions of FreeBSD.
|
|
Corrected: 2009-12-03 09:18:40 UTC (RELENG_8, 8.0-STABLE)
|
|
2009-12-03 09:18:40 UTC (RELENG_8_0, 8.0-RELEASE-p1)
|
|
2009-12-03 09:18:40 UTC (RELENG_7, 7.2-STABLE)
|
|
2009-12-03 09:18:40 UTC (RELENG_7_2, 7.2-RELEASE-p5)
|
|
2009-12-03 09:18:40 UTC (RELENG_7_1, 7.1-RELEASE-p9)
|
|
2009-12-03 09:18:40 UTC (RELENG_6, 6.4-STABLE)
|
|
2009-12-03 09:18:40 UTC (RELENG_6_4, 6.4-RELEASE-p8)
|
|
2009-12-03 09:18:40 UTC (RELENG_6_3, 6.3-RELEASE-p14)
|
|
CVE Name: CVE-2009-3555
|
|
|
|
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/>.
|
|
|
|
0. Revision History
|
|
|
|
v1.0 2009-12-03 Initial release.
|
|
v1.1 2009-12-03 Corrected instructions in section V.2)b).
|
|
|
|
I. Background
|
|
|
|
The SSL (Secure Sockets Layer) and TLS (Transport Layer Security) protocols
|
|
provide a secure communications layer over which other protocols can be
|
|
utilized. The most widespread use of SSL/TLS is to add security to the
|
|
HTTP protocol, thus producing HTTPS.
|
|
|
|
FreeBSD includes software from the OpenSSL Project which implements SSL
|
|
and TLS.
|
|
|
|
II. Problem Description
|
|
|
|
The SSL version 3 and TLS protocols support session renegotiation without
|
|
cryptographically tying the new session parameters to the old parameters.
|
|
|
|
III. Impact
|
|
|
|
An attacker who can intercept a TCP connection being used for SSL or TLS
|
|
can cause the initial session negotiation to take the place of a session
|
|
renegotiation. This can be exploited in several ways, including:
|
|
* Causing a server to interpret incoming messages as having been sent
|
|
under the auspices of a client SSL key when in fact they were not;
|
|
* Causing a client request to be appended to an attacker-supplied
|
|
request, potentially revealing to the attacker the contents of the client
|
|
request (including any authentication parameters); and
|
|
* Causing a client to receive a response to an attacker-supplied request
|
|
instead of a response to the request sent by the client.
|
|
|
|
IV. Workaround
|
|
|
|
No workaround is available.
|
|
|
|
V. Solution
|
|
|
|
NOTE WELL: This update causes OpenSSL to reject any attempt to renegotiate
|
|
SSL / TLS session parameters. As a result, connections in which the other
|
|
party attempts to renegotiate session parameters will break. In practice,
|
|
however, session renegotiation is a rarely-used feature, so disabling this
|
|
functionality is unlikely to cause problems for most systems.
|
|
|
|
Perform one of the following:
|
|
|
|
1) Upgrade your vulnerable system to 6-STABLE, 7-STABLE, or 8-STABLE, or to
|
|
the RELENG_8_0, RELENG_7_2, RELENG_7_1, RELENG_6_4, or RELENG_6_3 security
|
|
branch dated after the correction date.
|
|
|
|
2) To patch your present system:
|
|
|
|
The following patches have been verified to apply to FreeBSD 6.3, 6.4,
|
|
7.1, 7.2, and 8.0 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-09:15/ssl.patch
|
|
# fetch http://security.FreeBSD.org/patches/SA-09:15/ssl.patch.asc
|
|
|
|
b) Execute the following commands as root:
|
|
|
|
# cd /usr/src
|
|
# patch < /path/to/patch
|
|
# cd /usr/src/secure/lib/libssl
|
|
# make obj && make depend && make includes && make && make install
|
|
|
|
NOTE: On the amd64 platform, the above procedure will not update the
|
|
lib32 (i386 compatibility) libraries. On amd64 systems where the i386
|
|
compatibility libraries are used, the operating system should instead
|
|
be recompiled as described in
|
|
<URL:http://www.FreeBSD.org/handbook/makeworld.html>
|
|
|
|
VI. Correction details
|
|
|
|
The following list contains the revision numbers of each file that was
|
|
corrected in FreeBSD.
|
|
|
|
CVS:
|
|
|
|
Branch Revision
|
|
Path
|
|
- -------------------------------------------------------------------------
|
|
RELENG_6
|
|
src/crypto/openssl/ssl/s3_pkt.c 1.1.1.10.2.1
|
|
src/crypto/openssl/ssl/s3_srvr.c 1.1.1.14.2.3
|
|
src/crypto/openssl/ssl/s3_lib.c 1.1.1.10.2.1
|
|
RELENG_6_4
|
|
src/UPDATING 1.416.2.40.2.12
|
|
src/sys/conf/newvers.sh 1.69.2.18.2.14
|
|
src/crypto/openssl/ssl/s3_pkt.c 1.1.1.10.12.1
|
|
src/crypto/openssl/ssl/s3_srvr.c 1.1.1.14.2.1.6.2
|
|
src/crypto/openssl/ssl/s3_lib.c 1.1.1.10.12.1
|
|
RELENG_6_3
|
|
src/UPDATING 1.416.2.37.2.19
|
|
src/sys/conf/newvers.sh 1.69.2.15.2.18
|
|
src/crypto/openssl/ssl/s3_pkt.c 1.1.1.10.10.1
|
|
src/crypto/openssl/ssl/s3_srvr.c 1.1.1.14.2.1.4.2
|
|
src/crypto/openssl/ssl/s3_lib.c 1.1.1.10.10.1
|
|
RELENG_7
|
|
src/crypto/openssl/ssl/s3_pkt.c 1.1.1.12.2.1
|
|
src/crypto/openssl/ssl/s3_srvr.c 1.1.1.17.2.2
|
|
src/crypto/openssl/ssl/s3_lib.c 1.1.1.13.2.1
|
|
RELENG_7_2
|
|
src/UPDATING 1.507.2.23.2.8
|
|
src/sys/conf/newvers.sh 1.72.2.11.2.9
|
|
src/crypto/openssl/ssl/s3_pkt.c 1.1.1.12.8.1
|
|
src/crypto/openssl/ssl/s3_srvr.c 1.1.1.17.2.1.2.1
|
|
src/crypto/openssl/ssl/s3_lib.c 1.1.1.13.8.1
|
|
RELENG_7_1
|
|
src/UPDATING 1.507.2.13.2.12
|
|
src/sys/conf/newvers.sh 1.72.2.9.2.13
|
|
src/crypto/openssl/ssl/s3_pkt.c 1.1.1.12.6.1
|
|
src/crypto/openssl/ssl/s3_srvr.c 1.1.1.17.6.2
|
|
src/crypto/openssl/ssl/s3_lib.c 1.1.1.13.6.1
|
|
RELENG_8
|
|
src/crypto/openssl/ssl/s3_pkt.c 1.2.2.1
|
|
src/crypto/openssl/ssl/s3_srvr.c 1.3.2.1
|
|
src/crypto/openssl/ssl/s3_lib.c 1.2.2.1
|
|
RELENG_8_0
|
|
src/UPDATING 1.632.2.7.2.4
|
|
src/sys/conf/newvers.sh 1.83.2.6.2.4
|
|
src/crypto/openssl/ssl/s3_pkt.c 1.2.4.1
|
|
src/crypto/openssl/ssl/s3_srvr.c 1.3.4.1
|
|
src/crypto/openssl/ssl/s3_lib.c 1.2.4.1
|
|
- -------------------------------------------------------------------------
|
|
|
|
Subversion:
|
|
|
|
Branch/path Revision
|
|
- -------------------------------------------------------------------------
|
|
stable/6/ r200054
|
|
releng/6.4/ r200054
|
|
releng/6.3/ r200054
|
|
stable/7/ r200054
|
|
releng/7.2/ r200054
|
|
releng/7.1/ r200054
|
|
- -------------------------------------------------------------------------
|
|
|
|
VII. References
|
|
|
|
http://extendedsubset.com/Renegotiating_TLS.pdf
|
|
|
|
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3555
|
|
|
|
The latest revision of this advisory is available at
|
|
http://security.FreeBSD.org/advisories/FreeBSD-SA-09:15.ssl.asc
|
|
-----BEGIN PGP SIGNATURE-----
|
|
Version: GnuPG v1.4.10 (FreeBSD)
|
|
|
|
iEYEARECAAYFAksYIm4ACgkQFdaIBMps37J5jwCZAQurPSu2CyGz2thi8ljb+MlF
|
|
LcwAnjSLYWT1nV5G9a46n9zcrpEqydJ3
|
|
=XuZD
|
|
-----END PGP SIGNATURE-----
|