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)
201 lines
9.3 KiB
Text
201 lines
9.3 KiB
Text
-----BEGIN PGP SIGNED MESSAGE-----
|
|
Hash: SHA1
|
|
|
|
=============================================================================
|
|
FreeBSD-SA-09:02.openssl Security Advisory
|
|
The FreeBSD Project
|
|
|
|
Topic: OpenSSL incorrectly checks for malformed signatures
|
|
|
|
Category: contrib
|
|
Module: openssl
|
|
Announced: 2009-01-07
|
|
Credits: Google Security Team
|
|
Affects: All FreeBSD releases
|
|
Corrected: 2009-01-07 21:03:41 UTC (RELENG_7, 7.1-STABLE)
|
|
2009-01-07 20:17:55 UTC (RELENG_7_1, 7.1-RELEASE-p1)
|
|
2009-01-07 20:17:55 UTC (RELENG_7_0, 7.0-RELEASE-p8)
|
|
2009-01-07 20:17:55 UTC (RELENG_6, 6.4-STABLE)
|
|
2009-01-07 20:17:55 UTC (RELENG_6_4, 6.4-RELEASE-p2)
|
|
2009-01-07 20:17:55 UTC (RELENG_6_3, 6.3-RELEASE-p8)
|
|
CVE Name: CVE-2008-5077
|
|
|
|
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
|
|
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
|
|
|
|
The EVP_VerifyFinal() function from OpenSSL is used to determine if a
|
|
digital signature is valid. The SSL layer in OpenSSL uses
|
|
EVP_VerifyFinal(), which in several places checks the return value
|
|
incorrectly and treats verification errors as a good signature. This
|
|
is only a problem for DSA and ECDSA keys.
|
|
|
|
III. Impact
|
|
|
|
For applications using OpenSSL for SSL connections, an invalid SSL
|
|
certificate may be interpreted as valid. This could for example be
|
|
used by an attacker to perform a man-in-the-middle attack.
|
|
|
|
Other applications which use the OpenSSL EVP API may similarly be
|
|
affected.
|
|
|
|
IV. Workaround
|
|
|
|
For a server an RSA signed certificate may be used instead of DSA or
|
|
ECDSA based certificate.
|
|
|
|
Note that Mozilla Firefox does not use OpenSSL and thus is not
|
|
affected.
|
|
|
|
V. Solution
|
|
|
|
Perform one of the following:
|
|
|
|
1) Upgrade your vulnerable system to 6-STABLE, or 7-STABLE, or to the
|
|
RELENG_7_1, RELENG_7_0, 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.0, and 7.1 systems.
|
|
|
|
a) Download the relevant patch from the location below, and verify the
|
|
detached PGP signature using your PGP utility.
|
|
|
|
[FreeBSD 7.x]
|
|
# fetch http://security.FreeBSD.org/patches/SA-09:02/openssl.patch
|
|
# fetch http://security.FreeBSD.org/patches/SA-09:02/openssl.patch.asc
|
|
|
|
[FreeBSD 6.x]
|
|
# fetch http://security.FreeBSD.org/patches/SA-09:02/openssl6.patch
|
|
# fetch http://security.FreeBSD.org/patches/SA-09:02/openssl6.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 && make install
|
|
# cd /usr/src/secure/usr.bin/openssl
|
|
# make obj && make depend && 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/apps/speed.c 1.13.2.1
|
|
src/crypto/openssl/apps/verify.c 1.1.1.5.12.1
|
|
src/crypto/openssl/apps/x509.c 1.1.1.10.2.1
|
|
src/crypto/openssl/apps/spkac.c 1.1.1.4.12.1
|
|
src/crypto/openssl/ssl/s2_srvr.c 1.12.2.1
|
|
src/crypto/openssl/ssl/s3_clnt.c 1.1.1.12.2.1
|
|
src/crypto/openssl/ssl/s3_srvr.c 1.1.1.14.2.2
|
|
src/crypto/openssl/ssl/s2_clnt.c 1.13.2.2
|
|
RELENG_6_4
|
|
src/UPDATING 1.416.2.40.2.5
|
|
src/sys/conf/newvers.sh 1.69.2.18.2.8
|
|
src/crypto/openssl/apps/speed.c 1.13.12.1
|
|
src/crypto/openssl/apps/verify.c 1.1.1.5.24.1
|
|
src/crypto/openssl/apps/x509.c 1.1.1.10.12.1
|
|
src/crypto/openssl/apps/spkac.c 1.1.1.4.24.1
|
|
src/crypto/openssl/ssl/s2_srvr.c 1.12.12.1
|
|
src/crypto/openssl/ssl/s3_clnt.c 1.1.1.12.12.1
|
|
src/crypto/openssl/ssl/s3_srvr.c 1.1.1.14.2.1.6.1
|
|
src/crypto/openssl/ssl/s2_clnt.c 1.13.2.1.6.1
|
|
RELENG_6_3
|
|
src/UPDATING 1.416.2.37.2.13
|
|
src/sys/conf/newvers.sh 1.69.2.15.2.12
|
|
src/crypto/openssl/apps/speed.c 1.13.10.1
|
|
src/crypto/openssl/apps/verify.c 1.1.1.5.22.1
|
|
src/crypto/openssl/apps/x509.c 1.1.1.10.10.1
|
|
src/crypto/openssl/apps/spkac.c 1.1.1.4.22.1
|
|
src/crypto/openssl/ssl/s2_srvr.c 1.12.10.1
|
|
src/crypto/openssl/ssl/s3_clnt.c 1.1.1.12.10.1
|
|
src/crypto/openssl/ssl/s3_srvr.c 1.1.1.14.2.1.4.1
|
|
src/crypto/openssl/ssl/s2_clnt.c 1.13.2.1.4.1
|
|
RELENG_7
|
|
src/crypto/openssl/apps/speed.c 1.15.2.1
|
|
src/crypto/openssl/apps/verify.c 1.1.1.6.2.1
|
|
src/crypto/openssl/apps/x509.c 1.1.1.11.2.1
|
|
src/crypto/openssl/apps/spkac.c 1.1.1.5.2.1
|
|
src/crypto/openssl/ssl/s2_srvr.c 1.13.2.1
|
|
src/crypto/openssl/ssl/s3_clnt.c 1.1.1.14.2.1
|
|
src/crypto/openssl/ssl/s3_srvr.c 1.1.1.17.2.1
|
|
src/crypto/openssl/ssl/ssltest.c 1.1.1.10.2.1
|
|
src/crypto/openssl/ssl/s2_clnt.c 1.15.2.1
|
|
RELENG_7_1
|
|
src/UPDATING 1.507.2.13.2.4
|
|
src/sys/conf/newvers.sh 1.72.2.9.2.5
|
|
src/crypto/openssl/apps/speed.c 1.15.6.1
|
|
src/crypto/openssl/apps/verify.c 1.1.1.6.6.1
|
|
src/crypto/openssl/apps/x509.c 1.1.1.11.6.1
|
|
src/crypto/openssl/apps/spkac.c 1.1.1.5.6.1
|
|
src/crypto/openssl/ssl/s2_srvr.c 1.13.6.1
|
|
src/crypto/openssl/ssl/s3_clnt.c 1.1.1.14.6.1
|
|
src/crypto/openssl/ssl/s3_srvr.c 1.1.1.17.6.1
|
|
src/crypto/openssl/ssl/ssltest.c 1.1.1.10.6.1
|
|
src/crypto/openssl/ssl/s2_clnt.c 1.15.6.1
|
|
RELENG_7_0
|
|
src/UPDATING 1.507.2.3.2.12
|
|
src/sys/conf/newvers.sh 1.72.2.5.2.12
|
|
src/crypto/openssl/apps/speed.c 1.15.4.1
|
|
src/crypto/openssl/apps/verify.c 1.1.1.6.4.1
|
|
src/crypto/openssl/apps/x509.c 1.1.1.11.4.1
|
|
src/crypto/openssl/apps/spkac.c 1.1.1.5.4.1
|
|
src/crypto/openssl/ssl/s2_srvr.c 1.13.4.1
|
|
src/crypto/openssl/ssl/s3_clnt.c 1.1.1.14.4.1
|
|
src/crypto/openssl/ssl/s3_srvr.c 1.1.1.17.4.1
|
|
src/crypto/openssl/ssl/ssltest.c 1.1.1.10.4.1
|
|
src/crypto/openssl/ssl/s2_clnt.c 1.15.4.1
|
|
- -------------------------------------------------------------------------
|
|
|
|
Subversion:
|
|
|
|
Branch/path Revision
|
|
- -------------------------------------------------------------------------
|
|
stable/6/ r186873
|
|
releng/6.4/ r186872
|
|
releng/6.3/ r186872
|
|
stable/7/ r186872
|
|
releng/7.1/ r186872
|
|
releng/7.0/ r186872
|
|
- -------------------------------------------------------------------------
|
|
|
|
VII. References
|
|
|
|
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5077
|
|
http://www.openssl.org/news/secadv_20090107.txt
|
|
|
|
The latest revision of this advisory is available at
|
|
http://security.FreeBSD.org/advisories/FreeBSD-SA-09:02.openssl.asc
|
|
-----BEGIN PGP SIGNATURE-----
|
|
Version: GnuPG v1.4.9 (FreeBSD)
|
|
|
|
iD8DBQFJZR5ZFdaIBMps37IRAofJAJ4lm2jGfsMo28c0W4zRkhZrKmttGwCgmdd9
|
|
IvNUwk47W24SwhQAGH5+Ggw=
|
|
=UHSl
|
|
-----END PGP SIGNATURE-----
|