199 lines
7.8 KiB
Text
199 lines
7.8 KiB
Text
-----BEGIN PGP SIGNED MESSAGE-----
|
|
Hash: SHA512
|
|
|
|
=============================================================================
|
|
FreeBSD-SA-15:16.openssh Security Advisory
|
|
The FreeBSD Project
|
|
|
|
Topic: OpenSSH multiple vulnerabilities
|
|
|
|
Category: contrib
|
|
Module: openssh
|
|
Announced: 2015-07-28, revised on 2015-07-30
|
|
Affects: All supported versions of FreeBSD.
|
|
Corrected: 2015-07-28 19:58:44 UTC (stable/10, 10.2-PRERELEASE)
|
|
2015-07-28 19:58:44 UTC (stable/10, 10.2-BETA2-p2)
|
|
2015-07-28 19:59:04 UTC (releng/10.2, 10.2-RC1-p1)
|
|
2015-07-28 19:59:11 UTC (releng/10.1, 10.1-RELEASE-p16)
|
|
2015-07-28 19:58:54 UTC (stable/9, 9.3-STABLE)
|
|
2015-07-28 19:59:22 UTC (releng/9.3, 9.3-RELEASE-p21)
|
|
2015-07-30 10:09:07 UTC (stable/8, 8.4-STABLE)
|
|
2015-07-30 10:09:31 UTC (releng/8.4, 8.4-RELEASE-p36)
|
|
CVE Name: CVE-2014-2653, CVE-2015-5600
|
|
|
|
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-07-28 Initial release.
|
|
v1.1 2015-07-30 Revised patch for FreeBSD 8.x to address regression when
|
|
keyboard interactive authentication is used.
|
|
v1.2 2015-07-30 Revised for typos.
|
|
|
|
I. Background
|
|
|
|
OpenSSH is an implementation of the SSH protocol suite, providing an
|
|
encrypted and authenticated transport for a variety of services,
|
|
including remote shell access.
|
|
|
|
The security of the SSH connection relies on the server authenticating
|
|
itself to the client as well as the user authenticating itself to the
|
|
server. SSH servers uses host keys to verify their identity.
|
|
|
|
RFC 4255 has defined a method of verifying SSH host keys using Domain
|
|
Name System Security (DNSSEC), by publishing the key fingerprint using
|
|
DNS with "SSHFP" resource record. RFC 6187 has defined methods to use
|
|
a signature by a trusted certification authority to bind a given public
|
|
key to a given digital identity with X.509v3 certificates.
|
|
|
|
The PAM (Pluggable Authentication Modules) library provides a flexible
|
|
framework for user authentication and session setup / teardown.
|
|
|
|
OpenSSH uses PAM for password authentication by default.
|
|
|
|
II. Problem Description
|
|
|
|
OpenSSH clients does not correctly verify DNS SSHFP records when a server
|
|
offers a certificate. [CVE-2014-2653]
|
|
|
|
OpenSSH servers which are configured to allow password authentication
|
|
using PAM (default) would allow many password attempts.
|
|
|
|
III. Impact
|
|
|
|
A malicious server may be able to force a connecting client to skip DNS
|
|
SSHFP record check and require the user to perform manual host verification
|
|
of the host key fingerprint. This could allow man-in-the-middle attack
|
|
if the user does not carefully check the fingerprint. [CVE-2014-2653]
|
|
|
|
A remote attacker may effectively bypass MaxAuthTries settings, which would
|
|
enable them to brute force passwords. [CVE-2015-5600]
|
|
|
|
IV. Workaround
|
|
|
|
Systems that do not use OpenSSH are not affected.
|
|
|
|
There is no workaround for CVE-2014-2653, but the problem only affects
|
|
networks where DNSsec and SSHFP is properly configured. Users who uses
|
|
SSH should always check server host key fingerprints carefully when
|
|
prompted.
|
|
|
|
System administrators can set:
|
|
|
|
UsePAM no
|
|
|
|
In their /etc/ssh/sshd_config and restart sshd service to workaround the
|
|
problem described as CVE-2015-5600 at expense of losing features provided
|
|
by the PAM framework.
|
|
|
|
We recommend system administrators to disable password based authentication
|
|
completely, and use key based authentication exclusively in their SSH server
|
|
configuration, when possible. This would eliminate the possibility of being
|
|
ever exposed to password brute force attack.
|
|
|
|
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.
|
|
|
|
SSH service has to be restarted after the update. A reboot is recommended
|
|
but not required.
|
|
|
|
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
|
|
|
|
SSH service has to be restarted after the update. A reboot is recommended
|
|
but not required.
|
|
|
|
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 9.3, 10.1, 10.2]
|
|
# fetch https://security.FreeBSD.org/patches/SA-15:16/openssh.patch
|
|
# fetch https://security.FreeBSD.org/patches/SA-15:16/openssh.patch.asc
|
|
# gpg --verify openssh.patch.asc
|
|
|
|
[FreeBSD 8.4]
|
|
# fetch https://security.FreeBSD.org/patches/SA-15:16/openssh-8.patch
|
|
# fetch https://security.FreeBSD.org/patches/SA-15:16/openssh-8.patch.asc
|
|
# gpg --verify openssh-8.patch.asc
|
|
|
|
# fetch https://security.FreeBSD.org/patches/SA-15:16/openssh-8-errata.patch
|
|
# fetch https://security.FreeBSD.org/patches/SA-15:16/openssh-8-errata.patch.asc
|
|
# gpg --verify openssh-8-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 the SSH service, or reboot the system.
|
|
|
|
VI. Correction details
|
|
|
|
The following list contains the correction revision numbers for each
|
|
affected branch.
|
|
|
|
Branch/path Revision
|
|
- -------------------------------------------------------------------------
|
|
stable/8/ r286067
|
|
releng/8.4/ r286068
|
|
stable/9/ r285977
|
|
releng/9.3/ r285980
|
|
stable/10/ r285976
|
|
releng/10.1/ r285979
|
|
releng/10.2/ r285978
|
|
- -------------------------------------------------------------------------
|
|
|
|
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-2014-2653>
|
|
|
|
<URL:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-5600>
|
|
|
|
The latest revision of this advisory is available at
|
|
<URL:https://security.FreeBSD.org/advisories/FreeBSD-SA-15:16.openssh.asc>
|
|
-----BEGIN PGP SIGNATURE-----
|
|
Version: GnuPG v2.1.6 (FreeBSD)
|
|
|
|
iQIcBAEBCgAGBQJVulgaAAoJEO1n7NZdz2rnhdMP/3d3HYI6Rz+1jLhRB5WhwVg5
|
|
2z16m5KAabsL3QZuTItZ5gv2DB4b3BjP91kIhAS5WSpyPU503N1OhxhyhEmRPeGJ
|
|
Sf0oX54/uFDg8dHhLt2FHT+ebtndHYy+jqfOODZmf4CotCqeEVXnBDzeaYq4iAvY
|
|
6UHFu3n8UPdooNWfG+20Tfo9gOkM65rczODjOt1tPICK0oar07xVlLcC5UBdYQuT
|
|
ztNg42lmXjftS5hGifo4uuGeeqaI+0uB3LcMo9WCYFo2kwMVghNIQUcCWnDDqZ6h
|
|
2Ci4Ho4N6FXiQnJ8d4Zwo6+cESeFhqDrPsO6KmeourVwiH8TXUTNxxm5o7fC+clL
|
|
3d7vsckBYPZdHKZb+E3SktjPTHaEXGrKMq24rwCTWf9GzvHVAehOEzYUPssR55lg
|
|
q7O6SoaWmSsa7uxYdyj1ZKQRYfVkVV8I7kfV9z56ZUngPaJySA145LHuC8G2Hbm5
|
|
YAFCsGgsrSSycWJNqAeFsNFdq9BWvbl2UdvR4lgXDN8Fty0fTqEKyq6qwDj3uDul
|
|
1NzGijH5GyhR3PEUBgGYNL1RvmL9FY+47HAqLXTfadypevozQqwUCIIN329uJPZ/
|
|
VTQte7DQmMvwlDus5ihCLZ3/hfR/54Fixo7FkwCud+YBRmgeG9SnIuCNaX4nZB6R
|
|
gzAUSqUVcWz7N1/nyns8
|
|
=qKoP
|
|
-----END PGP SIGNATURE-----
|