157 lines
6 KiB
Text
157 lines
6 KiB
Text
-----BEGIN PGP SIGNED MESSAGE-----
|
|
Hash: SHA512
|
|
|
|
=============================================================================
|
|
FreeBSD-SA-15:07.ntp Security Advisory
|
|
The FreeBSD Project
|
|
|
|
Topic: Multiple vulnerabilities of ntp
|
|
|
|
Category: contrib
|
|
Module: ntp
|
|
Announced: 2015-04-07
|
|
Credits: Network Time Foundation
|
|
Affects: All supported versions of FreeBSD.
|
|
Corrected: 2015-04-07 20:20:24 UTC (stable/10, 10.1-STABLE)
|
|
2015-04-07 20:21:01 UTC (releng/10.1, 10.1-RELEASE-p9)
|
|
2015-04-07 20:20:44 UTC (stable/9, 9.3-STABLE)
|
|
2015-04-07 20:21:23 UTC (releng/9.3, 9.3-RELEASE-p13)
|
|
2015-04-07 20:20:44 UTC (stable/8, 8.4-STABLE)
|
|
2015-04-07 20:21:23 UTC (releng/8.4, 8.4-RELEASE-p27)
|
|
CVE Name: CVE-2014-9297, CVE-2015-1798, CVE-2015-1799
|
|
|
|
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
|
|
|
|
The ntpd(8) daemon is an implementation of the Network Time Protocol (NTP)
|
|
used to synchronize the time of a computer system to a reference time
|
|
source.
|
|
|
|
II. Problem Description
|
|
|
|
The vallen packet value is not validated in several code paths in
|
|
ntp_crypto.c. [CVE-2014-9297]
|
|
|
|
When ntpd(8) is configured to use a symmetric key to authenticate a remote
|
|
NTP server/peer, it checks if the NTP message authentication code (MAC)
|
|
in received packets is valid, but not that there actually is any MAC
|
|
included, and packets without a MAC are accepted as if they had a valid
|
|
MAC. [CVE-2015-1798]
|
|
|
|
NTP state variables are updated prior to validating the received packets.
|
|
[CVE-2015-1799]
|
|
|
|
III. Impact
|
|
|
|
A remote attacker who can send specifically crafted packets may be able
|
|
to reveal memory contents of ntpd(8) or cause it to crash, when ntpd(8)
|
|
is configured to use autokey. [CVE-2014-9297]
|
|
|
|
A man-in-the-middle (MITM) attacker can send specially forged packets
|
|
that would be accepted by the client/peer without having to know the
|
|
symmetric key. [CVE-2015-1798]
|
|
|
|
An attacker knowing that NTP hosts A and B are peering with each other
|
|
(symmetric association) can periodically send a specially crafted or
|
|
replayed packet which will break the synchronization between the two
|
|
peers due to transmit timestamp mismatch, preventing the two nodes from
|
|
synchronizing with each other, even when authentication is enabled.
|
|
[CVE-2015-1799]
|
|
|
|
IV. Workaround
|
|
|
|
No workaround is available, but systems not running ntpd(8) are not
|
|
affected.
|
|
|
|
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.
|
|
|
|
# fetch https://security.FreeBSD.org/patches/SA-15:07/ntp.patch
|
|
# fetch https://security.FreeBSD.org/patches/SA-15:07/ntp.patch.asc
|
|
# gpg --verify ntp.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 applicable daemons, or reboot the system.
|
|
|
|
VI. Correction details
|
|
|
|
The following list contains the correction revision numbers for each
|
|
affected branch.
|
|
|
|
Branch/path Revision
|
|
- -------------------------------------------------------------------------
|
|
stable/8/ r281231
|
|
releng/8.4/ r281233
|
|
stable/9/ r281231
|
|
releng/9.3/ r281233
|
|
stable/10/ r281230
|
|
releng/10.1/ r281232
|
|
- -------------------------------------------------------------------------
|
|
|
|
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-9297>
|
|
|
|
<URL:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1798>
|
|
|
|
<URL:https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-1799>
|
|
|
|
The latest revision of this advisory is available at
|
|
<URL:https://security.FreeBSD.org/advisories/FreeBSD-SA-15:07.ntp.asc>
|
|
-----BEGIN PGP SIGNATURE-----
|
|
Version: GnuPG v2.1.2 (FreeBSD)
|
|
|
|
iQIcBAEBCgAGBQJVJD4CAAoJEO1n7NZdz2rn4doQAKwA67MgX6jiCS4dm1roREi+
|
|
G1moTCtqO8LXzH3nOOOk6R/MqFGOs6Jq8D+K/YmdD+4l3c/qCNR0qtv0YcVL0kE+
|
|
+xfaIYoGxTzlPjEfpWtceCM0wcAThaF8085hi0IAzG7ozhKPt+Inv33ISgos5c7h
|
|
zYcbTqBYgQqcJGWdftnYpZ1Nxvoa3wiOlxsOMa4qnNeUakeXcGLZ+1XB5pLjXMZF
|
|
dHfKhMS6KxcUdHoPgOj468D3bQE05puLk13Kjy+Ti38GhcgMROAsMZVOzgno3J7g
|
|
D7Hk4dR1dms+6xcSJ0BV4ej0ZfypGv0xiFmUiTk/p7AVbnqrChyjvGca+8reu+Gc
|
|
Ks/67oZjP5rc0glvRFgjJBmQV/xK2rUK805e4eAm8qBecRjDv6M3mUmPdw5BlgcA
|
|
7fcj4VdGkOzLB0Vj7uJFjf3p9cyT+x8yvMtknxehiYmrYnFDsM5d7lcv0+KnRzb2
|
|
3bt6maO40wqWIcLErFthcT/nLP+wi35aykNIbGh7PXvqL92gWX+h/xB6YY9Ouo4N
|
|
hb32W/F5O50MjL6BeY+k5J6usoFrk0EHWK+2Fxm2/AA/5K/JnryWN44F8PVPNzxE
|
|
f+Vb6CzxBvmflpa/29tF/wSD0oU78AhuShtVrnEVT5ZWJj+/PHBZtcLk2Z+s5hgd
|
|
hKFvV5Xqix0/U//+yGhj
|
|
=1fHm
|
|
-----END PGP SIGNATURE-----
|