Add SA-17:11.
This commit is contained in:
parent
220ab9dfd3
commit
e9829dbfa1
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=51235
6 changed files with 294 additions and 0 deletions
166
share/security/advisories/FreeBSD-SA-17:11.openssl.asc
Normal file
166
share/security/advisories/FreeBSD-SA-17:11.openssl.asc
Normal file
|
@ -0,0 +1,166 @@
|
||||||
|
-----BEGIN PGP SIGNED MESSAGE-----
|
||||||
|
Hash: SHA512
|
||||||
|
|
||||||
|
=============================================================================
|
||||||
|
FreeBSD-SA-17:11.openssl Security Advisory
|
||||||
|
The FreeBSD Project
|
||||||
|
|
||||||
|
Topic: OpenSSL multiple vulnerabilities
|
||||||
|
|
||||||
|
Category: contrib
|
||||||
|
Module: openssl
|
||||||
|
Announced: 2017-11-29
|
||||||
|
Affects: All supported versions of FreeBSD.
|
||||||
|
Corrected: 2017-11-02 18:30:41 UTC (stable/11, 11.1-STABLE)
|
||||||
|
2017-11-29 05:59:12 UTC (releng/11.1, 11.1-RELEASE-p5)
|
||||||
|
2017-11-29 05:59:12 UTC (releng/11.0, 11.0-RELEASE-p16)
|
||||||
|
2017-11-29 05:35:28 UTC (stable/10, 10.4-STABLE)
|
||||||
|
2017-11-29 05:59:50 UTC (releng/10.4, 10.4-RELEASE-p4)
|
||||||
|
2017-11-29 05:59:50 UTC (releng/10.3, 10.3-RELEASE-p25)
|
||||||
|
CVE Name: CVE-2017-3735, CVE-2017-3736
|
||||||
|
|
||||||
|
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/>.
|
||||||
|
|
||||||
|
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 for the Transport Layer Security (TLS) and Secure Sockets
|
||||||
|
Layer (SSL) protocols. It is also a full-strength general purpose
|
||||||
|
cryptography library.
|
||||||
|
|
||||||
|
II. Problem Description
|
||||||
|
|
||||||
|
If an X.509 certificate has a malformed IPAddressFamily extension, OpenSSL
|
||||||
|
could do a one-byte buffer overread. [CVE-2017-3735]
|
||||||
|
|
||||||
|
There is a carry propagating bug in the x86_64 Montgomery squaring procedure.
|
||||||
|
This only affects processors that support the BMI1, BMI2 and ADX extensions
|
||||||
|
like Intel Broadwell (5th generation) and later or AMD Ryzen. [CVE-2017-3736]
|
||||||
|
This bug only affects FreeBSD 11.x.
|
||||||
|
|
||||||
|
III. Impact
|
||||||
|
|
||||||
|
Application using OpenSSL may display erroneous certificate in text format.
|
||||||
|
[CVE-2017-3735]
|
||||||
|
|
||||||
|
Mishandling of carry propagation will produce incorrect output, and make it
|
||||||
|
easier for a remote attacker to obtain sensitive private-key information.
|
||||||
|
No EC algorithms are affected, analysis suggests that attacks against RSA
|
||||||
|
and DSA as a result of this defect would be very difficult to perform and
|
||||||
|
are not believed likely.
|
||||||
|
|
||||||
|
Attacks against DH are considered just feasible (although very difficult)
|
||||||
|
because most of the work necessary to deduce information about a private
|
||||||
|
key may be performed offline. The amount of resources required for such
|
||||||
|
an attack would be very significant and likely only accessible to a limited
|
||||||
|
number of attackers. An attacker would additionally need online access to
|
||||||
|
an unpatched system using the target private key in a scenario with
|
||||||
|
persistent DH parameters and a private key that is shared between multiple
|
||||||
|
clients. [CVE-2017-3736]
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Restart all daemons that use the library, or reboot the system.
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
Restart all daemons that use the library, or reboot the system.
|
||||||
|
|
||||||
|
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 10.3]
|
||||||
|
# fetch https://security.FreeBSD.org/patches/SA-17:11/openssl-10.patch
|
||||||
|
# fetch https://security.FreeBSD.org/patches/SA-17:11/openssl-10.patch.asc
|
||||||
|
# gpg --verify openssl-10.patch.asc
|
||||||
|
|
||||||
|
[FreeBSD 11.x]
|
||||||
|
# fetch https://security.FreeBSD.org/patches/SA-17:11/openssl.patch
|
||||||
|
# fetch https://security.FreeBSD.org/patches/SA-17:11/openssl.patch.asc
|
||||||
|
# gpg --verify openssl.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 daemons that use 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/10/ r326357
|
||||||
|
releng/10.3/ r326359
|
||||||
|
releng/10.4/ r326359
|
||||||
|
stable/11/ r325337
|
||||||
|
releng/11.0/ r326358
|
||||||
|
releng/11.1/ r326358
|
||||||
|
- -------------------------------------------------------------------------
|
||||||
|
|
||||||
|
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://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3735>
|
||||||
|
|
||||||
|
<URL:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-3736>
|
||||||
|
|
||||||
|
<URL:https://www.openssl.org/news/secadv/20171102.txt>
|
||||||
|
|
||||||
|
The latest revision of this advisory is available at
|
||||||
|
<URL:https://security.FreeBSD.org/advisories/FreeBSD-SA-17:11.openssl.asc>
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
Version: GnuPG v2.2.3 (FreeBSD)
|
||||||
|
|
||||||
|
iQIzBAEBCgAdFiEEHPf/b631yp++G4yy7Wfs1l3PaucFAloeTmQACgkQ7Wfs1l3P
|
||||||
|
aueQNRAAzUxb6H1JAgmgCRUKzN00FunkUNygvcvJRL9jK6h1TRCGvKk/jhdmakqZ
|
||||||
|
r/x7zjWSWBh3oBg6V3egTRIMcpSDmjKIkf/H/q9eeSlQKfHR5MVadCedghy1nq3c
|
||||||
|
XmpDlKyLp1zuy8gzkJNQCiIqn9BvxBRaUCzPJKFlpmgQwZStZvqpxUScJOX3X4ZC
|
||||||
|
tjlF3kaBE/9IKX8p8vulWWM+vXwsDxVKRulUeFAL75eIwo9YWva1hsUBLruKo1xg
|
||||||
|
CgWPJ4AXa9PL8WdJsYFkOA9R9wqBs1q6A+zuUQQJw5qQnQdg/rMchKsdS8I/dV7F
|
||||||
|
01qYYfM25q109pnNFEhIZNsZ4mIbBpW0hxzTwaq6f8bd8+7JuP3mH2xFHxIfNUzp
|
||||||
|
jrK1DSn/kOGf0Dun8mrBAsO4y+3F92GbqOHdUzPnTAtHOHwmjIY3ljsbHnTNtUxm
|
||||||
|
44X2O+6XIGmzUxQMOFqAfe8wRkBhIGMcEpY4NTW6g8hPJBk1o0dQgtDLpg6i+Wj/
|
||||||
|
p+jDSNgkD4aFzsMoGc1kYsIT7qVBqn8jBydIUyrY5wQMNC+15+cDoF2QwKjGIU2H
|
||||||
|
yWEjaec2dY6YtakMiQV8U0WPRSEj18lrSs7L9uizZSS0UHquP/xY8b6yFrBPvwXQ
|
||||||
|
gVS3ZVKLOvCgGvl9MsJzB/FAR2jdOZdz6QzWchyG0PVZQVCPjBQ=
|
||||||
|
=9Q78
|
||||||
|
-----END PGP SIGNATURE-----
|
19
share/security/patches/SA-17:11/openssl-10.patch
Normal file
19
share/security/patches/SA-17:11/openssl-10.patch
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
--- crypto/openssl/crypto/x509v3/v3_addr.c.orig
|
||||||
|
+++ crypto/openssl/crypto/x509v3/v3_addr.c
|
||||||
|
@@ -130,10 +130,12 @@
|
||||||
|
*/
|
||||||
|
unsigned int v3_addr_get_afi(const IPAddressFamily *f)
|
||||||
|
{
|
||||||
|
- return ((f != NULL &&
|
||||||
|
- f->addressFamily != NULL && f->addressFamily->data != NULL)
|
||||||
|
- ? ((f->addressFamily->data[0] << 8) | (f->addressFamily->data[1]))
|
||||||
|
- : 0);
|
||||||
|
+ if (f == NULL
|
||||||
|
+ || f->addressFamily == NULL
|
||||||
|
+ || f->addressFamily->data == NULL
|
||||||
|
+ || f->addressFamily->length < 2)
|
||||||
|
+ return 0;
|
||||||
|
+ return (f->addressFamily->data[0] << 8) | f->addressFamily->data[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
17
share/security/patches/SA-17:11/openssl-10.patch.asc
Normal file
17
share/security/patches/SA-17:11/openssl-10.patch.asc
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
Version: GnuPG v2.2.3 (FreeBSD)
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEHPf/b631yp++G4yy7Wfs1l3PaucFAloeToEACgkQ7Wfs1l3P
|
||||||
|
aufSLA//X4kKoir7fhdlprg9oTE54WmueGfgE5qYj8ZOelJJ6zR1c7stXDZ6BY4D
|
||||||
|
2aYlkL8C3j0iPPuN7pPq+g1zM3TybllcQH91coBpF/r8QnWAID9ZIARWmck11K/3
|
||||||
|
9a3oMtMXC5Zsy5e3cXCWQvKwjZy3/83/WdOh1aOZKTRnB6zvHbu94PwFj2EvW4YZ
|
||||||
|
kypD2/8MZUCDSvMDDwNHGgXqCuqXR8RTxt9Z7PyiQcms5qwn77UtdlUhIGt+SRWB
|
||||||
|
XsdryyQnS/zGcRy606qBweitN3S6hBUhLDWAruBFN+3R3Rk+Tcf1EV3mqcUGqPj1
|
||||||
|
KpD8LLgVnriwm0pZjn2bX+uXv38RvosrFRutOq3G3gFfsa4zzAzSjdRLzczDQcor
|
||||||
|
r7yBxqQs8Xm/OiHmXD5Ch2ly7mTwwbnqIgDYkVlDKZFIVcJkqgQlIx4m+z3WDixM
|
||||||
|
FjN+HoXWF9AfgWoS7Ka287uqWE/3Yzgi8d8t9YGyjqYaSVzN864JmpULqDBF74dU
|
||||||
|
4X7OGZqyeD7SrjZZwxktcTvNLtrR2ftTBWvRoosPq1qs+5kQv97TtdDvhtTsrfgP
|
||||||
|
TOHOc72aEqjERKFaXzwn+RCrDZ7ljTEhrcHa1nYfoKSX9jwIxAFK26fQ/6nyIiqx
|
||||||
|
vqLrYYY1bx2YMHyDAskMXVrXPNC8doG3CazHF8L5fiThDRaMEC8=
|
||||||
|
=QvsH
|
||||||
|
-----END PGP SIGNATURE-----
|
67
share/security/patches/SA-17:11/openssl.patch
Normal file
67
share/security/patches/SA-17:11/openssl.patch
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
--- crypto/openssl/crypto/bn/asm/x86_64-mont5.pl.orig
|
||||||
|
+++ crypto/openssl/crypto/bn/asm/x86_64-mont5.pl
|
||||||
|
@@ -3090,11 +3090,19 @@
|
||||||
|
|
||||||
|
.align 32
|
||||||
|
.Lsqrx8x_break:
|
||||||
|
- sub 16+8(%rsp),%r8 # consume last carry
|
||||||
|
+ xor $zero,$zero
|
||||||
|
+ sub 16+8(%rsp),%rbx # mov 16(%rsp),%cf
|
||||||
|
+ adcx $zero,%r8
|
||||||
|
mov 24+8(%rsp),$carry # initial $tptr, borrow $carry
|
||||||
|
+ adcx $zero,%r9
|
||||||
|
mov 0*8($aptr),%rdx # a[8], modulo-scheduled
|
||||||
|
- xor %ebp,%ebp # xor $zero,$zero
|
||||||
|
+ adc \$0,%r10
|
||||||
|
mov %r8,0*8($tptr)
|
||||||
|
+ adc \$0,%r11
|
||||||
|
+ adc \$0,%r12
|
||||||
|
+ adc \$0,%r13
|
||||||
|
+ adc \$0,%r14
|
||||||
|
+ adc \$0,%r15
|
||||||
|
cmp $carry,$tptr # cf=0, of=0
|
||||||
|
je .Lsqrx8x_outer_loop
|
||||||
|
|
||||||
|
--- crypto/openssl/crypto/x509v3/v3_addr.c.orig
|
||||||
|
+++ crypto/openssl/crypto/x509v3/v3_addr.c
|
||||||
|
@@ -130,10 +130,12 @@
|
||||||
|
*/
|
||||||
|
unsigned int v3_addr_get_afi(const IPAddressFamily *f)
|
||||||
|
{
|
||||||
|
- return ((f != NULL &&
|
||||||
|
- f->addressFamily != NULL && f->addressFamily->data != NULL)
|
||||||
|
- ? ((f->addressFamily->data[0] << 8) | (f->addressFamily->data[1]))
|
||||||
|
- : 0);
|
||||||
|
+ if (f == NULL
|
||||||
|
+ || f->addressFamily == NULL
|
||||||
|
+ || f->addressFamily->data == NULL
|
||||||
|
+ || f->addressFamily->length < 2)
|
||||||
|
+ return 0;
|
||||||
|
+ return (f->addressFamily->data[0] << 8) | f->addressFamily->data[1];
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
--- secure/lib/libcrypto/amd64/x86_64-mont5.S.orig
|
||||||
|
+++ secure/lib/libcrypto/amd64/x86_64-mont5.S
|
||||||
|
@@ -3077,11 +3077,19 @@
|
||||||
|
|
||||||
|
.align 32
|
||||||
|
.Lsqrx8x_break:
|
||||||
|
- subq 16+8(%rsp),%r8
|
||||||
|
+ xorq %rbp,%rbp
|
||||||
|
+ subq 16+8(%rsp),%rbx
|
||||||
|
+ adcxq %rbp,%r8
|
||||||
|
movq 24+8(%rsp),%rcx
|
||||||
|
+ adcxq %rbp,%r9
|
||||||
|
movq 0(%rsi),%rdx
|
||||||
|
- xorl %ebp,%ebp
|
||||||
|
+ adcq $0,%r10
|
||||||
|
movq %r8,0(%rdi)
|
||||||
|
+ adcq $0,%r11
|
||||||
|
+ adcq $0,%r12
|
||||||
|
+ adcq $0,%r13
|
||||||
|
+ adcq $0,%r14
|
||||||
|
+ adcq $0,%r15
|
||||||
|
cmpq %rcx,%rdi
|
||||||
|
je .Lsqrx8x_outer_loop
|
||||||
|
|
17
share/security/patches/SA-17:11/openssl.patch.asc
Normal file
17
share/security/patches/SA-17:11/openssl.patch.asc
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
-----BEGIN PGP SIGNATURE-----
|
||||||
|
Version: GnuPG v2.2.3 (FreeBSD)
|
||||||
|
|
||||||
|
iQIzBAABCgAdFiEEHPf/b631yp++G4yy7Wfs1l3PaucFAloeToIACgkQ7Wfs1l3P
|
||||||
|
aueWcg//RlFQI3WV/Tp0/Rr97YHQz1UD4rdqGLq+Thl3alcW3Qv/78SdAGe8uH+D
|
||||||
|
gNsz75tNH5GAR1jrxawXQfrYttasfJgL+gmJxFZWx5NeVW0XbP2i9XIcc6cwgN5x
|
||||||
|
hRWRbaBrnmGDwP/DFhqPr/Dc4bT8UpfEKSOKt51F5XiZMSNcNFoh3rbBCf4Vr631
|
||||||
|
0NroVSCKNJAOKl0ZXF//tm3tbMmWgrI8SMlJjfDa9sqd0e3iJoouHe+z+kYDpbQ1
|
||||||
|
tx78U1PaUV651T+gMc9ynyG4+V9TBFS+5pEjEw+IKBSQ4EW8rsEOzin80CdgcwJo
|
||||||
|
uFmnCXyr/xOy9pNNWipug9qo0f1beQ5txo1LQb55eR5U4N58Pp90+OoMc7noAfBd
|
||||||
|
kHJUJQkbqoi+CNivK0W7zLOcWw0iBWEhiI3FIEDXnXI86r7evVTHozPPJhcp276c
|
||||||
|
k1KTJPxcs7YOEpKJYIXL5Ec3SXzXgGPwhUvq64sKrSSmB0nUb/vbH/SlDrT6Q99d
|
||||||
|
ifFgpZ2gZmGVkQM0eIDeChQCD19xu1BLbw9mvlw8RqA1NIbqWlBdxmlLGY00iPy2
|
||||||
|
TxiHJWaOdF0OnhS/LHe6BtKmhcpllpERMvCrDtlnG37DR07VPs5hM6mSFDwYZN7/
|
||||||
|
0/MdsoODCQIOdsXMUo/d74F36/cPL/1QgPYpO3OdVpIovzl3MRQ=
|
||||||
|
=CiUu
|
||||||
|
-----END PGP SIGNATURE-----
|
|
@ -10,6 +10,14 @@
|
||||||
<month>
|
<month>
|
||||||
<name>11</name>
|
<name>11</name>
|
||||||
|
|
||||||
|
<day>
|
||||||
|
<name>29</name>
|
||||||
|
|
||||||
|
<advisory>
|
||||||
|
<name>FreeBSD-SA-17:11.openssl</name>
|
||||||
|
</advisory>
|
||||||
|
</day>
|
||||||
|
|
||||||
<day>
|
<day>
|
||||||
<name>15</name>
|
<name>15</name>
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue