213 lines
8.7 KiB
Text
213 lines
8.7 KiB
Text
-----BEGIN PGP SIGNED MESSAGE-----
|
|
Hash: SHA512
|
|
|
|
=============================================================================
|
|
FreeBSD-SA-15:06.openssl Security Advisory
|
|
The FreeBSD Project
|
|
|
|
Topic: Multiple OpenSSL vulnerabilities
|
|
|
|
Category: contrib
|
|
Module: openssl
|
|
Announced: 2015-03-19; Last revised on 2015-03-20.
|
|
Affects: All supported versions of FreeBSD.
|
|
Corrected: 2015-03-20 07:11:20 UTC (stable/10, 10.1-STABLE)
|
|
2015-03-20 07:12:02 UTC (releng/10.1, 10.1-RELEASE-p8)
|
|
2015-03-20 07:11:20 UTC (stable/9, 9.3-STABLE)
|
|
2015-03-20 07:12:02 UTC (releng/9.3, 9.3-RELEASE-p12)
|
|
2015-03-20 07:11:20 UTC (stable/8, 8.4-STABLE)
|
|
2015-03-20 07:12:02 UTC (releng/8.4, 8.4-RELEASE-p26)
|
|
CVE Name: CVE-2015-0209, CVE-2015-0286, CVE-2015-0287, CVE-2015-0288,
|
|
CVE-2015-0289, CVE-2015-0293
|
|
|
|
For general information regarding FreeBSD Security Advisories,
|
|
including descriptions of the fields above, security branches, and the
|
|
following sections, please visit <URL:https://security.FreeBSD.org/>.
|
|
|
|
0. Revision history
|
|
|
|
v1.0 2015-03-19 Initial release.
|
|
v1.1 2015-03-20 Reverted a portion of change that should not belong to the
|
|
advisory and did not end up in the final OpenSSL release.
|
|
The patch is also revised to include fixes for
|
|
CVE-2015-0209 and CVE-2015-0288.
|
|
|
|
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.
|
|
|
|
Abstract Syntax Notation One (ASN.1) is a standard and notation that
|
|
describes rules and structures for representing, encoding, transmitting,
|
|
and decoding data in telecommunications and computer networking, which
|
|
enables representation of objects that are independent of machine-specific
|
|
encoding technique.
|
|
|
|
II. Problem Description
|
|
|
|
A malformed elliptic curve private key file could cause a use-after-free
|
|
condition in the d2i_ECPrivateKey function. [CVE-2015-0209]
|
|
|
|
An attempt to compare ASN.1 boolean types will cause the ASN1_TYPE_cmp
|
|
function to crash with an invalid read. [CVE-2015-0286]
|
|
|
|
Reusing a structure in ASN.1 parsing may allow an attacker to cause memory
|
|
corruption via an invalid write. [CVE-2015-0287]
|
|
|
|
The function X509_to_X509_REQ will crash with a NULL pointer dereference if
|
|
the certificate key is invalid. [CVE-2015-0288]
|
|
|
|
The PKCS#7 parsing code does not handle missing outer ContentInfo correctly.
|
|
[CVE-2015-0289]
|
|
|
|
A malicious client can trigger an OPENSSL_assert in servers that both support
|
|
SSLv2 and enable export cipher suites by sending a specially crafted SSLv2
|
|
CLIENT-MASTER-KEY message. [CVE-2015-0293]
|
|
|
|
III. Impact
|
|
|
|
A malformed elliptic curve private key file can cause server daemons using
|
|
OpenSSL to crash, resulting in a Denial of Service. [CVE-2015-0209]
|
|
|
|
A remote attacker who is able to send specifically crafted certificates
|
|
may be able to crash an OpenSSL client or server. [CVE-2015-0286]
|
|
|
|
An attacker who can cause invalid writes with applications that parse
|
|
structures containing CHOICE or ANY DEFINED BY components and reusing
|
|
the structures may be able to cause them to crash. Such reuse is believed
|
|
to be rare. OpenSSL clients and servers are not affected. [CVE-2015-0287]
|
|
|
|
An attacker may be able to crash applications that create a new certificate
|
|
request with subject name the same as in an existing, specifically crafted
|
|
certificate. This usage is rare in practice. [CVE-2015-0288]
|
|
|
|
An attacker may be able to crash applications that verify PKCS#7 signatures,
|
|
decrypt PKCS#7 data or otherwise parse PKCS#7 structures with specifically
|
|
crafted certificates. [CVE-2015-0289]
|
|
|
|
A malicious client can trigger an OPENSSL_assert in servers that both support
|
|
SSLv2 and enable export cipher suites by sending a carefully crafted SSLv2
|
|
CLIENT-MASTER-KEY message, resulting in a Denial of Service. [CVE-2015-0293]
|
|
|
|
Note that two issues in the original OpenSSL advisory, CVE-2015-0204 and
|
|
CVE-2015-0292, were already addressed by FreeBSD-SA-15:01.openssl and
|
|
FreeBSD-EN-15:02.openssl.
|
|
|
|
IV. Workaround
|
|
|
|
No workaround is available.
|
|
|
|
V. Solution
|
|
|
|
Perform one of the following:
|
|
|
|
1) Upgrade your vulnerable system to a supported FreeBSD stable or
|
|
release / security branch (releng) dated after the correction date.
|
|
|
|
2) To update your vulnerable system via a binary patch:
|
|
|
|
Systems running a RELEASE version of FreeBSD on the i386 or amd64
|
|
platforms can be updated via the freebsd-update(8) utility:
|
|
|
|
# freebsd-update fetch
|
|
# freebsd-update install
|
|
|
|
3) To update your vulnerable system via a source code patch:
|
|
|
|
The following patches have been verified to apply to the applicable
|
|
FreeBSD release branches.
|
|
|
|
a) Download the relevant patch from the location below, and verify the
|
|
detached PGP signature using your PGP utility.
|
|
|
|
[FreeBSD 8.4 and FreeBSD 9.3]
|
|
# fetch https://security.FreeBSD.org/patches/SA-15:06/openssl-0.9.8.patch
|
|
# fetch https://security.FreeBSD.org/patches/SA-15:06/openssl-0.9.8.patch.asc
|
|
# gpg --verify openssl-0.9.8.patch.asc
|
|
|
|
# fetch https://security.FreeBSD.org/patches/SA-15:06/openssl-0.9.8-errata.patch
|
|
# fetch https://security.FreeBSD.org/patches/SA-15:06/openssl-0.9.8-errata.patch.asc
|
|
# gpg --verify openssl-0.9.8-errata.patch.asc
|
|
|
|
[FreeBSD 10.1]
|
|
# fetch https://security.FreeBSD.org/patches/SA-15:06/openssl-1.0.1.patch
|
|
# fetch https://security.FreeBSD.org/patches/SA-15:06/openssl-1.0.1.patch.asc
|
|
# gpg --verify openssl-1.0.1.patch.asc
|
|
|
|
# fetch https://security.FreeBSD.org/patches/SA-15:06/openssl-1.0.1-errata.patch
|
|
# fetch https://security.FreeBSD.org/patches/SA-15:06/openssl-1.0.1-errata.patch.asc
|
|
# gpg --verify openssl-1.0.1-errata.patch.asc
|
|
|
|
b) Apply the patch. Execute the following commands as root:
|
|
|
|
# cd /usr/src
|
|
# patch < /path/to/patch
|
|
|
|
c) Recompile the operating system using buildworld and installworld as
|
|
described in <URL:https://www.FreeBSD.org/handbook/makeworld.html>.
|
|
|
|
Restart all deamons using the library, or reboot the system.
|
|
|
|
VI. Correction details
|
|
|
|
The following list contains the correction revision numbers for each
|
|
affected branch.
|
|
|
|
Branch/path Revision
|
|
- -------------------------------------------------------------------------
|
|
stable/8/ r280274
|
|
releng/8.4/ r280275
|
|
stable/9/ r280274
|
|
releng/9.3/ r280275
|
|
stable/10/ r280274
|
|
releng/10.1/ r280275
|
|
- -------------------------------------------------------------------------
|
|
|
|
To see which files were modified by a particular revision, run the
|
|
following command, replacing NNNNNN with the revision number, on a
|
|
machine with Subversion installed:
|
|
|
|
# svn diff -cNNNNNN --summarize svn://svn.freebsd.org/base
|
|
|
|
Or visit the following URL, replacing NNNNNN with the revision number:
|
|
|
|
<URL:https://svnweb.freebsd.org/base?view=revision&revision=NNNNNN>
|
|
|
|
VII. References
|
|
|
|
<URL:https://www.openssl.org/news/secadv_20150319.txt>
|
|
|
|
<URL:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0209>
|
|
|
|
<URL:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0286>
|
|
|
|
<URL:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0287>
|
|
|
|
<URL:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0288>
|
|
|
|
<URL:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0289>
|
|
|
|
<URL:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0293>
|
|
|
|
The latest revision of this advisory is available at
|
|
<URL:https://security.FreeBSD.org/advisories/FreeBSD-SA-15:06.openssl.asc>
|
|
-----BEGIN PGP SIGNATURE-----
|
|
Version: GnuPG v2.1.2 (FreeBSD)
|
|
|
|
iQIcBAEBCgAGBQJVC8m8AAoJEO1n7NZdz2rn/lQP/1ZrUSnxaoaZxQbLrBZlg7Jr
|
|
dAgjo4JTSPwyJM3gQY+WD1WPChxIJvbndR/NQux9grrn6N06kD+q0DUHOXi6MAL0
|
|
TqMEGxAqVlIUVdn18xZJaIwEzcx5HJKQz2UOMk3UGjy3WSh93p25oewF/cIcaryN
|
|
FKAmpXmmPm77Qv5Vr1st8OyjnP7XiMmerSEWVGqFLsJPye5lvHcPOZrzQkRQRQJf
|
|
1b896UaOezw4v8C2HJvJMrQLN4l/ahCV6NsuQnN1/yzo8cS75OxMsooo8VgA8k0G
|
|
ADuNFb1oZIygoin6ZOxlSHeeh+A6mdhitU4hNNy2rBNTC9IwijCg/dx/x1rutAxb
|
|
3MHUcCmF0sNewTkDwdzSvVCR4pYAAPI3yG0gUlXMTepQpH6Ozjf77OPW5KQPVGzf
|
|
ijqOS32hprqVklDu2yREUv1AY0srboES5b9XQyfkFCFyNF8VX3OaDL8jHdfQezSx
|
|
njF8UVUydmC7szDCW+MmQoNo4NaPCLd2m3l25RRD8SAdR9jB8WIox59E1k2O+LP/
|
|
rgO6wial36CUiTc5SdbCzVom9K/KhKXeBWAlCnK9R9DCNaUaiBIvTBngtGdfjxxi
|
|
bJxoSqXSnfVwhGE565cwtODR/qMfRxY6Z8g4JEkSQN5SmzezmyLCdmXCpktHkC21
|
|
XQG0M1dIh8m3m67rEyE6
|
|
=C2Zp
|
|
-----END PGP SIGNATURE-----
|