3571e53040
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)
273 lines
15 KiB
Text
273 lines
15 KiB
Text
-----BEGIN PGP SIGNED MESSAGE-----
|
|
Hash: SHA1
|
|
|
|
=============================================================================
|
|
FreeBSD-SA-06:22.openssh Security Advisory
|
|
The FreeBSD Project
|
|
|
|
Topic: Multiple vulnerabilities in OpenSSH
|
|
|
|
Category: contrib
|
|
Module: openssh
|
|
Announced: 2006-09-30
|
|
Credits: Tavis Ormandy, Mark Dowd
|
|
Affects: All FreeBSD releases.
|
|
Corrected: 2006-09-30 19:50:57 UTC (RELENG_6, 6.2-PRERELEASE)
|
|
2006-09-30 19:51:56 UTC (RELENG_6_1, 6.1-RELEASE-p10)
|
|
2006-09-30 19:53:21 UTC (RELENG_6_0, 6.0-RELEASE-p15)
|
|
2006-09-30 19:54:03 UTC (RELENG_5, 5.5-STABLE)
|
|
2006-09-30 19:54:58 UTC (RELENG_5_5, 5.5-RELEASE-p8)
|
|
2006-09-30 19:55:52 UTC (RELENG_5_4, 5.4-RELEASE-p22)
|
|
2006-09-30 19:56:38 UTC (RELENG_5_3, 5.3-RELEASE-p37)
|
|
2006-09-30 19:57:15 UTC (RELENG_4, 4.11-STABLE)
|
|
2006-09-30 19:58:07 UTC (RELENG_4_11, 4.11-RELEASE-p25)
|
|
CVE Name: CVE-2006-4924, CVE-2006-5051
|
|
|
|
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
|
|
|
|
OpenSSH is an implementation of the SSH protocol suite, providing an
|
|
encrypted, authenticated transport for a variety of services,
|
|
including remote shell access.
|
|
|
|
II. Problem Description
|
|
|
|
The CRC compensation attack detector in the sshd(8) daemon, upon receipt
|
|
of duplicate blocks, uses CPU time cubic in the number of duplicate
|
|
blocks received. [CVE-2006-4924]
|
|
|
|
A race condition exists in a signal handler used by the sshd(8) daemon
|
|
to handle the LoginGraceTime option, which can potentially cause some
|
|
cleanup routines to be executed multiple times. [CVE-2006-5051]
|
|
|
|
III. Impact
|
|
|
|
An attacker sending specially crafted packets to sshd(8) can cause a
|
|
Denial of Service by using 100% of CPU time until a connection timeout
|
|
occurs. Since this attack can be performed over multiple connections
|
|
simultaneously, it is possible to cause up to MaxStartups (10 by default)
|
|
sshd processes to use all the CPU time they can obtain. [CVE-2006-4924]
|
|
|
|
The OpenSSH project believe that the race condition can lead to a Denial
|
|
of Service or potentially remote code execution, but the FreeBSD Security
|
|
Team has been unable to verify the exact impact. [CVE-2006-5051]
|
|
|
|
IV. Workaround
|
|
|
|
The attack against the CRC compensation attack detector can be avoided
|
|
by disabling SSH Protocol version 1 support in sshd_config(5).
|
|
|
|
There is no workaround for the second issue.
|
|
|
|
V. Solution
|
|
|
|
Perform one of the following:
|
|
|
|
1) Upgrade your vulnerable system to 4-STABLE, 5-STABLE, or 6-STABLE,
|
|
or to the RELENG_6_1, RELENG_6_0, RELENG_5_5, RELENG_5_4, RELENG_5_3,
|
|
or RELENG_4_11 security branch dated after the correction date.
|
|
|
|
2) To patch your present system:
|
|
|
|
The following patches have been verified to apply to FreeBSD 4.11, 5.3,
|
|
5.4, 5.5, 6.0, and 6.1 systems.
|
|
|
|
a) Download the relevant patch from the location below, and verify the
|
|
detached PGP signature using your PGP utility.
|
|
|
|
[FreeBSD 4.11]
|
|
# fetch http://security.FreeBSD.org/patches/SA-06:22/openssh4x.patch
|
|
# fetch http://security.FreeBSD.org/patches/SA-06:22/openssh4x.patch.asc
|
|
|
|
[FreeBSD 5.x]
|
|
# fetch http://security.FreeBSD.org/patches/SA-06:22/openssh5x.patch
|
|
# fetch http://security.FreeBSD.org/patches/SA-06:22/openssh5x.patch.asc
|
|
|
|
[FreeBSD 6.x]
|
|
# fetch http://security.FreeBSD.org/patches/SA-06:22/openssh6x.patch
|
|
# fetch http://security.FreeBSD.org/patches/SA-06:22/openssh6x.patch.asc
|
|
|
|
b) Execute the following commands as root:
|
|
|
|
# cd /usr/src
|
|
# patch < /path/to/patch
|
|
# cd /usr/src/secure/lib/libssh
|
|
# make obj && make depend && make && make install
|
|
# cd /usr/src/secure/usr.sbin/sshd
|
|
# make obj && make depend && make && make install
|
|
|
|
c) Restart the SSH daemon. On FreeBSD 5.x and 6.x, this can be done via
|
|
|
|
# /etc/rc.d/sshd restart
|
|
|
|
VI. Correction details
|
|
|
|
The following list contains the revision numbers of each file that was
|
|
corrected in FreeBSD.
|
|
|
|
Branch Revision
|
|
Path
|
|
- -------------------------------------------------------------------------
|
|
RELENG_4
|
|
src/crypto/openssh/deattack.c 1.1.1.1.2.6
|
|
src/crypto/openssh/deattack.h 1.1.1.1.2.3
|
|
src/crypto/openssh/defines.h 1.1.1.2.2.3
|
|
src/crypto/openssh/log.c 1.1.1.1.2.6
|
|
src/crypto/openssh/log.h 1.1.1.1.2.4
|
|
src/crypto/openssh/packet.c 1.1.1.1.2.7
|
|
src/crypto/openssh/ssh_config 1.2.2.10
|
|
src/crypto/openssh/ssh_config.5 1.4.2.6
|
|
src/crypto/openssh/sshd.c 1.6.2.12
|
|
src/crypto/openssh/sshd_config 1.4.2.14
|
|
src/crypto/openssh/sshd_config.5 1.5.2.8
|
|
src/crypto/openssh/version.h 1.1.1.1.2.14
|
|
RELENG_4_11
|
|
src/UPDATING 1.73.2.91.2.26
|
|
src/sys/conf/newvers.sh 1.44.2.39.2.29
|
|
src/crypto/openssh/deattack.c 1.1.1.1.2.5.6.1
|
|
src/crypto/openssh/deattack.h 1.1.1.1.2.2.10.1
|
|
src/crypto/openssh/defines.h 1.1.1.2.2.2.8.1
|
|
src/crypto/openssh/log.c 1.1.1.1.2.5.8.1
|
|
src/crypto/openssh/log.h 1.1.1.1.2.3.8.1
|
|
src/crypto/openssh/packet.c 1.1.1.1.2.6.8.1
|
|
src/crypto/openssh/ssh_config 1.2.2.9.6.1
|
|
src/crypto/openssh/ssh_config.5 1.4.2.5.6.1
|
|
src/crypto/openssh/sshd.c 1.6.2.11.8.1
|
|
src/crypto/openssh/sshd_config 1.4.2.13.6.1
|
|
src/crypto/openssh/sshd_config.5 1.5.2.7.4.1
|
|
src/crypto/openssh/version.h 1.1.1.1.2.13.6.1
|
|
RELENG_5
|
|
src/crypto/openssh/auth.h 1.13.2.1
|
|
src/crypto/openssh/deattack.c 1.1.1.7.2.1
|
|
src/crypto/openssh/deattack.h 1.1.1.3.8.1
|
|
src/crypto/openssh/defines.h 1.1.1.7.2.1
|
|
src/crypto/openssh/log.c 1.1.1.10.2.1
|
|
src/crypto/openssh/log.h 1.5.2.1
|
|
src/crypto/openssh/packet.c 1.1.1.14.2.1
|
|
src/crypto/openssh/session.c 1.44.2.1
|
|
src/crypto/openssh/ssh_config 1.25.2.2
|
|
src/crypto/openssh/ssh_config.5 1.15.2.2
|
|
src/crypto/openssh/sshd.c 1.37.2.1
|
|
src/crypto/openssh/sshd_config 1.40.2.2
|
|
src/crypto/openssh/sshd_config.5 1.21.2.2
|
|
src/crypto/openssh/version.h 1.27.2.2
|
|
RELENG_5_5
|
|
src/UPDATING 1.342.2.35.2.8
|
|
src/sys/conf/newvers.sh 1.62.2.21.2.10
|
|
src/crypto/openssh/auth.h 1.13.8.1
|
|
src/crypto/openssh/deattack.c 1.1.1.7.14.1
|
|
src/crypto/openssh/deattack.h 1.1.1.3.20.1
|
|
src/crypto/openssh/defines.h 1.1.1.7.8.1
|
|
src/crypto/openssh/log.c 1.1.1.10.8.1
|
|
src/crypto/openssh/log.h 1.5.8.1
|
|
src/crypto/openssh/packet.c 1.1.1.14.8.1
|
|
src/crypto/openssh/session.c 1.44.8.1
|
|
src/crypto/openssh/ssh_config 1.25.2.1.2.1
|
|
src/crypto/openssh/ssh_config.5 1.15.2.1.2.1
|
|
src/crypto/openssh/sshd.c 1.37.8.1
|
|
src/crypto/openssh/sshd_config 1.40.2.1.2.1
|
|
src/crypto/openssh/sshd_config.5 1.21.2.1.2.1
|
|
src/crypto/openssh/version.h 1.27.2.1.2.1
|
|
RELENG_5_4
|
|
src/UPDATING 1.342.2.24.2.31
|
|
src/sys/conf/newvers.sh 1.62.2.18.2.27
|
|
src/crypto/openssh/auth.h 1.13.6.1
|
|
src/crypto/openssh/deattack.c 1.1.1.7.6.1
|
|
src/crypto/openssh/deattack.h 1.1.1.3.12.1
|
|
src/crypto/openssh/defines.h 1.1.1.7.6.1
|
|
src/crypto/openssh/log.c 1.1.1.10.6.1
|
|
src/crypto/openssh/log.h 1.5.6.1
|
|
src/crypto/openssh/packet.c 1.1.1.14.6.1
|
|
src/crypto/openssh/session.c 1.44.6.1
|
|
src/crypto/openssh/ssh_config 1.25.6.2
|
|
src/crypto/openssh/ssh_config.5 1.15.6.2
|
|
src/crypto/openssh/sshd.c 1.37.6.1
|
|
src/crypto/openssh/sshd_config 1.40.6.2
|
|
src/crypto/openssh/sshd_config.5 1.21.6.2
|
|
src/crypto/openssh/version.h 1.27.6.2
|
|
RELENG_5_3
|
|
src/UPDATING 1.342.2.13.2.40
|
|
src/sys/conf/newvers.sh 1.62.2.15.2.42
|
|
src/crypto/openssh/auth.h 1.13.4.1
|
|
src/crypto/openssh/deattack.c 1.1.1.7.4.1
|
|
src/crypto/openssh/deattack.h 1.1.1.3.10.1
|
|
src/crypto/openssh/defines.h 1.1.1.7.4.1
|
|
src/crypto/openssh/log.c 1.1.1.10.4.1
|
|
src/crypto/openssh/log.h 1.5.4.1
|
|
src/crypto/openssh/packet.c 1.1.1.14.4.1
|
|
src/crypto/openssh/session.c 1.44.4.1
|
|
src/crypto/openssh/ssh_config 1.25.4.2
|
|
src/crypto/openssh/ssh_config.5 1.15.4.2
|
|
src/crypto/openssh/sshd.c 1.37.4.1
|
|
src/crypto/openssh/sshd_config 1.40.4.2
|
|
src/crypto/openssh/sshd_config.5 1.21.4.2
|
|
src/crypto/openssh/version.h 1.27.4.2
|
|
RELENG_6
|
|
src/crypto/openssh/auth.h 1.15.2.2
|
|
src/crypto/openssh/deattack.c 1.1.1.7.8.1
|
|
src/crypto/openssh/deattack.h 1.1.1.3.14.1
|
|
src/crypto/openssh/defines.h 1.1.1.9.2.2
|
|
src/crypto/openssh/log.c 1.1.1.13.2.1
|
|
src/crypto/openssh/log.h 1.6.2.1
|
|
src/crypto/openssh/packet.c 1.1.1.16.2.2
|
|
src/crypto/openssh/session.c 1.46.2.2
|
|
src/crypto/openssh/ssh_config 1.27.2.2
|
|
src/crypto/openssh/ssh_config.5 1.17.2.2
|
|
src/crypto/openssh/sshd.c 1.39.2.2
|
|
src/crypto/openssh/sshd_config 1.42.2.2
|
|
src/crypto/openssh/sshd_config.5 1.23.2.2
|
|
src/crypto/openssh/version.h 1.30.2.2
|
|
RELENG_6_1
|
|
src/UPDATING 1.416.2.22.2.12
|
|
src/sys/conf/newvers.sh 1.69.2.11.2.12
|
|
src/crypto/openssh/auth.h 1.15.2.1.4.1
|
|
src/crypto/openssh/deattack.c 1.1.1.7.12.1
|
|
src/crypto/openssh/deattack.h 1.1.1.3.18.1
|
|
src/crypto/openssh/defines.h 1.1.1.9.2.1.4.1
|
|
src/crypto/openssh/log.c 1.1.1.13.6.1
|
|
src/crypto/openssh/log.h 1.6.6.1
|
|
src/crypto/openssh/packet.c 1.1.1.16.2.1.4.1
|
|
src/crypto/openssh/session.c 1.46.2.1.4.1
|
|
src/crypto/openssh/ssh_config 1.27.2.1.4.1
|
|
src/crypto/openssh/ssh_config.5 1.17.2.1.4.1
|
|
src/crypto/openssh/sshd.c 1.39.2.1.4.1
|
|
src/crypto/openssh/sshd_config 1.42.2.1.4.1
|
|
src/crypto/openssh/sshd_config.5 1.23.2.1.4.1
|
|
src/crypto/openssh/version.h 1.30.2.1.4.1
|
|
RELENG_6_0
|
|
src/UPDATING 1.416.2.3.2.20
|
|
src/sys/conf/newvers.sh 1.69.2.8.2.16
|
|
src/crypto/openssh/auth.h 1.15.2.1.2.1
|
|
src/crypto/openssh/deattack.c 1.1.1.7.10.1
|
|
src/crypto/openssh/deattack.h 1.1.1.3.16.1
|
|
src/crypto/openssh/defines.h 1.1.1.9.2.1.2.1
|
|
src/crypto/openssh/log.c 1.1.1.13.4.1
|
|
src/crypto/openssh/log.h 1.6.4.1
|
|
src/crypto/openssh/packet.c 1.1.1.16.2.1.2.1
|
|
src/crypto/openssh/session.c 1.46.2.1.2.1
|
|
src/crypto/openssh/ssh_config 1.27.2.1.2.1
|
|
src/crypto/openssh/ssh_config.5 1.17.2.1.2.1
|
|
src/crypto/openssh/sshd.c 1.39.2.1.2.1
|
|
src/crypto/openssh/sshd_config 1.42.2.1.2.1
|
|
src/crypto/openssh/sshd_config.5 1.23.2.1.2.1
|
|
src/crypto/openssh/version.h 1.30.2.1.2.1
|
|
- -------------------------------------------------------------------------
|
|
|
|
VII. References
|
|
|
|
http://www.openssh.com/txt/release-4.4
|
|
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-4924
|
|
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-5051
|
|
|
|
The latest revision of this advisory is available at
|
|
http://security.FreeBSD.org/advisories/FreeBSD-SA-06:22.openssh.asc
|
|
-----BEGIN PGP SIGNATURE-----
|
|
Version: GnuPG v1.4.5 (FreeBSD)
|
|
|
|
iD8DBQFFHtD+FdaIBMps37IRAhw8AJ0dNrOCiYVEmqQqePByx/KUrdi+AACeNcB0
|
|
T5VfZGGXDv31Py3yxejjhlw=
|
|
=f1ch
|
|
-----END PGP SIGNATURE-----
|