xref: /freebsd/contrib/ntp/NEWS (revision e27abb6689c5733dd08ce240d5402a0de3a42254)
12b15cb3dSCy Schubert---
2*e27abb66SXin LINTP 4.2.8p8 (Harlan Stenn <stenn@ntp.org>, 2016/06/02)
3*e27abb66SXin LI
4*e27abb66SXin LIFocus: Security, Bug fixes, enhancements.
5*e27abb66SXin LI
6*e27abb66SXin LISeverity: HIGH
7*e27abb66SXin LI
8*e27abb66SXin LIIn addition to bug fixes and enhancements, this release fixes the
9*e27abb66SXin LIfollowing 1 high- and 4 low-severity vulnerabilities:
10*e27abb66SXin LI
11*e27abb66SXin LI* CRYPTO_NAK crash
12*e27abb66SXin LI   Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
13*e27abb66SXin LI   References: Sec 3046 / CVE-2016-4957 / VU#321640
14*e27abb66SXin LI   Affects: ntp-4.2.8p7, and ntp-4.3.92.
15*e27abb66SXin LI   CVSS2: HIGH 7.8 (AV:N/AC:L/Au:N/C:N/I:N/A:C)
16*e27abb66SXin LI   CVSS3: HIGH 7.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
17*e27abb66SXin LI   Summary: The fix for Sec 3007 in ntp-4.2.8p7 contained a bug that
18*e27abb66SXin LI	could cause ntpd to crash.
19*e27abb66SXin LI   Mitigation:
20*e27abb66SXin LI        Implement BCP-38.
21*e27abb66SXin LI        Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
22*e27abb66SXin LI	    or the NTP Public Services Project Download Page
23*e27abb66SXin LI        If you cannot upgrade from 4.2.8p7, the only other alternatives
24*e27abb66SXin LI	    are to patch your code or filter CRYPTO_NAK packets.
25*e27abb66SXin LI        Properly monitor your ntpd instances, and auto-restart ntpd
26*e27abb66SXin LI	    (without -g) if it stops running.
27*e27abb66SXin LI   Credit: This weakness was discovered by Nicolas Edet of Cisco.
28*e27abb66SXin LI
29*e27abb66SXin LI* Bad authentication demobilizes ephemeral associations
30*e27abb66SXin LI   Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
31*e27abb66SXin LI   References: Sec 3045 / CVE-2016-4953 / VU#321640
32*e27abb66SXin LI   Affects: ntp-4, up to but not including ntp-4.2.8p8, and
33*e27abb66SXin LI	ntp-4.3.0 up to, but not including ntp-4.3.93.
34*e27abb66SXin LI   CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P)
35*e27abb66SXin LI   CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
36*e27abb66SXin LI   Summary: An attacker who knows the origin timestamp and can send a
37*e27abb66SXin LI	spoofed packet containing a CRYPTO-NAK to an ephemeral peer
38*e27abb66SXin LI	target before any other response is sent can demobilize that
39*e27abb66SXin LI	association.
40*e27abb66SXin LI   Mitigation:
41*e27abb66SXin LI	Implement BCP-38.
42*e27abb66SXin LI	Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
43*e27abb66SXin LI	    or the NTP Public Services Project Download Page
44*e27abb66SXin LI	Properly monitor your ntpd instances.
45*e27abb66SXin LI	Credit: This weakness was discovered by Miroslav Lichvar of Red Hat.
46*e27abb66SXin LI
47*e27abb66SXin LI* Processing spoofed server packets
48*e27abb66SXin LI   Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
49*e27abb66SXin LI   References: Sec 3044 / CVE-2016-4954 / VU#321640
50*e27abb66SXin LI   Affects: ntp-4, up to but not including ntp-4.2.8p8, and
51*e27abb66SXin LI	ntp-4.3.0 up to, but not including ntp-4.3.93.
52*e27abb66SXin LI   CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P)
53*e27abb66SXin LI   CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
54*e27abb66SXin LI   Summary: An attacker who is able to spoof packets with correct origin
55*e27abb66SXin LI	timestamps from enough servers before the expected response
56*e27abb66SXin LI	packets arrive at the target machine can affect some peer
57*e27abb66SXin LI	variables and, for example, cause a false leap indication to be set.
58*e27abb66SXin LI   Mitigation:
59*e27abb66SXin LI	Implement BCP-38.
60*e27abb66SXin LI	Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
61*e27abb66SXin LI	    or the NTP Public Services Project Download Page
62*e27abb66SXin LI	Properly monitor your ntpd instances.
63*e27abb66SXin LI   Credit: This weakness was discovered by Jakub Prokes of Red Hat.
64*e27abb66SXin LI
65*e27abb66SXin LI* Autokey association reset
66*e27abb66SXin LI   Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
67*e27abb66SXin LI   References: Sec 3043 / CVE-2016-4955 / VU#321640
68*e27abb66SXin LI   Affects: ntp-4, up to but not including ntp-4.2.8p8, and
69*e27abb66SXin LI	ntp-4.3.0 up to, but not including ntp-4.3.93.
70*e27abb66SXin LI   CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P)
71*e27abb66SXin LI   CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
72*e27abb66SXin LI   Summary: An attacker who is able to spoof a packet with a correct
73*e27abb66SXin LI	origin timestamp before the expected response packet arrives at
74*e27abb66SXin LI	the target machine can send a CRYPTO_NAK or a bad MAC and cause
75*e27abb66SXin LI	the association's peer variables to be cleared. If this can be
76*e27abb66SXin LI	done often enough, it will prevent that association from working.
77*e27abb66SXin LI   Mitigation:
78*e27abb66SXin LI	Implement BCP-38.
79*e27abb66SXin LI	Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
80*e27abb66SXin LI	    or the NTP Public Services Project Download Page
81*e27abb66SXin LI	Properly monitor your ntpd instances.
82*e27abb66SXin LI   Credit: This weakness was discovered by Miroslav Lichvar of Red Hat.
83*e27abb66SXin LI
84*e27abb66SXin LI* Broadcast interleave
85*e27abb66SXin LI   Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
86*e27abb66SXin LI   References: Sec 3042 / CVE-2016-4956 / VU#321640
87*e27abb66SXin LI   Affects: ntp-4, up to but not including ntp-4.2.8p8, and
88*e27abb66SXin LI   	ntp-4.3.0 up to, but not including ntp-4.3.93.
89*e27abb66SXin LI   CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P)
90*e27abb66SXin LI   CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
91*e27abb66SXin LI   Summary: The fix for NtpBug2978 does not cover broadcast associations,
92*e27abb66SXin LI   	so broadcast clients can be triggered to flip into interleave mode.
93*e27abb66SXin LI   Mitigation:
94*e27abb66SXin LI	Implement BCP-38.
95*e27abb66SXin LI	Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
96*e27abb66SXin LI	    or the NTP Public Services Project Download Page
97*e27abb66SXin LI	Properly monitor your ntpd instances.
98*e27abb66SXin LI   Credit: This weakness was discovered by Miroslav Lichvar of Red Hat.
99*e27abb66SXin LI
100*e27abb66SXin LIOther fixes:
101*e27abb66SXin LI* [Bug 3038] NTP fails to build in VS2015. perlinger@ntp.org
102*e27abb66SXin LI  - provide build environment
103*e27abb66SXin LI  - 'wint_t' and 'struct timespec' defined by VS2015
104*e27abb66SXin LI  - fixed print()/scanf() format issues
105*e27abb66SXin LI* [Bug 3052] Add a .gitignore file.  Edmund Wong.
106*e27abb66SXin LI* [Bug 3054] miscopt.html documents the allan intercept in seconds. SWhite.
107*e27abb66SXin LI* [Bug 3058] fetch_timestamp() mishandles 64-bit alignment. Brian Utterback,
108*e27abb66SXin LI  JPerlinger, HStenn.
109*e27abb66SXin LI* Fix typo in ntp-wait and plot_summary.  HStenn.
110*e27abb66SXin LI* Make sure we have an "author" file for git imports.  HStenn.
111*e27abb66SXin LI* Update the sntp problem tests for MacOS.  HStenn.
112*e27abb66SXin LI
113*e27abb66SXin LI---
1144990d495SXin LINTP 4.2.8p7 (Harlan Stenn <stenn@ntp.org>, 2016/04/26)
1153311ff84SXin LI
1164990d495SXin LIFocus: Security, Bug fixes, enhancements.
1174990d495SXin LI
1184990d495SXin LISeverity: MEDIUM
1194990d495SXin LI
1204990d495SXin LIWhen building NTP from source, there is a new configure option
1214990d495SXin LIavailable, --enable-dynamic-interleave.  More information on this below.
1224990d495SXin LI
1234990d495SXin LIAlso note that ntp-4.2.8p7 logs more "unexpected events" than previous
1244990d495SXin LIversions of ntp.  These events have almost certainly happened in the
1254990d495SXin LIpast, it's just that they were silently counted and not logged.  With
1264990d495SXin LIthe increasing awareness around security, we feel it's better to clearly
1274990d495SXin LIlog these events to help detect abusive behavior.  This increased
1284990d495SXin LIlogging can also help detect other problems, too.
1294990d495SXin LI
1304990d495SXin LIIn addition to bug fixes and enhancements, this release fixes the
1314990d495SXin LIfollowing 9 low- and medium-severity vulnerabilities:
1324990d495SXin LI
1334990d495SXin LI* Improve NTP security against buffer comparison timing attacks,
1344990d495SXin LI  AKA: authdecrypt-timing
1354990d495SXin LI   Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
1364990d495SXin LI   References: Sec 2879 / CVE-2016-1550
1374990d495SXin LI   Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
1384990d495SXin LI	4.3.0 up to, but not including 4.3.92
1394990d495SXin LI   CVSSv2: LOW 2.6 - (AV:L/AC:H/Au:N/C:P/I:P/A:N)
1404990d495SXin LI   CVSSv3: MED 4.0 - CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
1414990d495SXin LI   Summary: Packet authentication tests have been performed using
1424990d495SXin LI	memcmp() or possibly bcmp(), and it is potentially possible
1434990d495SXin LI	for a local or perhaps LAN-based attacker to send a packet with
1444990d495SXin LI	an authentication payload and indirectly observe how much of
1454990d495SXin LI	the digest has matched.
1464990d495SXin LI   Mitigation:
1474990d495SXin LI	Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
1484990d495SXin LI	    or the NTP Public Services Project Download Page.
1494990d495SXin LI	Properly monitor your ntpd instances.
1504990d495SXin LI   Credit: This weakness was discovered independently by Loganaden
1514990d495SXin LI   	Velvindron, and Matthew Van Gundy and Stephen Gray of Cisco ASIG.
1524990d495SXin LI
1534990d495SXin LI* Zero origin timestamp bypass: Additional KoD checks.
1544990d495SXin LI   References: Sec 2945 / Sec 2901 / CVE-2015-8138
1554990d495SXin LI   Affects: All ntp-4 releases up to, but not including 4.2.8p7,
1564990d495SXin LI   Summary: Improvements to the fixes incorporated in t 4.2.8p6 and 4.3.92.
1574990d495SXin LI
1584990d495SXin LI* peer associations were broken by the fix for NtpBug2899
1594990d495SXin LI   Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
1604990d495SXin LI   References: Sec 2952 / CVE-2015-7704
1614990d495SXin LI   Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
1624990d495SXin LI   	4.3.0 up to, but not including 4.3.92
1634990d495SXin LI   CVSSv2: MED 4.3 - (AV:N/AC:M/Au:N/C:N/I:N/A:P)
1644990d495SXin LI   Summary: The fix for NtpBug2952 in ntp-4.2.8p5 to address broken peer
1654990d495SXin LI   	associations did not address all of the issues.
1664990d495SXin LI   Mitigation:
1674990d495SXin LI        Implement BCP-38.
1684990d495SXin LI        Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
1694990d495SXin LI	    or the NTP Public Services Project Download Page
1704990d495SXin LI        If you can't upgrade, use "server" associations instead of
1714990d495SXin LI	    "peer" associations.
1724990d495SXin LI        Monitor your ntpd instances.
1734990d495SXin LI   Credit: This problem was discovered by Michael Tatarinov.
1744990d495SXin LI
1754990d495SXin LI* Validate crypto-NAKs, AKA: CRYPTO-NAK DoS
1764990d495SXin LI   Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
1774990d495SXin LI   References: Sec 3007 / CVE-2016-1547 / VU#718152
1784990d495SXin LI   Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
1794990d495SXin LI	4.3.0 up to, but not including 4.3.92
1804990d495SXin LI   CVSS2: MED 4.3 - (AV:N/AC:M/Au:N/C:N/I:N/A:P)
1814990d495SXin LI   CVSS3: MED 3.7 - CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
1824990d495SXin LI   Summary: For ntp-4 versions up to but not including ntp-4.2.8p7, an
1834990d495SXin LI	off-path attacker can cause a preemptable client association to
1844990d495SXin LI	be demobilized by sending a crypto NAK packet to a victim client
1854990d495SXin LI	with a spoofed source address of an existing associated peer.
1864990d495SXin LI	This is true even if authentication is enabled.
1874990d495SXin LI
1884990d495SXin LI	Furthermore, if the attacker keeps sending crypto NAK packets,
1894990d495SXin LI	for example one every second, the victim never has a chance to
1904990d495SXin LI	reestablish the association and synchronize time with that
1914990d495SXin LI	legitimate server.
1924990d495SXin LI
1934990d495SXin LI	For ntp-4.2.8 thru ntp-4.2.8p6 there is less risk because more
1944990d495SXin LI	stringent checks are performed on incoming packets, but there
1954990d495SXin LI	are still ways to exploit this vulnerability in versions before
1964990d495SXin LI	ntp-4.2.8p7.
1974990d495SXin LI   Mitigation:
1984990d495SXin LI	Implement BCP-38.
1994990d495SXin LI	Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
2004990d495SXin LI	    or the NTP Public Services Project Download Page
2014990d495SXin LI	Properly monitor your =ntpd= instances
2024990d495SXin LI   Credit: This weakness was discovered by Stephen Gray and
2034990d495SXin LI   	Matthew Van Gundy of Cisco ASIG.
2044990d495SXin LI
2054990d495SXin LI* ctl_getitem() return value not always checked
2064990d495SXin LI   Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
2074990d495SXin LI   References: Sec 3008 / CVE-2016-2519
2084990d495SXin LI   Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
2094990d495SXin LI	4.3.0 up to, but not including 4.3.92
2104990d495SXin LI   CVSSv2: MED 4.9 - (AV:N/AC:H/Au:S/C:N/I:N/A:C)
2114990d495SXin LI   CVSSv3: MED 4.2 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
2124990d495SXin LI   Summary: ntpq and ntpdc can be used to store and retrieve information
2134990d495SXin LI   	in ntpd. It is possible to store a data value that is larger
2144990d495SXin LI	than the size of the buffer that the ctl_getitem() function of
2154990d495SXin LI	ntpd uses to report the return value. If the length of the
2164990d495SXin LI	requested data value returned by ctl_getitem() is too large,
2174990d495SXin LI	the value NULL is returned instead. There are 2 cases where the
2184990d495SXin LI	return value from ctl_getitem() was not directly checked to make
2194990d495SXin LI	sure it's not NULL, but there are subsequent INSIST() checks
2204990d495SXin LI	that make sure the return value is not NULL. There are no data
2214990d495SXin LI	values ordinarily stored in ntpd that would exceed this buffer
2224990d495SXin LI	length. But if one has permission to store values and one stores
2234990d495SXin LI	a value that is "too large", then ntpd will abort if an attempt
2244990d495SXin LI	is made to read that oversized value.
2254990d495SXin LI    Mitigation:
2264990d495SXin LI        Implement BCP-38.
2274990d495SXin LI        Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
2284990d495SXin LI	    or the NTP Public Services Project Download Page
2294990d495SXin LI        Properly monitor your ntpd instances.
2304990d495SXin LI    Credit: This weakness was discovered by Yihan Lian of the Cloud
2314990d495SXin LI    	Security Team, Qihoo 360.
2324990d495SXin LI
2334990d495SXin LI* Crafted addpeer with hmode > 7 causes array wraparound with MATCH_ASSOC
2344990d495SXin LI   Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
2354990d495SXin LI   References: Sec 3009 / CVE-2016-2518 / VU#718152
2364990d495SXin LI   Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
2374990d495SXin LI	4.3.0 up to, but not including 4.3.92
2384990d495SXin LI   CVSS2: LOW 2.1 - (AV:N/AC:H/Au:S/C:N/I:N/A:P)
2394990d495SXin LI   CVSS3: LOW 2.0 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
2404990d495SXin LI   Summary: Using a crafted packet to create a peer association with
2414990d495SXin LI   	hmode > 7 causes the MATCH_ASSOC() lookup to make an
2424990d495SXin LI	out-of-bounds reference.
2434990d495SXin LI   Mitigation:
2444990d495SXin LI	Implement BCP-38.
2454990d495SXin LI	Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
2464990d495SXin LI	    or the NTP Public Services Project Download Page
2474990d495SXin LI	Properly monitor your ntpd instances
2484990d495SXin LI   Credit: This weakness was discovered by Yihan Lian of the Cloud
2494990d495SXin LI   	Security Team, Qihoo 360.
2504990d495SXin LI
2514990d495SXin LI* remote configuration trustedkey/requestkey/controlkey values are not
2524990d495SXin LI	properly validated
2534990d495SXin LI   Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
2544990d495SXin LI   References: Sec 3010 / CVE-2016-2517 / VU#718152
2554990d495SXin LI   Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
2564990d495SXin LI	4.3.0 up to, but not including 4.3.92
2574990d495SXin LI   CVSS2: MED 4.9 - (AV:N/AC:H/Au:S/C:N/I:N/A:C)
2584990d495SXin LI   CVSS3: MED 4.2 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
2594990d495SXin LI   Summary: If ntpd was expressly configured to allow for remote
2604990d495SXin LI   	configuration, a malicious user who knows the controlkey for
2614990d495SXin LI	ntpq or the requestkey for ntpdc (if mode7 is expressly enabled)
2624990d495SXin LI	can create a session with ntpd and then send a crafted packet to
2634990d495SXin LI	ntpd that will change the value of the trustedkey, controlkey,
2644990d495SXin LI	or requestkey to a value that will prevent any subsequent
2654990d495SXin LI	authentication with ntpd until ntpd is restarted.
2664990d495SXin LI   Mitigation:
2674990d495SXin LI	Implement BCP-38.
2684990d495SXin LI	Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
2694990d495SXin LI	    or the NTP Public Services Project Download Page
2704990d495SXin LI	Properly monitor your =ntpd= instances
2714990d495SXin LI   Credit: This weakness was discovered by Yihan Lian of the Cloud
2724990d495SXin LI   	Security Team, Qihoo 360.
2734990d495SXin LI
2744990d495SXin LI* Duplicate IPs on unconfig directives will cause an assertion botch in ntpd
2754990d495SXin LI   Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
2764990d495SXin LI   References: Sec 3011 / CVE-2016-2516 / VU#718152
2774990d495SXin LI   Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
2784990d495SXin LI   	4.3.0 up to, but not including 4.3.92
2794990d495SXin LI   CVSS2: MED 6.3 - (AV:N/AC:M/Au:S/C:N/I:N/A:C)
2804990d495SXin LI   CVSS3: MED 4.2 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
2814990d495SXin LI   Summary: If ntpd was expressly configured to allow for remote
2824990d495SXin LI   	configuration, a malicious user who knows the controlkey for
2834990d495SXin LI	ntpq or the requestkey for ntpdc (if mode7 is expressly enabled)
2844990d495SXin LI	can create a session with ntpd and if an existing association is
2854990d495SXin LI	unconfigured using the same IP twice on the unconfig directive
2864990d495SXin LI	line, ntpd will abort.
2874990d495SXin LI   Mitigation:
2884990d495SXin LI	Implement BCP-38.
2894990d495SXin LI	Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
2904990d495SXin LI	    or the NTP Public Services Project Download Page
2914990d495SXin LI	Properly monitor your ntpd instances
2924990d495SXin LI   Credit: This weakness was discovered by Yihan Lian of the Cloud
2934990d495SXin LI   	Security Team, Qihoo 360.
2944990d495SXin LI
2954990d495SXin LI* Refclock impersonation vulnerability
2964990d495SXin LI   Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
2974990d495SXin LI   References: Sec 3020 / CVE-2016-1551
2984990d495SXin LI   Affects: On a very limited number of OSes, all NTP releases up to but
2994990d495SXin LI	not including 4.2.8p7, and 4.3.0 up to but not including 4.3.92.
3004990d495SXin LI	By "very limited number of OSes" we mean no general-purpose OSes
3014990d495SXin LI	have yet been identified that have this vulnerability.
3024990d495SXin LI   CVSSv2: LOW 2.6 - (AV:N/AC:H/Au:N/C:N/I:P/A:N)
3034990d495SXin LI   CVSSv3: LOW 3.7 - CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
3044990d495SXin LI   Summary: While most OSes implement martian packet filtering in their
3054990d495SXin LI   	network stack, at least regarding 127.0.0.0/8, some will allow
3064990d495SXin LI	packets claiming to be from 127.0.0.0/8 that arrive over a
3074990d495SXin LI	physical network. On these OSes, if ntpd is configured to use a
3084990d495SXin LI	reference clock an attacker can inject packets over the network
3094990d495SXin LI	that look like they are coming from that reference clock.
3104990d495SXin LI   Mitigation:
3114990d495SXin LI        Implement martian packet filtering and BCP-38.
3124990d495SXin LI        Configure ntpd to use an adequate number of time sources.
3134990d495SXin LI        Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
3144990d495SXin LI	    or the NTP Public Services Project Download Page
3154990d495SXin LI        If you are unable to upgrade and if you are running an OS that
3164990d495SXin LI	    has this vulnerability, implement martian packet filters and
3174990d495SXin LI	    lobby your OS vendor to fix this problem, or run your
3184990d495SXin LI	    refclocks on computers that use OSes that are not vulnerable
3194990d495SXin LI	    to these attacks and have your vulnerable machines get their
3204990d495SXin LI	    time from protected resources.
3214990d495SXin LI        Properly monitor your ntpd instances.
3224990d495SXin LI   Credit: This weakness was discovered by Matt Street and others of
3234990d495SXin LI   	Cisco ASIG.
3244990d495SXin LI
3254990d495SXin LIThe following issues were fixed in earlier releases and contain
3264990d495SXin LIimprovements in 4.2.8p7:
3274990d495SXin LI
3284990d495SXin LI* Clients that receive a KoD should validate the origin timestamp field.
3294990d495SXin LI   References: Sec 2901 / CVE-2015-7704, CVE-2015-7705
3304990d495SXin LI   Affects: All ntp-4 releases up to, but not including 4.2.8p7,
3314990d495SXin LI   Summary: Improvements to the fixes incorporated into 4.2.8p4 and 4.3.77.
3324990d495SXin LI
3334990d495SXin LI* Skeleton key: passive server with trusted key can serve time.
3344990d495SXin LI   References: Sec 2936 / CVE-2015-7974
3354990d495SXin LI   Affects: All ntp-4 releases up to, but not including 4.2.8p7,
3364990d495SXin LI   Summary: Improvements to the fixes incorporated in t 4.2.8p6 and 4.3.90.
3374990d495SXin LI
3384990d495SXin LITwo other vulnerabilities have been reported, and the mitigations
3394990d495SXin LIfor these are as follows:
3404990d495SXin LI
3414990d495SXin LI* Interleave-pivot
3424990d495SXin LI   Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
3434990d495SXin LI   References: Sec 2978 / CVE-2016-1548
3444990d495SXin LI   Affects: All ntp-4 releases.
3454990d495SXin LI   CVSSv2: MED 6.4 - (AV:N/AC:L/Au:N/C:N/I:P/A:P)
3464990d495SXin LI   CVSSv3: MED 7.2 - CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:L
3474990d495SXin LI   Summary: It is possible to change the time of an ntpd client or deny
3484990d495SXin LI   	service to an ntpd client by forcing it to change from basic
3494990d495SXin LI	client/server mode to interleaved symmetric mode. An attacker
3504990d495SXin LI	can spoof a packet from a legitimate ntpd server with an origin
3514990d495SXin LI	timestamp that matches the peer->dst timestamp recorded for that
3524990d495SXin LI	server. After making this switch, the client will reject all
3534990d495SXin LI	future legitimate server responses. It is possible to force the
3544990d495SXin LI	victim client to move time after the mode has been changed.
3554990d495SXin LI	ntpq gives no indication that the mode has been switched.
3564990d495SXin LI   Mitigation:
3574990d495SXin LI        Implement BCP-38.
3584990d495SXin LI        Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
3594990d495SXin LI	    or the NTP Public Services Project Download Page.  These
3604990d495SXin LI	    versions will not dynamically "flip" into interleave mode
3614990d495SXin LI	    unless configured to do so.
3624990d495SXin LI        Properly monitor your ntpd instances.
3634990d495SXin LI   Credit: This weakness was discovered by Miroslav Lichvar of RedHat
3644990d495SXin LI   	and separately by Jonathan Gardner of Cisco ASIG.
3654990d495SXin LI
3664990d495SXin LI* Sybil vulnerability: ephemeral association attack
3674990d495SXin LI   Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
3684990d495SXin LI   References: Sec 3012 / CVE-2016-1549
3694990d495SXin LI   Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
3704990d495SXin LI   	4.3.0 up to, but not including 4.3.92
3714990d495SXin LI   CVSSv2: LOW 3.5 - (AV:N/AC:M/Au:S/C:N/I:P/A:N)
3724990d495SXin LI   CVSS3v: MED 5.3 - CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N
3734990d495SXin LI   Summary: ntpd can be vulnerable to Sybil attacks. If one is not using
3744990d495SXin LI   	the feature introduced in ntp-4.2.8p6 allowing an optional 4th
3754990d495SXin LI	field in the ntp.keys file to specify which IPs can serve time,
3764990d495SXin LI	a malicious authenticated peer can create arbitrarily-many
3774990d495SXin LI	ephemeral associations in order to win the clock selection of
3784990d495SXin LI	ntpd and modify a victim's clock.
3794990d495SXin LI   Mitigation:
3804990d495SXin LI        Implement BCP-38.
3814990d495SXin LI        Use the 4th field in the ntp.keys file to specify which IPs
3824990d495SXin LI	    can be time servers.
3834990d495SXin LI        Properly monitor your ntpd instances.
3844990d495SXin LI   Credit: This weakness was discovered by Matthew Van Gundy of Cisco ASIG.
3854990d495SXin LI
3864990d495SXin LIOther fixes:
3874990d495SXin LI
3884990d495SXin LI* [Bug 2831]  Segmentation Fault in DNS lookup during startup. perlinger@ntp.org
3894990d495SXin LI  - fixed yet another race condition in the threaded resolver code.
3904990d495SXin LI* [Bug 2858] bool support.  Use stdbool.h when available.  HStenn.
3914990d495SXin LI* [Bug 2879] Improve NTP security against timing attacks. perlinger@ntp.org
3924990d495SXin LI  - integrated patches by Loganaden Velvidron <logan@ntp.org>
3934990d495SXin LI    with some modifications & unit tests
3944990d495SXin LI* [Bug 2960] async name resolution fixes for chroot() environments.
3954990d495SXin LI  Reinhard Max.
3964990d495SXin LI* [Bug 2994] Systems with HAVE_SIGNALED_IO fail to compile. perlinger@ntp.org
3974990d495SXin LI* [Bug 2995] Fixes to compile on Windows
3984990d495SXin LI* [Bug 2999] out-of-bounds access in 'is_safe_filename()'. perlinger@ntp.org
3994990d495SXin LI* [Bug 3013] Fix for ssl_init.c SHA1 test. perlinger@ntp.org
4004990d495SXin LI  - Patch provided by Ch. Weisgerber
4014990d495SXin LI* [Bug 3015] ntpq: config-from-file: "request contains an unprintable character"
4024990d495SXin LI  - A change related to [Bug 2853] forbids trailing white space in
4034990d495SXin LI    remote config commands. perlinger@ntp.org
4044990d495SXin LI* [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE
4054990d495SXin LI  - report and patch from Aleksandr Kostikov.
4064990d495SXin LI  - Overhaul of Windows IO completion port handling. perlinger@ntp.org
4074990d495SXin LI* [Bug 3022] authkeys.c should be refactored. perlinger@ntp.org
4084990d495SXin LI  - fixed memory leak in access list (auth[read]keys.c)
4094990d495SXin LI  - refactored handling of key access lists (auth[read]keys.c)
4104990d495SXin LI  - reduced number of error branches (authreadkeys.c)
4114990d495SXin LI* [Bug 3023] ntpdate cannot correct dates in the future. perlinger@ntp.org
4124990d495SXin LI* [Bug 3030] ntpq needs a general way to specify refid output format.  HStenn.
4134990d495SXin LI* [Bug 3031] ntp broadcastclient unable to synchronize to an server
4144990d495SXin LI             when the time of server changed. perlinger@ntp.org
4154990d495SXin LI  - Check the initial delay calculation and reject/unpeer the broadcast
4164990d495SXin LI    server if the delay exceeds 50ms. Retry again after the next
4174990d495SXin LI    broadcast packet.
4184990d495SXin LI* [Bug 3036] autokey trips an INSIST in authistrustedip().  Harlan Stenn.
4194990d495SXin LI* Document ntp.key's optional IP list in authenetic.html.  Harlan Stenn.
4204990d495SXin LI* Update html/xleave.html documentation.  Harlan Stenn.
4214990d495SXin LI* Update ntp.conf documentation.  Harlan Stenn.
4224990d495SXin LI* Fix some Credit: attributions in the NEWS file.  Harlan Stenn.
4234990d495SXin LI* Fix typo in html/monopt.html.  Harlan Stenn.
4244990d495SXin LI* Add README.pullrequests.  Harlan Stenn.
4254990d495SXin LI* Cleanup to include/ntp.h.  Harlan Stenn.
4264990d495SXin LI
4274990d495SXin LINew option to 'configure':
4284990d495SXin LI
4294990d495SXin LIWhile looking in to the issues around Bug 2978, the "interleave pivot"
4304990d495SXin LIissue, it became clear that there are some intricate and unresolved
4314990d495SXin LIissues with interleave operations.  We also realized that the interleave
4324990d495SXin LIprotocol was never added to the NTPv4 Standard, and it should have been.
4334990d495SXin LI
4344990d495SXin LIInterleave mode was first released in July of 2008, and can be engaged
4354990d495SXin LIin two ways.  Any 'peer' and 'broadcast' lines in the ntp.conf file may
4364990d495SXin LIcontain the 'xleave' option, which will expressly enable interlave mode
4374990d495SXin LIfor that association.  Additionally, if a time packet arrives and is
4384990d495SXin LIfound inconsistent with normal protocol behavior but has certain
4394990d495SXin LIcharacteristics that are compatible with interleave mode, NTP will
4404990d495SXin LIdynamically switch to interleave mode.  With sufficient knowledge, an
4414990d495SXin LIattacker can send a crafted forged packet to an NTP instance that
4424990d495SXin LItriggers only one side to enter interleaved mode.
4434990d495SXin LI
4444990d495SXin LITo prevent this attack until we can thoroughly document, describe,
4454990d495SXin LIfix, and test the dynamic interleave mode, we've added a new
4464990d495SXin LI'configure' option to the build process:
4474990d495SXin LI
4484990d495SXin LI --enable-dynamic-interleave
4494990d495SXin LI
4504990d495SXin LIThis option controls whether or not NTP will, if conditions are right,
4514990d495SXin LIengage dynamic interleave mode.  Dynamic interleave mode is disabled by
4524990d495SXin LIdefault in ntp-4.2.8p7.
4534990d495SXin LI
4544990d495SXin LI---
4554990d495SXin LINTP 4.2.8p6 (Harlan Stenn <stenn@ntp.org>, 2016/01/20)
45668ba7e87SXin LI
45768ba7e87SXin LIFocus: Security, Bug fixes, enhancements.
45868ba7e87SXin LI
45968ba7e87SXin LISeverity: MEDIUM
46068ba7e87SXin LI
46168ba7e87SXin LIIn addition to bug fixes and enhancements, this release fixes the
4624990d495SXin LIfollowing 1 low- and 8 medium-severity vulnerabilities:
46368ba7e87SXin LI
46468ba7e87SXin LI* Potential Infinite Loop in 'ntpq'
46568ba7e87SXin LI   Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
46668ba7e87SXin LI   References: Sec 2548 / CVE-2015-8158
46768ba7e87SXin LI   Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
46868ba7e87SXin LI	4.3.0 up to, but not including 4.3.90
46968ba7e87SXin LI   CVSS2: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3 - MEDIUM
47068ba7e87SXin LI   CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N Base Score: 5.3 - MEDIUM
47168ba7e87SXin LI   Summary: 'ntpq' processes incoming packets in a loop in 'getresponse()'.
47268ba7e87SXin LI	The loop's only stopping conditions are receiving a complete and
47368ba7e87SXin LI	correct response or hitting a small number of error conditions.
47468ba7e87SXin LI	If the packet contains incorrect values that don't trigger one of
47568ba7e87SXin LI	the error conditions, the loop continues to receive new packets.
47668ba7e87SXin LI	Note well, this is an attack against an instance of 'ntpq', not
47768ba7e87SXin LI	'ntpd', and this attack requires the attacker to do one of the
47868ba7e87SXin LI	following:
47968ba7e87SXin LI	* Own a malicious NTP server that the client trusts
48068ba7e87SXin LI	* Prevent a legitimate NTP server from sending packets to
48168ba7e87SXin LI	    the 'ntpq' client
48268ba7e87SXin LI	* MITM the 'ntpq' communications between the 'ntpq' client
48368ba7e87SXin LI	    and the NTP server
48468ba7e87SXin LI   Mitigation:
48568ba7e87SXin LI	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
48668ba7e87SXin LI	or the NTP Public Services Project Download Page
48768ba7e87SXin LI   Credit: This weakness was discovered by Jonathan Gardner of Cisco ASIG.
48868ba7e87SXin LI
48968ba7e87SXin LI* 0rigin: Zero Origin Timestamp Bypass
49068ba7e87SXin LI   Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
49168ba7e87SXin LI   References: Sec 2945 / CVE-2015-8138
49268ba7e87SXin LI   Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
49368ba7e87SXin LI	4.3.0 up to, but not including 4.3.90
49468ba7e87SXin LI   CVSS2: (AV:N/AC:L/Au:N/C:N/I:P/A:N) Base Score: 5.0 - MEDIUM
49568ba7e87SXin LI   CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N Base Score: 5.3 - MEDIUM
49668ba7e87SXin LI	(3.7 - LOW if you score AC:L)
49768ba7e87SXin LI   Summary: To distinguish legitimate peer responses from forgeries, a
49868ba7e87SXin LI	client attempts to verify a response packet by ensuring that the
49968ba7e87SXin LI	origin timestamp in the packet matches the origin timestamp it
50068ba7e87SXin LI	transmitted in its last request.  A logic error exists that
50168ba7e87SXin LI	allows packets with an origin timestamp of zero to bypass this
50268ba7e87SXin LI	check whenever there is not an outstanding request to the server.
50368ba7e87SXin LI   Mitigation:
50468ba7e87SXin LI	Configure 'ntpd' to get time from multiple sources.
50568ba7e87SXin LI	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
50668ba7e87SXin LI	    or the NTP Public Services Project Download Page.
50768ba7e87SXin LI	Monitor your 'ntpd= instances.
5084990d495SXin LI   Credit: This weakness was discovered by Matthey Van Gundy and
5094990d495SXin LI	Jonathan Gardner of Cisco ASIG.
51068ba7e87SXin LI
51168ba7e87SXin LI* Stack exhaustion in recursive traversal of restriction list
51268ba7e87SXin LI   Date Resolved: Stable (4.2.8p6) 19 Jan 2016
51368ba7e87SXin LI   References: Sec 2940 / CVE-2015-7978
51468ba7e87SXin LI   Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
51568ba7e87SXin LI	4.3.0 up to, but not including 4.3.90
51668ba7e87SXin LI   CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3 - MEDIUM
51768ba7e87SXin LI   Summary: An unauthenticated 'ntpdc reslist' command can cause a
51868ba7e87SXin LI   	segmentation fault in ntpd by exhausting the call stack.
51968ba7e87SXin LI   Mitigation:
52068ba7e87SXin LI	Implement BCP-38.
52168ba7e87SXin LI	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
52268ba7e87SXin LI	    or the NTP Public Services Project Download Page.
52368ba7e87SXin LI	If you are unable to upgrade:
52468ba7e87SXin LI            In ntp-4.2.8, mode 7 is disabled by default. Don't enable it.
52568ba7e87SXin LI	    If you must enable mode 7:
52668ba7e87SXin LI		configure the use of a 'requestkey' to control who can
52768ba7e87SXin LI		    issue mode 7 requests.
52868ba7e87SXin LI		configure 'restrict noquery' to further limit mode 7
52968ba7e87SXin LI		    requests to trusted sources.
53068ba7e87SXin LI		Monitor your ntpd instances.
53168ba7e87SXin LI   Credit: This weakness was discovered by Stephen Gray at Cisco ASIG.
53268ba7e87SXin LI
53368ba7e87SXin LI* Off-path Denial of Service (!DoS) attack on authenticated broadcast mode
53468ba7e87SXin LI   Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
53568ba7e87SXin LI   References: Sec 2942 / CVE-2015-7979
53668ba7e87SXin LI   Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
53768ba7e87SXin LI	4.3.0 up to, but not including 4.3.90
53868ba7e87SXin LI   CVSS: (AV:N/AC:M/Au:N/C:N/I:P/A:P) Base Score: 5.8
53968ba7e87SXin LI   Summary: An off-path attacker can send broadcast packets with bad
54068ba7e87SXin LI	authentication (wrong key, mismatched key, incorrect MAC, etc)
54168ba7e87SXin LI	to broadcast clients. It is observed that the broadcast client
54268ba7e87SXin LI	tears down the association with the broadcast server upon
54368ba7e87SXin LI	receiving just one bad packet.
54468ba7e87SXin LI   Mitigation:
54568ba7e87SXin LI	Implement BCP-38.
54668ba7e87SXin LI	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
54768ba7e87SXin LI	or the NTP Public Services Project Download Page.
54868ba7e87SXin LI	Monitor your 'ntpd' instances.
54968ba7e87SXin LI	If this sort of attack is an active problem for you, you have
55068ba7e87SXin LI	    deeper problems to investigate.  In this case also consider
55168ba7e87SXin LI	    having smaller NTP broadcast domains.
55268ba7e87SXin LI   Credit: This weakness was discovered by Aanchal Malhotra of Boston
55368ba7e87SXin LI   	University.
55468ba7e87SXin LI
55568ba7e87SXin LI* reslist NULL pointer dereference
55668ba7e87SXin LI   Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
55768ba7e87SXin LI   References: Sec 2939 / CVE-2015-7977
55868ba7e87SXin LI   Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
55968ba7e87SXin LI	4.3.0 up to, but not including 4.3.90
56068ba7e87SXin LI   CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3 - MEDIUM
56168ba7e87SXin LI   Summary: An unauthenticated 'ntpdc reslist' command can cause a
56268ba7e87SXin LI	segmentation fault in ntpd by causing a NULL pointer dereference.
56368ba7e87SXin LI   Mitigation:
56468ba7e87SXin LI	Implement BCP-38.
56568ba7e87SXin LI	Upgrade to 4.2.8p6, or later, from NTP Project Download Page or
56668ba7e87SXin LI	the NTP Public Services Project Download Page.
56768ba7e87SXin LI	If you are unable to upgrade:
56868ba7e87SXin LI	    mode 7 is disabled by default.  Don't enable it.
56968ba7e87SXin LI	    If you must enable mode 7:
57068ba7e87SXin LI		configure the use of a 'requestkey' to control who can
57168ba7e87SXin LI		    issue mode 7 requests.
57268ba7e87SXin LI		configure 'restrict noquery' to further limit mode 7
57368ba7e87SXin LI		    requests to trusted sources.
57468ba7e87SXin LI	Monitor your ntpd instances.
57568ba7e87SXin LI   Credit: This weakness was discovered by Stephen Gray of Cisco ASIG.
57668ba7e87SXin LI
57768ba7e87SXin LI* 'ntpq saveconfig' command allows dangerous characters in filenames.
57868ba7e87SXin LI   Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
57968ba7e87SXin LI   References: Sec 2938 / CVE-2015-7976
58068ba7e87SXin LI   Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
58168ba7e87SXin LI	4.3.0 up to, but not including 4.3.90
58268ba7e87SXin LI   CVSS: (AV:N/AC:L/Au:S/C:N/I:P/A:N) Base Score: 4.0 - MEDIUM
58368ba7e87SXin LI   Summary: The ntpq saveconfig command does not do adequate filtering
58468ba7e87SXin LI   	of special characters from the supplied filename.
58568ba7e87SXin LI	Note well: The ability to use the saveconfig command is controlled
58668ba7e87SXin LI	by the 'restrict nomodify' directive, and the recommended default
58768ba7e87SXin LI	configuration is to disable this capability.  If the ability to
58868ba7e87SXin LI	execute a 'saveconfig' is required, it can easily (and should) be
58968ba7e87SXin LI	limited and restricted to a known small number of IP addresses.
59068ba7e87SXin LI   Mitigation:
59168ba7e87SXin LI	Implement BCP-38.
59268ba7e87SXin LI	use 'restrict default nomodify' in your 'ntp.conf' file.
59368ba7e87SXin LI	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page.
59468ba7e87SXin LI	If you are unable to upgrade:
59568ba7e87SXin LI	    build NTP with 'configure --disable-saveconfig' if you will
59668ba7e87SXin LI	    	never need this capability, or
59768ba7e87SXin LI	    use 'restrict default nomodify' in your 'ntp.conf' file.  Be
59868ba7e87SXin LI		careful about what IPs have the ability to send 'modify'
59968ba7e87SXin LI		requests to 'ntpd'.
60068ba7e87SXin LI	Monitor your ntpd instances.
60168ba7e87SXin LI	'saveconfig' requests are logged to syslog - monitor your syslog files.
60268ba7e87SXin LI   Credit: This weakness was discovered by Jonathan Gardner of Cisco ASIG.
60368ba7e87SXin LI
60468ba7e87SXin LI* nextvar() missing length check in ntpq
60568ba7e87SXin LI   Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
60668ba7e87SXin LI   References: Sec 2937 / CVE-2015-7975
60768ba7e87SXin LI   Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
60868ba7e87SXin LI	4.3.0 up to, but not including 4.3.90
60968ba7e87SXin LI   CVSS: (AV:L/AC:H/Au:N/C:N/I:N/A:P) Base Score: 1.2 - LOW
61068ba7e87SXin LI	If you score A:C, this becomes 4.0.
61168ba7e87SXin LI   CVSSv3: (CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L) Base Score 2.9, LOW
61268ba7e87SXin LI   Summary: ntpq may call nextvar() which executes a memcpy() into the
61368ba7e87SXin LI	name buffer without a proper length check against its maximum
61468ba7e87SXin LI	length of 256 bytes. Note well that we're taking about ntpq here.
61568ba7e87SXin LI	The usual worst-case effect of this vulnerability is that the
61668ba7e87SXin LI	specific instance of ntpq will crash and the person or process
61768ba7e87SXin LI	that did this will have stopped themselves.
61868ba7e87SXin LI   Mitigation:
61968ba7e87SXin LI	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
62068ba7e87SXin LI	    or the NTP Public Services Project Download Page.
62168ba7e87SXin LI	If you are unable to upgrade:
62268ba7e87SXin LI	    If you have scripts that feed input to ntpq make sure there are
62368ba7e87SXin LI		some sanity checks on the input received from the "outside".
62468ba7e87SXin LI	    This is potentially more dangerous if ntpq is run as root.
62568ba7e87SXin LI   Credit: This weakness was discovered by Jonathan Gardner at Cisco ASIG.
62668ba7e87SXin LI
62768ba7e87SXin LI* Skeleton Key: Any trusted key system can serve time
62868ba7e87SXin LI   Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
62968ba7e87SXin LI   References: Sec 2936 / CVE-2015-7974
63068ba7e87SXin LI   Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
63168ba7e87SXin LI	4.3.0 up to, but not including 4.3.90
63268ba7e87SXin LI   CVSS: (AV:N/AC:H/Au:S/C:N/I:C/A:N) Base Score: 4.9
63368ba7e87SXin LI   Summary: Symmetric key encryption uses a shared trusted key. The
63468ba7e87SXin LI	reported title for this issue was "Missing key check allows
63568ba7e87SXin LI	impersonation between authenticated peers" and the report claimed
63668ba7e87SXin LI	"A key specified only for one server should only work to
63768ba7e87SXin LI	authenticate that server, other trusted keys should be refused."
63868ba7e87SXin LI	Except there has never been any correlation between this trusted
63968ba7e87SXin LI	key and server v. clients machines and there has never been any
64068ba7e87SXin LI	way to specify a key only for one server. We have treated this as
64168ba7e87SXin LI	an enhancement request, and ntp-4.2.8p6 includes other checks and
64268ba7e87SXin LI	tests to strengthen clients against attacks coming from broadcast
64368ba7e87SXin LI	servers.
64468ba7e87SXin LI   Mitigation:
64568ba7e87SXin LI	Implement BCP-38.
64668ba7e87SXin LI	If this scenario represents a real or a potential issue for you,
64768ba7e87SXin LI	    upgrade to 4.2.8p6, or later, from the NTP Project Download
64868ba7e87SXin LI	    Page or the NTP Public Services Project Download Page, and
64968ba7e87SXin LI	    use the new field in the ntp.keys file that specifies the list
65068ba7e87SXin LI	    of IPs that are allowed to serve time. Note that this alone
65168ba7e87SXin LI	    will not protect against time packets with forged source IP
65268ba7e87SXin LI	    addresses, however other changes in ntp-4.2.8p6 provide
65368ba7e87SXin LI	    significant mitigation against broadcast attacks. MITM attacks
65468ba7e87SXin LI	    are a different story.
65568ba7e87SXin LI	If you are unable to upgrade:
65668ba7e87SXin LI	    Don't use broadcast mode if you cannot monitor your client
65768ba7e87SXin LI	    	servers.
65868ba7e87SXin LI	    If you choose to use symmetric keys to authenticate time
65968ba7e87SXin LI	    	packets in a hostile environment where ephemeral time
66068ba7e87SXin LI		servers can be created, or if it is expected that malicious
66168ba7e87SXin LI		time servers will participate in an NTP broadcast domain,
66268ba7e87SXin LI		limit the number of participating systems that participate
66368ba7e87SXin LI		in the shared-key group.
66468ba7e87SXin LI	Monitor your ntpd instances.
66568ba7e87SXin LI   Credit: This weakness was discovered by Matt Street of Cisco ASIG.
66668ba7e87SXin LI
66768ba7e87SXin LI* Deja Vu: Replay attack on authenticated broadcast mode
66868ba7e87SXin LI   Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
66968ba7e87SXin LI   References: Sec 2935 / CVE-2015-7973
67068ba7e87SXin LI   Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
67168ba7e87SXin LI   	4.3.0 up to, but not including 4.3.90
67268ba7e87SXin LI   CVSS: (AV:A/AC:M/Au:N/C:N/I:P/A:P) Base Score: 4.3 - MEDIUM
67368ba7e87SXin LI   Summary: If an NTP network is configured for broadcast operations then
67468ba7e87SXin LI   	either a man-in-the-middle attacker or a malicious participant
67568ba7e87SXin LI	that has the same trusted keys as the victim can replay time packets.
67668ba7e87SXin LI   Mitigation:
67768ba7e87SXin LI	Implement BCP-38.
67868ba7e87SXin LI	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
67968ba7e87SXin LI	    or the NTP Public Services Project Download Page.
68068ba7e87SXin LI	If you are unable to upgrade:
68168ba7e87SXin LI	    Don't use broadcast mode if you cannot monitor your client servers.
68268ba7e87SXin LI	Monitor your ntpd instances.
68368ba7e87SXin LI   Credit: This weakness was discovered by Aanchal Malhotra of Boston
68468ba7e87SXin LI	University.
68568ba7e87SXin LI
68668ba7e87SXin LIOther fixes:
68768ba7e87SXin LI
68868ba7e87SXin LI* [Bug 2772] adj_systime overflows tv_usec. perlinger@ntp.org
68968ba7e87SXin LI* [Bug 2814] msyslog deadlock when signaled. perlinger@ntp.org
69068ba7e87SXin LI  - applied patch by shenpeng11@huawei.com with minor adjustments
69168ba7e87SXin LI* [Bug 2882] Look at ntp_request.c:list_peers_sum(). perlinger@ntp.org
69268ba7e87SXin LI* [Bug 2891] Deadlock in deferred DNS lookup framework. perlinger@ntp.org
69368ba7e87SXin LI* [Bug 2892] Several test cases assume IPv6 capabilities even when
69468ba7e87SXin LI             IPv6 is disabled in the build. perlinger@ntp.org
69568ba7e87SXin LI  - Found this already fixed, but validation led to cleanup actions.
69668ba7e87SXin LI* [Bug 2905] DNS lookups broken. perlinger@ntp.org
69768ba7e87SXin LI  - added limits to stack consumption, fixed some return code handling
69868ba7e87SXin LI* [Bug 2971] ntpq bails on ^C: select fails: Interrupted system call
69968ba7e87SXin LI  - changed stacked/nested handling of CTRL-C. perlinger@ntp.org
70068ba7e87SXin LI  - make CTRL-C work for retrieval and printing od MRU list. perlinger@ntp.org
70168ba7e87SXin LI* [Bug 2980] reduce number of warnings. perlinger@ntp.org
70268ba7e87SXin LI  - integrated several patches from Havard Eidnes (he@uninett.no)
70368ba7e87SXin LI* [Bug 2985] bogus calculation in authkeys.c perlinger@ntp.org
70468ba7e87SXin LI  - implement 'auth_log2()' using integer bithack instead of float calculation
70568ba7e87SXin LI* Make leapsec_query debug messages less verbose.  Harlan Stenn.
70668ba7e87SXin LI
70768ba7e87SXin LI---
7084990d495SXin LINTP 4.2.8p5 (Harlan Stenn <stenn@ntp.org>, 2016/01/07)
7093311ff84SXin LI
7103311ff84SXin LIFocus: Security, Bug fixes, enhancements.
7113311ff84SXin LI
7123311ff84SXin LISeverity: MEDIUM
7133311ff84SXin LI
7143311ff84SXin LIIn addition to bug fixes and enhancements, this release fixes the
7153311ff84SXin LIfollowing medium-severity vulnerability:
7163311ff84SXin LI
7173311ff84SXin LI* Small-step/big-step.  Close the panic gate earlier.
7183311ff84SXin LI    References: Sec 2956, CVE-2015-5300
7193311ff84SXin LI    Affects: All ntp-4 releases up to, but not including 4.2.8p5, and
7203311ff84SXin LI	4.3.0 up to, but not including 4.3.78
7213311ff84SXin LI    CVSS3: (AV:N/AC:H/PR:H/UI:R/S:C/C:L/I:N/A:L) Base Score: 4.0, MEDIUM
7223311ff84SXin LI    Summary: If ntpd is always started with the -g option, which is
7233311ff84SXin LI	common and against long-standing recommendation, and if at the
7243311ff84SXin LI	moment ntpd is restarted an attacker can immediately respond to
7253311ff84SXin LI	enough requests from enough sources trusted by the target, which
7263311ff84SXin LI	is difficult and not common, there is a window of opportunity
7273311ff84SXin LI	where the attacker can cause ntpd to set the time to an
7283311ff84SXin LI	arbitrary value. Similarly, if an attacker is able to respond
7293311ff84SXin LI	to enough requests from enough sources trusted by the target,
7303311ff84SXin LI	the attacker can cause ntpd to abort and restart, at which
7313311ff84SXin LI	point it can tell the target to set the time to an arbitrary
7323311ff84SXin LI	value if and only if ntpd was re-started against long-standing
7333311ff84SXin LI	recommendation with the -g flag, or if ntpd was not given the
7343311ff84SXin LI	-g flag, the attacker can move the target system's time by at
7353311ff84SXin LI	most 900 seconds' time per attack.
7363311ff84SXin LI    Mitigation:
7373311ff84SXin LI	Configure ntpd to get time from multiple sources.
7383311ff84SXin LI	Upgrade to 4.2.8p5, or later, from the NTP Project Download
7393311ff84SXin LI	    Page or the NTP Public Services Project Download Page
7403311ff84SXin LI	As we've long documented, only use the -g option to ntpd in
7413311ff84SXin LI	    cold-start situations.
7423311ff84SXin LI	Monitor your ntpd instances.
7433311ff84SXin LI    Credit: This weakness was discovered by Aanchal Malhotra,
7443311ff84SXin LI	Isaac E. Cohen, and Sharon Goldberg at Boston University.
7453311ff84SXin LI
7463311ff84SXin LI    NOTE WELL: The -g flag disables the limit check on the panic_gate
7473311ff84SXin LI	in ntpd, which is 900 seconds by default. The bug identified by
7483311ff84SXin LI	the researchers at Boston University is that the panic_gate
7493311ff84SXin LI	check was only re-enabled after the first change to the system
7503311ff84SXin LI	clock that was greater than 128 milliseconds, by default. The
7513311ff84SXin LI	correct behavior is that the panic_gate check should be
7523311ff84SXin LI	re-enabled after any initial time correction.
7533311ff84SXin LI
7543311ff84SXin LI	If an attacker is able to inject consistent but erroneous time
7553311ff84SXin LI	responses to your systems via the network or "over the air",
7563311ff84SXin LI	perhaps by spoofing radio, cellphone, or navigation satellite
7573311ff84SXin LI	transmissions, they are in a great position to affect your
7583311ff84SXin LI	system's clock. There comes a point where your very best
7593311ff84SXin LI	defenses include:
7603311ff84SXin LI
7613311ff84SXin LI	    Configure ntpd to get time from multiple sources.
7623311ff84SXin LI	    Monitor your ntpd instances.
7633311ff84SXin LI
7643311ff84SXin LIOther fixes:
7653311ff84SXin LI
7663311ff84SXin LI* Coverity submission process updated from Coverity 5 to Coverity 7.
7673311ff84SXin LI  The NTP codebase has been undergoing regular Coverity scans on an
7683311ff84SXin LI  ongoing basis since 2006.  As part of our recent upgrade from
7693311ff84SXin LI  Coverity 5 to Coverity 7, Coverity identified 16 nits in some of
7703311ff84SXin LI  the newly-written Unity test programs.  These were fixed.
7713311ff84SXin LI* [Bug 2829] Clean up pipe_fds in ntpd.c  perlinger@ntp.org
7723311ff84SXin LI* [Bug 2887] stratum -1 config results as showing value 99
7733311ff84SXin LI  - fudge stratum should only accept values [0..16]. perlinger@ntp.org
7743311ff84SXin LI* [Bug 2932] Update leapsecond file info in miscopt.html.  CWoodbury, HStenn.
7753311ff84SXin LI* [Bug 2934] tests/ntpd/t-ntp_scanner.c has a magic constant wired in.  HMurray
7763311ff84SXin LI* [Bug 2944] errno is not preserved properly in ntpdate after sendto call.
7773311ff84SXin LI  - applied patch by Christos Zoulas.  perlinger@ntp.org
7783311ff84SXin LI* [Bug 2952] Peer associations broken by fix for Bug 2901/CVE-2015-7704.
7793311ff84SXin LI* [Bug 2954] Version 4.2.8p4 crashes on startup on some OSes.
7803311ff84SXin LI  - fixed data race conditions in threaded DNS worker. perlinger@ntp.org
7813311ff84SXin LI  - limit threading warm-up to linux; FreeBSD bombs on it. perlinger@ntp.org
7823311ff84SXin LI* [Bug 2957] 'unsigned int' vs 'size_t' format clash. perlinger@ntp.org
7833311ff84SXin LI  - accept key file only if there are no parsing errors
7843311ff84SXin LI  - fixed size_t/u_int format clash
7853311ff84SXin LI  - fixed wrong use of 'strlcpy'
7863311ff84SXin LI* [Bug 2958] ntpq: fatal error messages need a final newline. Craig Leres.
7873311ff84SXin LI* [Bug 2962] truncation of size_t/ptrdiff_t on 64bit targets. perlinger@ntp.org
7883311ff84SXin LI  - fixed several other warnings (cast-alignment, missing const, missing prototypes)
7893311ff84SXin LI  - promote use of 'size_t' for values that express a size
7903311ff84SXin LI  - use ptr-to-const for read-only arguments
7913311ff84SXin LI  - make sure SOCKET values are not truncated (win32-specific)
7923311ff84SXin LI  - format string fixes
7933311ff84SXin LI* [Bug 2965] Local clock didn't work since 4.2.8p4.  Martin Burnicki.
7943311ff84SXin LI* [Bug 2967] ntpdate command suffers an assertion failure
7953311ff84SXin LI  - fixed ntp_rfc2553.c to return proper address length. perlinger@ntp.org
7963311ff84SXin LI* [Bug 2969]  Seg fault from ntpq/mrulist when looking at server with
7973311ff84SXin LI              lots of clients. perlinger@ntp.org
7983311ff84SXin LI* [Bug 2971] ntpq bails on ^C: select fails: Interrupted system call
7993311ff84SXin LI  - changed stacked/nested handling of CTRL-C. perlinger@ntp.org
8003311ff84SXin LI* Unity cleanup for FreeBSD-6.4.  Harlan Stenn.
8013311ff84SXin LI* Unity test cleanup.  Harlan Stenn.
8023311ff84SXin LI* Libevent autoconf pthread fixes for FreeBSD-10.  Harlan Stenn.
8033311ff84SXin LI* Header cleanup in tests/sandbox/uglydate.c.  Harlan Stenn.
8043311ff84SXin LI* Header cleanup in tests/libntp/sfptostr.c.  Harlan Stenn.
8053311ff84SXin LI* Quiet a warning from clang.  Harlan Stenn.
8063311ff84SXin LI
8073311ff84SXin LI---
8084990d495SXin LINTP 4.2.8p4 (Harlan Stenn <stenn@ntp.org>, 2015/10/21)
8099034852cSGleb Smirnoff
8103311ff84SXin LIFocus: Security, Bug fixes, enhancements.
8119034852cSGleb Smirnoff
8129034852cSGleb SmirnoffSeverity: MEDIUM
8139034852cSGleb Smirnoff
8149034852cSGleb SmirnoffIn addition to bug fixes and enhancements, this release fixes the
8159034852cSGleb Smirnofffollowing 13 low- and medium-severity vulnerabilities:
8169034852cSGleb Smirnoff
8179034852cSGleb Smirnoff* Incomplete vallen (value length) checks in ntp_crypto.c, leading
8189034852cSGleb Smirnoff  to potential crashes or potential code injection/information leakage.
8199034852cSGleb Smirnoff
8209034852cSGleb Smirnoff    References: Sec 2899, Sec 2671, CVE-2015-7691, CVE-2015-7692, CVE-2015-7702
8219034852cSGleb Smirnoff    Affects: All ntp-4 releases up to, but not including 4.2.8p4,
8229034852cSGleb Smirnoff    	and 4.3.0 up to, but not including 4.3.77
8239034852cSGleb Smirnoff    CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6
8249034852cSGleb Smirnoff    Summary: The fix for CVE-2014-9750 was incomplete in that there were
8259034852cSGleb Smirnoff    	certain code paths where a packet with particular autokey operations
8269034852cSGleb Smirnoff	that contained malicious data was not always being completely
8279034852cSGleb Smirnoff	validated. Receipt of these packets can cause ntpd to crash.
8289034852cSGleb Smirnoff    Mitigation:
8299034852cSGleb Smirnoff        Don't use autokey.
8309034852cSGleb Smirnoff	Upgrade to 4.2.8p4, or later, from the NTP Project Download
8319034852cSGleb Smirnoff	    Page or the NTP Public Services Project Download Page
8329034852cSGleb Smirnoff	Monitor your ntpd instances.
8339034852cSGleb Smirnoff	Credit: This weakness was discovered by Tenable Network Security.
8349034852cSGleb Smirnoff
8359034852cSGleb Smirnoff* Clients that receive a KoD should validate the origin timestamp field.
8369034852cSGleb Smirnoff
8379034852cSGleb Smirnoff    References: Sec 2901 / CVE-2015-7704, CVE-2015-7705
8389034852cSGleb Smirnoff    Affects: All ntp-4 releases up to, but not including 4.2.8p4,
8399034852cSGleb Smirnoff	and 4.3.0 up to, but not including 4.3.77
8409034852cSGleb Smirnoff    CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3-5.0 at worst
8419034852cSGleb Smirnoff    Summary: An ntpd client that honors Kiss-of-Death responses will honor
8429034852cSGleb Smirnoff    	KoD messages that have been forged by an attacker, causing it to
8439034852cSGleb Smirnoff	delay or stop querying its servers for time updates. Also, an
8449034852cSGleb Smirnoff	attacker can forge packets that claim to be from the target and
8459034852cSGleb Smirnoff	send them to servers often enough that a server that implements
8469034852cSGleb Smirnoff	KoD rate limiting will send the target machine a KoD response to
8479034852cSGleb Smirnoff	attempt to reduce the rate of incoming packets, or it may also
8489034852cSGleb Smirnoff	trigger a firewall block at the server for packets from the target
8499034852cSGleb Smirnoff	machine. For either of these attacks to succeed, the attacker must
8509034852cSGleb Smirnoff	know what servers the target is communicating with. An attacker
8519034852cSGleb Smirnoff	can be anywhere on the Internet and can frequently learn the
8529034852cSGleb Smirnoff	identity of the target's time source by sending the target a
8539034852cSGleb Smirnoff	time query.
8549034852cSGleb Smirnoff    Mitigation:
8559034852cSGleb Smirnoff        Implement BCP-38.
8569034852cSGleb Smirnoff	Upgrade to 4.2.8p4, or later, from the NTP Project Download Page
8579034852cSGleb Smirnoff	    or the NTP Public Services Project Download Page
8589034852cSGleb Smirnoff	If you can't upgrade, restrict who can query ntpd to learn who
8599034852cSGleb Smirnoff	    its servers are, and what IPs are allowed to ask your system
8609034852cSGleb Smirnoff	    for the time. This mitigation is heavy-handed.
8619034852cSGleb Smirnoff	Monitor your ntpd instances.
8629034852cSGleb Smirnoff    Note:
8639034852cSGleb Smirnoff    	4.2.8p4 protects against the first attack. For the second attack,
8649034852cSGleb Smirnoff    	all we can do is warn when it is happening, which we do in 4.2.8p4.
8659034852cSGleb Smirnoff    Credit: This weakness was discovered by Aanchal Malhotra,
8669034852cSGleb Smirnoff    	Issac E. Cohen, and Sharon Goldberg of Boston University.
8679034852cSGleb Smirnoff
8689034852cSGleb Smirnoff* configuration directives to change "pidfile" and "driftfile" should
8699034852cSGleb Smirnoff  only be allowed locally.
8709034852cSGleb Smirnoff
8719034852cSGleb Smirnoff  References: Sec 2902 / CVE-2015-5196
8729034852cSGleb Smirnoff  Affects: All ntp-4 releases up to, but not including 4.2.8p4,
8739034852cSGleb Smirnoff	and 4.3.0 up to, but not including 4.3.77
8749034852cSGleb Smirnoff   CVSS: (AV:N/AC:H/Au:M/C:N/I:C/A:C) Base Score: 6.2 worst case
8759034852cSGleb Smirnoff   Summary: If ntpd is configured to allow for remote configuration,
8769034852cSGleb Smirnoff	and if the (possibly spoofed) source IP address is allowed to
8779034852cSGleb Smirnoff	send remote configuration requests, and if the attacker knows
8789034852cSGleb Smirnoff	the remote configuration password, it's possible for an attacker
8799034852cSGleb Smirnoff	to use the "pidfile" or "driftfile" directives to potentially
8809034852cSGleb Smirnoff	overwrite other files.
8819034852cSGleb Smirnoff   Mitigation:
8829034852cSGleb Smirnoff	Implement BCP-38.
8839034852cSGleb Smirnoff	Upgrade to 4.2.8p4, or later, from the NTP Project Download
8849034852cSGleb Smirnoff	    Page or the NTP Public Services Project Download Page
8859034852cSGleb Smirnoff	If you cannot upgrade, don't enable remote configuration.
8869034852cSGleb Smirnoff	If you must enable remote configuration and cannot upgrade,
8879034852cSGleb Smirnoff	    remote configuration of NTF's ntpd requires:
8889034852cSGleb Smirnoff	    - an explicitly configured trustedkey, and you should also
8899034852cSGleb Smirnoff	    	configure a controlkey.
8909034852cSGleb Smirnoff	    - access from a permitted IP. You choose the IPs.
8919034852cSGleb Smirnoff	    - authentication. Don't disable it. Practice secure key safety.
8929034852cSGleb Smirnoff	Monitor your ntpd instances.
8939034852cSGleb Smirnoff   Credit: This weakness was discovered by Miroslav Lichvar of Red Hat.
8949034852cSGleb Smirnoff
8959034852cSGleb Smirnoff* Slow memory leak in CRYPTO_ASSOC
8969034852cSGleb Smirnoff
8979034852cSGleb Smirnoff  References: Sec 2909 / CVE-2015-7701
8989034852cSGleb Smirnoff  Affects: All ntp-4 releases that use autokey up to, but not
8999034852cSGleb Smirnoff    including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77
9009034852cSGleb Smirnoff  CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 0.0 best/usual case,
9019034852cSGleb Smirnoff  	4.6 otherwise
9029034852cSGleb Smirnoff  Summary: If ntpd is configured to use autokey, then an attacker can
9039034852cSGleb Smirnoff	send packets to ntpd that will, after several days of ongoing
9049034852cSGleb Smirnoff	attack, cause it to run out of memory.
9059034852cSGleb Smirnoff  Mitigation:
9069034852cSGleb Smirnoff	Don't use autokey.
9079034852cSGleb Smirnoff	Upgrade to 4.2.8p4, or later, from the NTP Project Download
9089034852cSGleb Smirnoff	    Page or the NTP Public Services Project Download Page
9099034852cSGleb Smirnoff	Monitor your ntpd instances.
9109034852cSGleb Smirnoff  Credit: This weakness was discovered by Tenable Network Security.
9119034852cSGleb Smirnoff
9129034852cSGleb Smirnoff* mode 7 loop counter underrun
9139034852cSGleb Smirnoff
9149034852cSGleb Smirnoff  References:  Sec 2913 / CVE-2015-7848 / TALOS-CAN-0052
9159034852cSGleb Smirnoff  Affects: All ntp-4 releases up to, but not including 4.2.8p4,
9169034852cSGleb Smirnoff  	and 4.3.0 up to, but not including 4.3.77
9179034852cSGleb Smirnoff  CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6
9189034852cSGleb Smirnoff  Summary: If ntpd is configured to enable mode 7 packets, and if the
9199034852cSGleb Smirnoff	use of mode 7 packets is not properly protected thru the use of
9209034852cSGleb Smirnoff	the available mode 7 authentication and restriction mechanisms,
9219034852cSGleb Smirnoff	and if the (possibly spoofed) source IP address is allowed to
9229034852cSGleb Smirnoff	send mode 7 queries, then an attacker can send a crafted packet
9239034852cSGleb Smirnoff	to ntpd that will cause it to crash.
9249034852cSGleb Smirnoff  Mitigation:
9259034852cSGleb Smirnoff	Implement BCP-38.
9269034852cSGleb Smirnoff	Upgrade to 4.2.8p4, or later, from the NTP Project Download
9279034852cSGleb Smirnoff	    Page or the NTP Public Services Project Download Page.
9289034852cSGleb Smirnoff	      If you are unable to upgrade:
9299034852cSGleb Smirnoff	In ntp-4.2.8, mode 7 is disabled by default. Don't enable it.
9309034852cSGleb Smirnoff	If you must enable mode 7:
9319034852cSGleb Smirnoff	    configure the use of a requestkey to control who can issue
9329034852cSGleb Smirnoff		mode 7 requests.
9339034852cSGleb Smirnoff	    configure restrict noquery to further limit mode 7 requests
9349034852cSGleb Smirnoff		to trusted sources.
9359034852cSGleb Smirnoff	Monitor your ntpd instances.
9369034852cSGleb SmirnoffCredit: This weakness was discovered by Aleksandar Nikolic of Cisco Talos.
9379034852cSGleb Smirnoff
9389034852cSGleb Smirnoff* memory corruption in password store
9399034852cSGleb Smirnoff
9409034852cSGleb Smirnoff  References: Sec 2916 / CVE-2015-7849 / TALOS-CAN-0054
9419034852cSGleb Smirnoff  Affects: All ntp-4 releases up to, but not including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77
9429034852cSGleb Smirnoff  CVSS: (AV:N/AC:H/Au:M/C:N/I:C/A:C) Base Score: 6.8, worst case
9439034852cSGleb Smirnoff  Summary: If ntpd is configured to allow remote configuration, and if
9449034852cSGleb Smirnoff	the (possibly spoofed) source IP address is allowed to send
9459034852cSGleb Smirnoff	remote configuration requests, and if the attacker knows the
9469034852cSGleb Smirnoff	remote configuration password or if ntpd was configured to
9479034852cSGleb Smirnoff	disable authentication, then an attacker can send a set of
9489034852cSGleb Smirnoff	packets to ntpd that may cause a crash or theoretically
9499034852cSGleb Smirnoff	perform a code injection attack.
9509034852cSGleb Smirnoff  Mitigation:
9519034852cSGleb Smirnoff	Implement BCP-38.
9529034852cSGleb Smirnoff	Upgrade to 4.2.8p4, or later, from the NTP Project Download
9539034852cSGleb Smirnoff	    Page or the NTP Public Services Project Download Page.
9549034852cSGleb Smirnoff	If you are unable to upgrade, remote configuration of NTF's
9559034852cSGleb Smirnoff	    ntpd requires:
9569034852cSGleb Smirnoff		an explicitly configured "trusted" key. Only configure
9579034852cSGleb Smirnoff			this if you need it.
9589034852cSGleb Smirnoff		access from a permitted IP address. You choose the IPs.
9599034852cSGleb Smirnoff		authentication. Don't disable it. Practice secure key safety.
9609034852cSGleb Smirnoff	Monitor your ntpd instances.
9619034852cSGleb Smirnoff  Credit: This weakness was discovered by Yves Younan of Cisco Talos.
9629034852cSGleb Smirnoff
9639034852cSGleb Smirnoff* Infinite loop if extended logging enabled and the logfile and
9649034852cSGleb Smirnoff  keyfile are the same.
9659034852cSGleb Smirnoff
9669034852cSGleb Smirnoff    References: Sec 2917 / CVE-2015-7850 / TALOS-CAN-0055
9679034852cSGleb Smirnoff    Affects: All ntp-4 releases up to, but not including 4.2.8p4,
9689034852cSGleb Smirnoff	and 4.3.0 up to, but not including 4.3.77
9699034852cSGleb Smirnoff    CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6, worst case
9709034852cSGleb Smirnoff    Summary: If ntpd is configured to allow remote configuration, and if
9719034852cSGleb Smirnoff	the (possibly spoofed) source IP address is allowed to send
9729034852cSGleb Smirnoff	remote configuration requests, and if the attacker knows the
9739034852cSGleb Smirnoff	remote configuration password or if ntpd was configured to
9749034852cSGleb Smirnoff	disable authentication, then an attacker can send a set of
9759034852cSGleb Smirnoff	packets to ntpd that will cause it to crash and/or create a
9769034852cSGleb Smirnoff	potentially huge log file. Specifically, the attacker could
9779034852cSGleb Smirnoff	enable extended logging, point the key file at the log file,
9789034852cSGleb Smirnoff	and cause what amounts to an infinite loop.
9799034852cSGleb Smirnoff    Mitigation:
9809034852cSGleb Smirnoff	Implement BCP-38.
9819034852cSGleb Smirnoff	Upgrade to 4.2.8p4, or later, from the NTP Project Download
9829034852cSGleb Smirnoff	    Page or the NTP Public Services Project Download Page.
9839034852cSGleb Smirnoff	If you are unable to upgrade, remote configuration of NTF's ntpd
9849034852cSGleb Smirnoff	  requires:
9859034852cSGleb Smirnoff            an explicitly configured "trusted" key. Only configure this
9869034852cSGleb Smirnoff	    	if you need it.
9879034852cSGleb Smirnoff            access from a permitted IP address. You choose the IPs.
9889034852cSGleb Smirnoff            authentication. Don't disable it. Practice secure key safety.
9899034852cSGleb Smirnoff        Monitor your ntpd instances.
9909034852cSGleb Smirnoff    Credit: This weakness was discovered by Yves Younan of Cisco Talos.
9919034852cSGleb Smirnoff
9929034852cSGleb Smirnoff* Potential path traversal vulnerability in the config file saving of
9939034852cSGleb Smirnoff  ntpd on VMS.
9949034852cSGleb Smirnoff
9959034852cSGleb Smirnoff  References: Sec 2918 / CVE-2015-7851 / TALOS-CAN-0062
9969034852cSGleb Smirnoff  Affects: All ntp-4 releases running under VMS up to, but not
9979034852cSGleb Smirnoff	including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77
9989034852cSGleb Smirnoff  CVSS: (AV:N/AC:H/Au:M/C:N/I:P/A:C) Base Score: 5.2, worst case
9999034852cSGleb Smirnoff  Summary: If ntpd is configured to allow remote configuration, and if
10009034852cSGleb Smirnoff	the (possibly spoofed) IP address is allowed to send remote
10019034852cSGleb Smirnoff	configuration requests, and if the attacker knows the remote
10029034852cSGleb Smirnoff	configuration password or if ntpd was configured to disable
10039034852cSGleb Smirnoff	authentication, then an attacker can send a set of packets to
10049034852cSGleb Smirnoff	ntpd that may cause ntpd to overwrite files.
10059034852cSGleb Smirnoff  Mitigation:
10069034852cSGleb Smirnoff	Implement BCP-38.
10079034852cSGleb Smirnoff	Upgrade to 4.2.8p4, or later, from the NTP Project Download
10089034852cSGleb Smirnoff	    Page or the NTP Public Services Project Download Page.
10099034852cSGleb Smirnoff	If you are unable to upgrade, remote configuration of NTF's ntpd
10109034852cSGleb Smirnoff	    requires:
10119034852cSGleb Smirnoff		an explicitly configured "trusted" key. Only configure
10129034852cSGleb Smirnoff			this if you need it.
10139034852cSGleb Smirnoff		access from permitted IP addresses. You choose the IPs.
10149034852cSGleb Smirnoff		authentication. Don't disable it. Practice key security safety.
10159034852cSGleb Smirnoff        Monitor your ntpd instances.
10169034852cSGleb Smirnoff    Credit: This weakness was discovered by Yves Younan of Cisco Talos.
10179034852cSGleb Smirnoff
10189034852cSGleb Smirnoff* ntpq atoascii() potential memory corruption
10199034852cSGleb Smirnoff
10209034852cSGleb Smirnoff  References: Sec 2919 / CVE-2015-7852 / TALOS-CAN-0063
10219034852cSGleb Smirnoff  Affects: All ntp-4 releases running up to, but not including 4.2.8p4,
10229034852cSGleb Smirnoff	and 4.3.0 up to, but not including 4.3.77
10239034852cSGleb Smirnoff  CVSS: (AV:N/AC:H/Au:N/C:N/I:P/A:P) Base Score: 4.0, worst case
10249034852cSGleb Smirnoff  Summary: If an attacker can figure out the precise moment that ntpq
10259034852cSGleb Smirnoff	is listening for data and the port number it is listening on or
10269034852cSGleb Smirnoff	if the attacker can provide a malicious instance ntpd that
10279034852cSGleb Smirnoff	victims will connect to then an attacker can send a set of
10289034852cSGleb Smirnoff	crafted mode 6 response packets that, if received by ntpq,
10299034852cSGleb Smirnoff	can cause ntpq to crash.
10309034852cSGleb Smirnoff  Mitigation:
10319034852cSGleb Smirnoff	Implement BCP-38.
10329034852cSGleb Smirnoff	Upgrade to 4.2.8p4, or later, from the NTP Project Download
10339034852cSGleb Smirnoff	    Page or the NTP Public Services Project Download Page.
10349034852cSGleb Smirnoff	If you are unable to upgrade and you run ntpq against a server
10359034852cSGleb Smirnoff	    and ntpq crashes, try again using raw mode. Build or get a
10369034852cSGleb Smirnoff	    patched ntpq and see if that fixes the problem. Report new
10379034852cSGleb Smirnoff	    bugs in ntpq or abusive servers appropriately.
10389034852cSGleb Smirnoff	If you use ntpq in scripts, make sure ntpq does what you expect
10399034852cSGleb Smirnoff	    in your scripts.
10409034852cSGleb Smirnoff  Credit: This weakness was discovered by Yves Younan and
10419034852cSGleb Smirnoff  	Aleksander Nikolich of Cisco Talos.
10429034852cSGleb Smirnoff
10439034852cSGleb Smirnoff* Invalid length data provided by a custom refclock driver could cause
10449034852cSGleb Smirnoff  a buffer overflow.
10459034852cSGleb Smirnoff
10469034852cSGleb Smirnoff  References: Sec 2920 / CVE-2015-7853 / TALOS-CAN-0064
10479034852cSGleb Smirnoff  Affects: Potentially all ntp-4 releases running up to, but not
10489034852cSGleb Smirnoff	including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77
10499034852cSGleb Smirnoff	that have custom refclocks
10509034852cSGleb Smirnoff  CVSS: (AV:L/AC:H/Au:M/C:C/I:C/A:C) Base Score: 0.0 usual case,
10519034852cSGleb Smirnoff	5.9 unusual worst case
10529034852cSGleb Smirnoff  Summary: A negative value for the datalen parameter will overflow a
10539034852cSGleb Smirnoff	data buffer. NTF's ntpd driver implementations always set this
10549034852cSGleb Smirnoff	value to 0 and are therefore not vulnerable to this weakness.
10559034852cSGleb Smirnoff	If you are running a custom refclock driver in ntpd and that
10569034852cSGleb Smirnoff	driver supplies a negative value for datalen (no custom driver
10579034852cSGleb Smirnoff	of even minimal competence would do this) then ntpd would
10589034852cSGleb Smirnoff	overflow a data buffer. It is even hypothetically possible
10599034852cSGleb Smirnoff	in this case that instead of simply crashing ntpd the attacker
10609034852cSGleb Smirnoff	could effect a code injection attack.
10619034852cSGleb Smirnoff  Mitigation:
10629034852cSGleb Smirnoff	Upgrade to 4.2.8p4, or later, from the NTP Project Download
10639034852cSGleb Smirnoff	    Page or the NTP Public Services Project Download Page.
10649034852cSGleb Smirnoff	If you are unable to upgrade:
10659034852cSGleb Smirnoff		If you are running custom refclock drivers, make sure
10669034852cSGleb Smirnoff			the signed datalen value is either zero or positive.
10679034852cSGleb Smirnoff	Monitor your ntpd instances.
10689034852cSGleb Smirnoff  Credit: This weakness was discovered by Yves Younan of Cisco Talos.
10699034852cSGleb Smirnoff
10709034852cSGleb Smirnoff* Password Length Memory Corruption Vulnerability
10719034852cSGleb Smirnoff
10729034852cSGleb Smirnoff  References: Sec 2921 / CVE-2015-7854 / TALOS-CAN-0065
10739034852cSGleb Smirnoff  Affects: All ntp-4 releases up to, but not including 4.2.8p4, and
10749034852cSGleb Smirnoff  	4.3.0 up to, but not including 4.3.77
10759034852cSGleb Smirnoff  CVSS: (AV:N/AC:H/Au:M/C:C/I:C/A:C) Base Score: 0.0 best case,
10769034852cSGleb Smirnoff  	1.7 usual case, 6.8, worst case
10779034852cSGleb Smirnoff  Summary: If ntpd is configured to allow remote configuration, and if
10789034852cSGleb Smirnoff	the (possibly spoofed) source IP address is allowed to send
10799034852cSGleb Smirnoff	remote configuration requests, and if the attacker knows the
10809034852cSGleb Smirnoff	remote configuration password or if ntpd was (foolishly)
10819034852cSGleb Smirnoff	configured to disable authentication, then an attacker can
10829034852cSGleb Smirnoff	send a set of packets to ntpd that may cause it to crash,
10839034852cSGleb Smirnoff	with the hypothetical possibility of a small code injection.
10849034852cSGleb Smirnoff  Mitigation:
10859034852cSGleb Smirnoff	Implement BCP-38.
10869034852cSGleb Smirnoff	Upgrade to 4.2.8p4, or later, from the NTP Project Download
10879034852cSGleb Smirnoff	    Page or the NTP Public Services Project Download Page.
10889034852cSGleb Smirnoff	If you are unable to upgrade, remote configuration of NTF's
10899034852cSGleb Smirnoff	    ntpd requires:
10909034852cSGleb Smirnoff		an explicitly configured "trusted" key. Only configure
10919034852cSGleb Smirnoff			this if you need it.
10929034852cSGleb Smirnoff		access from a permitted IP address. You choose the IPs.
10939034852cSGleb Smirnoff		authentication. Don't disable it. Practice secure key safety.
10949034852cSGleb Smirnoff	Monitor your ntpd instances.
10959034852cSGleb Smirnoff  Credit: This weakness was discovered by Yves Younan and
10969034852cSGleb Smirnoff  	Aleksander Nikolich of Cisco Talos.
10979034852cSGleb Smirnoff
10989034852cSGleb Smirnoff* decodenetnum() will ASSERT botch instead of returning FAIL on some
10999034852cSGleb Smirnoff  bogus values.
11009034852cSGleb Smirnoff
11019034852cSGleb Smirnoff  References: Sec 2922 / CVE-2015-7855
11029034852cSGleb Smirnoff  Affects: All ntp-4 releases up to, but not including 4.2.8p4, and
11039034852cSGleb Smirnoff	4.3.0 up to, but not including 4.3.77
11049034852cSGleb Smirnoff  CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6, worst case
11059034852cSGleb Smirnoff  Summary: If ntpd is fed a crafted mode 6 or mode 7 packet containing
11069034852cSGleb Smirnoff	an unusually long data value where a network address is expected,
11079034852cSGleb Smirnoff	the decodenetnum() function will abort with an assertion failure
11089034852cSGleb Smirnoff	instead of simply returning a failure condition.
11099034852cSGleb Smirnoff  Mitigation:
11109034852cSGleb Smirnoff	Implement BCP-38.
11119034852cSGleb Smirnoff	Upgrade to 4.2.8p4, or later, from the NTP Project Download
11129034852cSGleb Smirnoff	    Page or the NTP Public Services Project Download Page.
11139034852cSGleb Smirnoff	If you are unable to upgrade:
11149034852cSGleb Smirnoff		mode 7 is disabled by default. Don't enable it.
11159034852cSGleb Smirnoff		Use restrict noquery to limit who can send mode 6
11169034852cSGleb Smirnoff			and mode 7 requests.
11179034852cSGleb Smirnoff		Configure and use the controlkey and requestkey
11189034852cSGleb Smirnoff			authentication directives to limit who can
11199034852cSGleb Smirnoff			send mode 6 and mode 7 requests.
11209034852cSGleb Smirnoff	Monitor your ntpd instances.
11219034852cSGleb Smirnoff  Credit: This weakness was discovered by John D "Doug" Birdwell of IDA.org.
11229034852cSGleb Smirnoff
11239034852cSGleb Smirnoff* NAK to the Future: Symmetric association authentication bypass via
11249034852cSGleb Smirnoff  crypto-NAK.
11259034852cSGleb Smirnoff
11269034852cSGleb Smirnoff  References: Sec 2941 / CVE-2015-7871
11279034852cSGleb Smirnoff  Affects: All ntp-4 releases between 4.2.5p186 up to but not including
11289034852cSGleb Smirnoff  	4.2.8p4, and 4.3.0 up to but not including 4.3.77
11299034852cSGleb Smirnoff  CVSS: (AV:N/AC:L/Au:N/C:N/I:P/A:P) Base Score: 6.4
11309034852cSGleb Smirnoff  Summary: Crypto-NAK packets can be used to cause ntpd to accept time
11319034852cSGleb Smirnoff	from unauthenticated ephemeral symmetric peers by bypassing the
11329034852cSGleb Smirnoff	authentication required to mobilize peer associations. This
11339034852cSGleb Smirnoff	vulnerability appears to have been introduced in ntp-4.2.5p186
11349034852cSGleb Smirnoff	when the code handling mobilization of new passive symmetric
11359034852cSGleb Smirnoff	associations (lines 1103-1165) was refactored.
11369034852cSGleb Smirnoff  Mitigation:
11379034852cSGleb Smirnoff	Implement BCP-38.
11389034852cSGleb Smirnoff	Upgrade to 4.2.8p4, or later, from the NTP Project Download
11399034852cSGleb Smirnoff	    Page or the NTP Public Services Project Download Page.
11409034852cSGleb Smirnoff	If you are unable to upgrade:
11419034852cSGleb Smirnoff		Apply the patch to the bottom of the "authentic" check
11429034852cSGleb Smirnoff			block around line 1136 of ntp_proto.c.
11439034852cSGleb Smirnoff	Monitor your ntpd instances.
11444990d495SXin LI  Credit: This weakness was discovered by Matthew Van Gundy of Cisco ASIG.
11459034852cSGleb Smirnoff
11469034852cSGleb SmirnoffBackward-Incompatible changes:
11479034852cSGleb Smirnoff* [Bug 2817] Default on Linux is now "rlimit memlock -1".
11489034852cSGleb Smirnoff  While the general default of 32M is still the case, under Linux
11499034852cSGleb Smirnoff  the default value has been changed to -1 (do not lock ntpd into
11509034852cSGleb Smirnoff  memory).  A value of 0 means "lock ntpd into memory with whatever
11519034852cSGleb Smirnoff  memory it needs." If your ntp.conf file has an explicit "rlimit memlock"
11529034852cSGleb Smirnoff  value in it, that value will continue to be used.
11539034852cSGleb Smirnoff
11549034852cSGleb Smirnoff* [Bug 2886] Misspelling: "outlyer" should be "outlier".
11559034852cSGleb Smirnoff  If you've written a script that looks for this case in, say, the
11569034852cSGleb Smirnoff  output of ntpq, you probably want to change your regex matches
11579034852cSGleb Smirnoff  from 'outlyer' to 'outl[iy]er'.
11589034852cSGleb Smirnoff
11599034852cSGleb SmirnoffNew features in this release:
11609034852cSGleb Smirnoff* 'rlimit memlock' now has finer-grained control.  A value of -1 means
11619034852cSGleb Smirnoff  "don't lock ntpd into memore".  This is the default for Linux boxes.
11629034852cSGleb Smirnoff  A value of 0 means "lock ntpd into memory" with no limits.  Otherwise
11639034852cSGleb Smirnoff  the value is the number of megabytes of memory to lock.  The default
11649034852cSGleb Smirnoff  is 32 megabytes.
11659034852cSGleb Smirnoff
11669034852cSGleb Smirnoff* The old Google Test framework has been replaced with a new framework,
11679034852cSGleb Smirnoff  based on http://www.throwtheswitch.org/unity/ .
11689034852cSGleb Smirnoff
11699034852cSGleb SmirnoffBug Fixes and Improvements:
11709034852cSGleb Smirnoff* [Bug 2332] (reopened) Exercise thread cancellation once before dropping
11719034852cSGleb Smirnoff  privileges and limiting resources in NTPD removes the need to link
11729034852cSGleb Smirnoff  forcefully against 'libgcc_s' which does not always work. J.Perlinger
11739034852cSGleb Smirnoff* [Bug 2595] ntpdate man page quirks.  Hal Murray, Harlan Stenn.
11749034852cSGleb Smirnoff* [Bug 2625] Deprecate flag1 in local refclock.  Hal Murray, Harlan Stenn.
11759034852cSGleb Smirnoff* [Bug 2817] Stop locking ntpd into memory by default under Linux.  H.Stenn.
11769034852cSGleb Smirnoff* [Bug 2821] minor build issues: fixed refclock_gpsdjson.c.  perlinger@ntp.org
11779034852cSGleb Smirnoff* [Bug 2823] ntpsweep with recursive peers option doesn't work.  H.Stenn.
11789034852cSGleb Smirnoff* [Bug 2849] Systems with more than one default route may never
11799034852cSGleb Smirnoff  synchronize.  Brian Utterback.  Note that this patch might need to
11809034852cSGleb Smirnoff  be reverted once Bug 2043 has been fixed.
11819034852cSGleb Smirnoff* [Bug 2864] 4.2.8p3 fails to compile on Windows. Juergen Perlinger
11829034852cSGleb Smirnoff* [Bug 2866] segmentation fault at initgroups().  Harlan Stenn.
11839034852cSGleb Smirnoff* [Bug 2867] ntpd with autokey active crashed by 'ntpq -crv'. J.Perlinger
11849034852cSGleb Smirnoff* [Bug 2873] libevent should not include .deps/ in the tarball.  H.Stenn
11859034852cSGleb Smirnoff* [Bug 2874] Don't distribute generated sntp/tests/fileHandlingTest.h. H.Stenn
11869034852cSGleb Smirnoff* [Bug 2875] sntp/Makefile.am: Get rid of DIST_SUBDIRS.  libevent must
11879034852cSGleb Smirnoff  be configured for the distribution targets.  Harlan Stenn.
11889034852cSGleb Smirnoff* [Bug 2883] ntpd crashes on exit with empty driftfile.  Miroslav Lichvar.
11899034852cSGleb Smirnoff* [Bug 2886] Mis-spelling: "outlyer" should be "outlier".  dave@horsfall.org
11909034852cSGleb Smirnoff* [Bug 2888] streamline calendar functions.  perlinger@ntp.org
11919034852cSGleb Smirnoff* [Bug 2889] ntp-dev-4.3.67 does not build on Windows.  perlinger@ntp.org
11929034852cSGleb Smirnoff* [Bug 2890] Ignore ENOBUFS on routing netlink socket.  Konstantin Khlebnikov.
11939034852cSGleb Smirnoff* [Bug 2906] make check needs better support for pthreads.  Harlan Stenn.
11949034852cSGleb Smirnoff* [Bug 2907] dist* build targets require our libevent/ to be enabled.  HStenn.
11959034852cSGleb Smirnoff* [Bug 2912] no munlockall() under Windows.  David Taylor, Harlan Stenn.
11969034852cSGleb Smirnoff* libntp/emalloc.c: Remove explicit include of stdint.h.  Harlan Stenn.
11979034852cSGleb Smirnoff* Put Unity CPPFLAGS items in unity_config.h.  Harlan Stenn.
11989034852cSGleb Smirnoff* tests/ntpd/g_leapsec.cpp typo fix.  Harlan Stenn.
11999034852cSGleb Smirnoff* Phase 1 deprecation of google test in sntp/tests/.  Harlan Stenn.
12009034852cSGleb Smirnoff* On some versions of HP-UX, inttypes.h does not include stdint.h.  H.Stenn.
12019034852cSGleb Smirnoff* top_srcdir can change based on ntp v. sntp.  Harlan Stenn.
12029034852cSGleb Smirnoff* sntp/tests/ function parameter list cleanup.  Damir Tomić.
12039034852cSGleb Smirnoff* tests/libntp/ function parameter list cleanup.  Damir Tomić.
12049034852cSGleb Smirnoff* tests/ntpd/ function parameter list cleanup.  Damir Tomić.
12059034852cSGleb Smirnoff* sntp/unity/unity_config.h: handle stdint.h.  Harlan Stenn.
12069034852cSGleb Smirnoff* sntp/unity/unity_internals.h: handle *INTPTR_MAX on old Solaris.  H.Stenn.
12079034852cSGleb Smirnoff* tests/libntp/timevalops.c and timespecops.c fixed error printing.  D.Tomić.
12089034852cSGleb Smirnoff* tests/libntp/ improvements in code and fixed error printing.  Damir Tomić.
12099034852cSGleb Smirnoff* tests/libntp: a_md5encrypt.c, authkeys.c, buftvtots.c, calendar.c, caljulian.c,
12109034852cSGleb Smirnoff  caltontp.c, clocktime.c, humandate.c, hextolfp.c, decodenetnum.c - fixed
12119034852cSGleb Smirnoff  formatting; first declaration, then code (C90); deleted unnecessary comments;
12129034852cSGleb Smirnoff  changed from sprintf to snprintf; fixed order of includes. Tomasz Flendrich
12139034852cSGleb Smirnoff* tests/libntp/lfpfunc.c remove unnecessary include, remove old comments,
12149034852cSGleb Smirnoff  fix formatting, cleanup. Tomasz Flendrich
12159034852cSGleb Smirnoff* tests/libntp/lfptostr.c remove unnecessary include, add consts, fix formatting.
12169034852cSGleb Smirnoff  Tomasz Flendrich
12179034852cSGleb Smirnoff* tests/libntp/statestr.c remove empty functions, remove unnecessary include,
12189034852cSGleb Smirnoff  fix formatting. Tomasz Flendrich
12199034852cSGleb Smirnoff* tests/libntp/modetoa.c fixed formatting. Tomasz Flendrich
12209034852cSGleb Smirnoff* tests/libntp/msyslog.c fixed formatting. Tomasz Flendrich
12219034852cSGleb Smirnoff* tests/libntp/numtoa.c deleted unnecessary empty functions, fixed formatting.
12229034852cSGleb Smirnoff  Tomasz Flendrich
12239034852cSGleb Smirnoff* tests/libntp/numtohost.c added const, fixed formatting. Tomasz Flendrich
12249034852cSGleb Smirnoff* tests/libntp/refnumtoa.c fixed formatting. Tomasz Flendrich
12259034852cSGleb Smirnoff* tests/libntp/ssl_init.c fixed formatting. Tomasz Flendrich
12269034852cSGleb Smirnoff* tests/libntp/tvtots.c fixed a bug, fixed formatting. Tomasz Flendrich
12279034852cSGleb Smirnoff* tests/libntp/uglydate.c removed an unnecessary include. Tomasz Flendrich
12289034852cSGleb Smirnoff* tests/libntp/vi64ops.c removed an unnecessary comment, fixed formatting.
12299034852cSGleb Smirnoff* tests/libntp/ymd3yd.c removed an empty function and an unnecessary include,
12309034852cSGleb Smirnofffixed formatting. Tomasz Flendrich
12319034852cSGleb Smirnoff* tests/libntp/timespecops.c fixed formatting, fixed the order of includes,
12329034852cSGleb Smirnoff  removed unnecessary comments, cleanup. Tomasz Flendrich
12339034852cSGleb Smirnoff* tests/libntp/timevalops.c fixed the order of includes, deleted unnecessary
12349034852cSGleb Smirnoff  comments, cleanup. Tomasz Flendrich
12359034852cSGleb Smirnoff* tests/libntp/sockaddrtest.h making it agree to NTP's conventions of formatting.
12369034852cSGleb Smirnoff  Tomasz Flendrich
12379034852cSGleb Smirnoff* tests/libntp/lfptest.h cleanup. Tomasz Flendrich
12389034852cSGleb Smirnoff* tests/libntp/test-libntp.c fix formatting. Tomasz Flendrich
12399034852cSGleb Smirnoff* sntp/tests/crypto.c is now using proper Unity's assertions, fixed formatting.
12409034852cSGleb Smirnoff  Tomasz Flendrich
12419034852cSGleb Smirnoff* sntp/tests/kodDatabase.c added consts, deleted empty function,
12429034852cSGleb Smirnoff  fixed formatting. Tomasz Flendrich
12439034852cSGleb Smirnoff* sntp/tests/kodFile.c cleanup, fixed formatting. Tomasz Flendrich
12449034852cSGleb Smirnoff* sntp/tests/packetHandling.c is now using proper Unity's assertions,
12459034852cSGleb Smirnoff  fixed formatting, deleted unused variable. Tomasz Flendrich
12469034852cSGleb Smirnoff* sntp/tests/keyFile.c is now using proper Unity's assertions, fixed formatting.
12479034852cSGleb Smirnoff  Tomasz Flendrich
12489034852cSGleb Smirnoff* sntp/tests/packetProcessing.c changed from sprintf to snprintf,
12499034852cSGleb Smirnoff  fixed formatting. Tomasz Flendrich
12509034852cSGleb Smirnoff* sntp/tests/utilities.c is now using proper Unity's assertions, changed
12519034852cSGleb Smirnoff  the order of includes, fixed formatting, removed unnecessary comments.
12529034852cSGleb Smirnoff  Tomasz Flendrich
12539034852cSGleb Smirnoff* sntp/tests/sntptest.h fixed formatting. Tomasz Flendrich
12549034852cSGleb Smirnoff* sntp/tests/fileHandlingTest.h.in fixed a possible buffer overflow problem,
12559034852cSGleb Smirnoff  made one function do its job, deleted unnecessary prints, fixed formatting.
12569034852cSGleb Smirnoff  Tomasz Flendrich
12579034852cSGleb Smirnoff* sntp/unity/Makefile.am added a missing header. Tomasz Flendrich
12589034852cSGleb Smirnoff* sntp/unity/unity_config.h: Distribute it.  Harlan Stenn.
12599034852cSGleb Smirnoff* sntp/libevent/evconfig-private.h: remove generated filefrom SCM.  H.Stenn.
12609034852cSGleb Smirnoff* sntp/unity/Makefile.am: fix some broken paths.  Harlan Stenn.
12619034852cSGleb Smirnoff* sntp/unity/unity.c: Clean up a printf().  Harlan Stenn.
12629034852cSGleb Smirnoff* Phase 1 deprecation of google test in tests/libntp/.  Harlan Stenn.
12639034852cSGleb Smirnoff* Don't build sntp/libevent/sample/.  Harlan Stenn.
12649034852cSGleb Smirnoff* tests/libntp/test_caltontp needs -lpthread.  Harlan Stenn.
12659034852cSGleb Smirnoff* br-flock: --enable-local-libevent.  Harlan Stenn.
12669034852cSGleb Smirnoff* Wrote tests for ntpd/ntp_prio_q.c. Tomasz Flendrich
12679034852cSGleb Smirnoff* scripts/lib/NTP/Util.pm: stratum output is version-dependent.  Harlan Stenn.
12689034852cSGleb Smirnoff* Get rid of the NTP_ prefix on our assertion macros.  Harlan Stenn.
12699034852cSGleb Smirnoff* Code cleanup.  Harlan Stenn.
12709034852cSGleb Smirnoff* libntp/icom.c: Typo fix.  Harlan Stenn.
12719034852cSGleb Smirnoff* util/ntptime.c: initialization nit.  Harlan Stenn.
12729034852cSGleb Smirnoff* ntpd/ntp_peer.c:newpeer(): added a DEBUG_REQUIRE(srcadr).  Harlan Stenn.
12739034852cSGleb Smirnoff* Add std_unity_tests to various Makefile.am files.  Harlan Stenn.
12749034852cSGleb Smirnoff* ntpd/ntp_restrict.c: added a few assertions, created tests for this file.
12759034852cSGleb Smirnoff  Tomasz Flendrich
12769034852cSGleb Smirnoff* Changed progname to be const in many files - now it's consistent. Tomasz
12779034852cSGleb Smirnoff  Flendrich
12789034852cSGleb Smirnoff* Typo fix for GCC warning suppression.  Harlan Stenn.
12799034852cSGleb Smirnoff* Added tests/ntpd/ntp_scanner.c test. Damir Tomić.
12809034852cSGleb Smirnoff* Added declarations to all Unity tests, and did minor fixes to them.
12819034852cSGleb Smirnoff  Reduced the number of warnings by half. Damir Tomić.
12829034852cSGleb Smirnoff* Updated generate_test_runner.rb and updated the sntp/unity/auto directory
12839034852cSGleb Smirnoff  with the latest Unity updates from Mark. Damir Tomić.
12849034852cSGleb Smirnoff* Retire google test - phase I.  Harlan Stenn.
12859034852cSGleb Smirnoff* Unity test cleanup: move declaration of 'initializing'.  Harlan Stenn.
12869034852cSGleb Smirnoff* Update the NEWS file.  Harlan Stenn.
12879034852cSGleb Smirnoff* Autoconf cleanup.  Harlan Stenn.
12889034852cSGleb Smirnoff* Unit test dist cleanup. Harlan Stenn.
12899034852cSGleb Smirnoff* Cleanup various test Makefile.am files.  Harlan Stenn.
12909034852cSGleb Smirnoff* Pthread autoconf macro cleanup.  Harlan Stenn.
12919034852cSGleb Smirnoff* Fix progname definition in unity runner scripts.  Harlan Stenn.
12929034852cSGleb Smirnoff* Clean trailing whitespace in tests/ntpd/Makefile.am.  Harlan Stenn.
12939034852cSGleb Smirnoff* Update the patch for bug 2817.  Harlan Stenn.
12949034852cSGleb Smirnoff* More updates for bug 2817.  Harlan Stenn.
12959034852cSGleb Smirnoff* Fix bugs in tests/ntpd/ntp_prio_q.c.  Harlan Stenn.
12969034852cSGleb Smirnoff* gcc on older HPUX may need +allowdups.  Harlan Stenn.
12979034852cSGleb Smirnoff* Adding missing MCAST protection.  Harlan Stenn.
12989034852cSGleb Smirnoff* Disable certain test programs on certain platforms.  Harlan Stenn.
12999034852cSGleb Smirnoff* Implement --enable-problem-tests (on by default).  Harlan Stenn.
13009034852cSGleb Smirnoff* build system tweaks.  Harlan Stenn.
13019034852cSGleb Smirnoff
13029034852cSGleb Smirnoff---
1303276da39aSCy SchubertNTP 4.2.8p3 (Harlan Stenn <stenn@ntp.org>, 2015/06/29)
1304276da39aSCy Schubert
1305276da39aSCy SchubertFocus: 1 Security fix.  Bug fixes and enhancements.  Leap-second improvements.
1306276da39aSCy Schubert
1307276da39aSCy SchubertSeverity: MEDIUM
1308276da39aSCy Schubert
1309276da39aSCy SchubertSecurity Fix:
1310276da39aSCy Schubert
1311276da39aSCy Schubert* [Sec 2853] Crafted remote config packet can crash some versions of
1312276da39aSCy Schubert  ntpd.  Aleksis Kauppinen, Juergen Perlinger, Harlan Stenn.
1313276da39aSCy Schubert
1314276da39aSCy SchubertUnder specific circumstances an attacker can send a crafted packet to
1315276da39aSCy Schubertcause a vulnerable ntpd instance to crash. This requires each of the
1316276da39aSCy Schubertfollowing to be true:
1317276da39aSCy Schubert
1318276da39aSCy Schubert1) ntpd set up to allow remote configuration (not allowed by default), and
1319276da39aSCy Schubert2) knowledge of the configuration password, and
1320276da39aSCy Schubert3) access to a computer entrusted to perform remote configuration.
1321276da39aSCy Schubert
1322276da39aSCy SchubertThis vulnerability is considered low-risk.
1323276da39aSCy Schubert
1324276da39aSCy SchubertNew features in this release:
1325276da39aSCy Schubert
1326276da39aSCy SchubertOptional (disabled by default) support to have ntpd provide smeared
1327276da39aSCy Schubertleap second time.  A specially built and configured ntpd will only
1328276da39aSCy Schubertoffer smeared time in response to client packets.  These response
1329276da39aSCy Schubertpackets will also contain a "refid" of 254.a.b.c, where the 24 bits
1330276da39aSCy Schubertof a, b, and c encode the amount of smear in a 2:22 integer:fraction
1331276da39aSCy Schubertformat.  See README.leapsmear and http://bugs.ntp.org/2855 for more
1332276da39aSCy Schubertinformation.
1333276da39aSCy Schubert
1334276da39aSCy Schubert   *IF YOU CHOOSE TO CONFIGURE NTPD TO PROVIDE LEAP SMEAR TIME*
1335276da39aSCy Schubert   *BE SURE YOU DO NOT OFFER THAT TIME ON PUBLIC TIMESERVERS.*
1336276da39aSCy Schubert
1337276da39aSCy SchubertWe've imported the Unity test framework, and have begun converting
1338276da39aSCy Schubertthe existing google-test items to this new framework.  If you want
1339276da39aSCy Schubertto write new tests or change old ones, you'll need to have ruby
1340276da39aSCy Schubertinstalled.  You don't need ruby to run the test suite.
1341276da39aSCy Schubert
1342276da39aSCy SchubertBug Fixes and Improvements:
1343276da39aSCy Schubert
1344276da39aSCy Schubert* CID 739725: Fix a rare resource leak in libevent/listener.c.
1345276da39aSCy Schubert* CID 1295478: Quiet a pedantic potential error from the fix for Bug 2776.
1346276da39aSCy Schubert* CID 1296235: Fix refclock_jjy.c and correcting type of the driver40-ja.html
1347276da39aSCy Schubert* CID 1269537: Clean up a line of dead code in getShmTime().
1348276da39aSCy Schubert* [Bug 1060] Buffer overruns in libparse/clk_rawdcf.c.  Helge Oldach.
1349276da39aSCy Schubert* [Bug 2590] autogen-5.18.5.
1350276da39aSCy Schubert* [Bug 2612] restrict: Warn when 'monitor' can't be disabled because
1351276da39aSCy Schubert  of 'limited'.
1352276da39aSCy Schubert* [Bug 2650] fix includefile processing.
1353276da39aSCy Schubert* [Bug 2745] ntpd -x steps clock on leap second
1354276da39aSCy Schubert   Fixed an initial-value problem that caused misbehaviour in absence of
1355276da39aSCy Schubert   any leapsecond information.
1356276da39aSCy Schubert   Do leap second stepping only of the step adjustment is beyond the
1357276da39aSCy Schubert   proper jump distance limit and step correction is allowed at all.
1358276da39aSCy Schubert* [Bug 2750] build for Win64
1359276da39aSCy Schubert  Building for 32bit of loopback ppsapi needs def file
1360276da39aSCy Schubert* [Bug 2776] Improve ntpq's 'help keytype'.
1361276da39aSCy Schubert* [Bug 2778] Implement "apeers"  ntpq command to include associd.
1362276da39aSCy Schubert* [Bug 2782] Refactor refclock_shm.c, add memory barrier protection.
1363276da39aSCy Schubert* [Bug 2792] If the IFF_RUNNING interface flag is supported then an
1364276da39aSCy Schubert  interface is ignored as long as this flag is not set since the
1365276da39aSCy Schubert  interface is not usable (e.g., no link).
1366276da39aSCy Schubert* [Bug 2794] Clean up kernel clock status reports.
1367276da39aSCy Schubert* [Bug 2800] refclock_true.c true_debug() can't open debug log because
1368276da39aSCy Schubert  of incompatible open/fdopen parameters.
1369276da39aSCy Schubert* [Bug 2804] install-local-data assumes GNU 'find' semantics.
1370276da39aSCy Schubert* [Bug 2805] ntpd fails to join multicast group.
1371276da39aSCy Schubert* [Bug 2806] refclock_jjy.c supports the Telephone JJY.
1372276da39aSCy Schubert* [Bug 2808] GPSD_JSON driver enhancements, step 1.
1373276da39aSCy Schubert  Fix crash during cleanup if GPS device not present and char device.
1374276da39aSCy Schubert  Increase internal token buffer to parse all JSON data, even SKY.
1375276da39aSCy Schubert  Defer logging of errors during driver init until the first unit is
1376276da39aSCy Schubert  started, so the syslog is not cluttered when the driver is not used.
1377276da39aSCy Schubert  Various improvements, see http://bugs.ntp.org/2808 for details.
1378276da39aSCy Schubert  Changed libjsmn to a more recent version.
1379276da39aSCy Schubert* [Bug 2810] refclock_shm.c memory barrier code needs tweaks for QNX.
1380276da39aSCy Schubert* [Bug 2813] HP-UX needs -D__STDC_VERSION__=199901L and limits.h.
1381276da39aSCy Schubert* [Bug 2815] net-snmp before v5.4 has circular library dependencies.
1382276da39aSCy Schubert* [Bug 2821] Add a missing NTP_PRINTF and a missing const.
1383276da39aSCy Schubert* [Bug 2822] New leap column in sntp broke NTP::Util.pm.
1384276da39aSCy Schubert* [Bug 2824] Convert update-leap to perl. (also see 2769)
1385276da39aSCy Schubert* [Bug 2825] Quiet file installation in html/ .
1386276da39aSCy Schubert* [Bug 2830] ntpd doesn't always transfer the correct TAI offset via autokey
1387276da39aSCy Schubert   NTPD transfers the current TAI (instead of an announcement) now.
1388276da39aSCy Schubert   This might still needed improvement.
1389276da39aSCy Schubert   Update autokey data ASAP when 'sys_tai' changes.
1390276da39aSCy Schubert   Fix unit test that was broken by changes for autokey update.
1391276da39aSCy Schubert   Avoid potential signature length issue and use DPRINTF where possible
1392276da39aSCy Schubert     in ntp_crypto.c.
1393276da39aSCy Schubert* [Bug 2832] refclock_jjy.c supports the TDC-300.
1394276da39aSCy Schubert* [Bug 2834] Correct a broken html tag in html/refclock.html
1395276da39aSCy Schubert* [Bug 2836] DFC77 patches from Frank Kardel to make decoding more
1396276da39aSCy Schubert  robust, and require 2 consecutive timestamps to be consistent.
1397276da39aSCy Schubert* [Bug 2837] Allow a configurable DSCP value.
1398276da39aSCy Schubert* [Bug 2837] add test for DSCP to ntpd/complete.conf.in
1399276da39aSCy Schubert* [Bug 2842] Glitch in ntp.conf.def documentation stanza.
1400276da39aSCy Schubert* [Bug 2842] Bug in mdoc2man.
1401276da39aSCy Schubert* [Bug 2843] make check fails on 4.3.36
1402276da39aSCy Schubert   Fixed compiler warnings about numeric range overflow
1403276da39aSCy Schubert   (The original topic was fixed in a byplay to bug#2830)
1404276da39aSCy Schubert* [Bug 2845] Harden memory allocation in ntpd.
1405276da39aSCy Schubert* [Bug 2852] 'make check' can't find unity.h.  Hal Murray.
1406276da39aSCy Schubert* [Bug 2854] Missing brace in libntp/strdup.c.  Masanari Iida.
1407276da39aSCy Schubert* [Bug 2855] Parser fix for conditional leap smear code.  Harlan Stenn.
1408276da39aSCy Schubert* [Bug 2855] Report leap smear in the REFID.  Harlan Stenn.
1409276da39aSCy Schubert* [Bug 2855] Implement conditional leap smear code.  Martin Burnicki.
1410276da39aSCy Schubert* [Bug 2856] ntpd should wait() on terminated child processes.  Paul Green.
1411276da39aSCy Schubert* [Bug 2857] Stratus VOS does not support SIGIO.  Paul Green.
1412276da39aSCy Schubert* [Bug 2859] Improve raw DCF77 robustness deconding.  Frank Kardel.
1413276da39aSCy Schubert* [Bug 2860] ntpq ifstats sanity check is too stringent.  Frank Kardel.
1414276da39aSCy Schubert* html/drivers/driver22.html: typo fix.  Harlan Stenn.
1415276da39aSCy Schubert* refidsmear test cleanup.  Tomasz Flendrich.
1416276da39aSCy Schubert* refidsmear function support and tests.  Harlan Stenn.
1417276da39aSCy Schubert* sntp/tests/Makefile.am: remove g_nameresolution.cpp as it tested
1418276da39aSCy Schubert  something that was only in the 4.2.6 sntp.  Harlan Stenn.
1419276da39aSCy Schubert* Modified tests/bug-2803/Makefile.am so it builds Unity framework tests.
1420276da39aSCy Schubert  Damir Tomić
1421276da39aSCy Schubert* Modified tests/libtnp/Makefile.am so it builds Unity framework tests.
1422276da39aSCy Schubert  Damir Tomić
1423276da39aSCy Schubert* Modified sntp/tests/Makefile.am so it builds Unity framework tests.
1424276da39aSCy Schubert  Damir Tomić
1425276da39aSCy Schubert* tests/sandbox/smeartest.c: Harlan Stenn, Damir Tomic, Juergen Perlinger.
1426276da39aSCy Schubert* Converted from gtest to Unity: tests/bug-2803/. Damir Tomić
1427276da39aSCy Schubert* Converted from gtest to Unity: tests/libntp/ a_md5encrypt, atoint.c,
1428276da39aSCy Schubert  atouint.c, authkeys.c, buftvtots.c, calendar.c, caljulian.c,
1429276da39aSCy Schubert  calyearstart.c, clocktime.c, hextoint.c, lfpfunc.c, modetoa.c,
1430276da39aSCy Schubert  numtoa.c, numtohost.c, refnumtoa.c, ssl_init.c, statestr.c,
1431276da39aSCy Schubert  timespecops.c, timevalops.c, uglydate.c, vi64ops.c, ymd2yd.c.
1432276da39aSCy Schubert  Damir Tomić
1433276da39aSCy Schubert* Converted from gtest to Unity: sntp/tests/ kodDatabase.c, kodFile.c,
1434276da39aSCy Schubert  networking.c, keyFile.c, utilities.cpp, sntptest.h,
1435276da39aSCy Schubert  fileHandlingTest.h. Damir Tomić
1436276da39aSCy Schubert* Initial support for experimental leap smear code.  Harlan Stenn.
1437276da39aSCy Schubert* Fixes to sntp/tests/fileHandlingTest.h.in.  Harlan Stenn.
1438276da39aSCy Schubert* Report select() debug messages at debug level 3 now.
1439276da39aSCy Schubert* sntp/scripts/genLocInfo: treat raspbian as debian.
1440276da39aSCy Schubert* Unity test framework fixes.
1441276da39aSCy Schubert  ** Requires ruby for changes to tests.
1442276da39aSCy Schubert* Initial support for PACKAGE_VERSION tests.
1443276da39aSCy Schubert* sntp/libpkgver belongs in EXTRA_DIST, not DIST_SUBDIRS.
1444276da39aSCy Schubert* tests/bug-2803/Makefile.am must distribute bug-2803.h.
1445276da39aSCy Schubert* Add an assert to the ntpq ifstats code.
1446276da39aSCy Schubert* Clean up the RLIMIT_STACK code.
1447276da39aSCy Schubert* Improve the ntpq documentation around the controlkey keyid.
1448276da39aSCy Schubert* ntpq.c cleanup.
1449276da39aSCy Schubert* Windows port build cleanup.
1450276da39aSCy Schubert
1451276da39aSCy Schubert---
1452276da39aSCy SchubertNTP 4.2.8p2 (Harlan Stenn <stenn@ntp.org>, 2015/04/07)
1453a25439b6SCy Schubert
1454a25439b6SCy SchubertFocus: Security and Bug fixes, enhancements.
1455a25439b6SCy Schubert
1456a25439b6SCy SchubertSeverity: MEDIUM
1457a25439b6SCy Schubert
1458a25439b6SCy SchubertIn addition to bug fixes and enhancements, this release fixes the
1459a25439b6SCy Schubertfollowing medium-severity vulnerabilities involving private key
1460a25439b6SCy Schubertauthentication:
1461a25439b6SCy Schubert
1462a25439b6SCy Schubert* [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto.
1463a25439b6SCy Schubert
1464a25439b6SCy Schubert    References: Sec 2779 / CVE-2015-1798 / VU#374268
1465a25439b6SCy Schubert    Affects: All NTP4 releases starting with ntp-4.2.5p99 up to but not
1466a25439b6SCy Schubert	including ntp-4.2.8p2 where the installation uses symmetric keys
1467a25439b6SCy Schubert	to authenticate remote associations.
1468a25439b6SCy Schubert    CVSS: (AV:A/AC:M/Au:N/C:P/I:P/A:P) Base Score: 5.4
1469a25439b6SCy Schubert    Date Resolved: Stable (4.2.8p2) 07 Apr 2015
1470a25439b6SCy Schubert    Summary: When ntpd is configured to use a symmetric key to authenticate
1471a25439b6SCy Schubert	a remote NTP server/peer, it checks if the NTP message
1472a25439b6SCy Schubert	authentication code (MAC) in received packets is valid, but not if
1473a25439b6SCy Schubert	there actually is any MAC included. Packets without a MAC are
1474a25439b6SCy Schubert	accepted as if they had a valid MAC. This allows a MITM attacker to
1475a25439b6SCy Schubert	send false packets that are accepted by the client/peer without
1476a25439b6SCy Schubert	having to know the symmetric key. The attacker needs to know the
1477a25439b6SCy Schubert	transmit timestamp of the client to match it in the forged reply
1478a25439b6SCy Schubert	and the false reply needs to reach the client before the genuine
1479a25439b6SCy Schubert	reply from the server. The attacker doesn't necessarily need to be
1480a25439b6SCy Schubert	relaying the packets between the client and the server.
1481a25439b6SCy Schubert
1482a25439b6SCy Schubert	Authentication using autokey doesn't have this problem as there is
1483a25439b6SCy Schubert	a check that requires the key ID to be larger than NTP_MAXKEY,
1484a25439b6SCy Schubert	which fails for packets without a MAC.
1485a25439b6SCy Schubert    Mitigation:
1486a25439b6SCy Schubert        Upgrade to 4.2.8p2, or later, from the NTP Project Download Page
1487a25439b6SCy Schubert	or the NTP Public Services Project Download Page
1488a25439b6SCy Schubert        Configure ntpd with enough time sources and monitor it properly.
1489a25439b6SCy Schubert    Credit: This issue was discovered by Miroslav Lichvar, of Red Hat.
1490a25439b6SCy Schubert
1491a25439b6SCy Schubert* [Sec 2781] Authentication doesn't protect symmetric associations against
1492a25439b6SCy Schubert  DoS attacks.
1493a25439b6SCy Schubert
1494a25439b6SCy Schubert    References: Sec 2781 / CVE-2015-1799 / VU#374268
1495a25439b6SCy Schubert    Affects: All NTP releases starting with at least xntp3.3wy up to but
1496a25439b6SCy Schubert	not including ntp-4.2.8p2 where the installation uses symmetric
1497a25439b6SCy Schubert	key authentication.
1498a25439b6SCy Schubert    CVSS: (AV:A/AC:M/Au:N/C:P/I:P/A:P) Base Score: 5.4
1499a25439b6SCy Schubert    Note: the CVSS base Score for this issue could be 4.3 or lower, and
1500a25439b6SCy Schubert	it could be higher than 5.4.
1501a25439b6SCy Schubert    Date Resolved: Stable (4.2.8p2) 07 Apr 2015
1502a25439b6SCy Schubert    Summary: An attacker knowing that NTP hosts A and B are peering with
1503a25439b6SCy Schubert	each other (symmetric association) can send a packet to host A
1504a25439b6SCy Schubert	with source address of B which will set the NTP state variables
1505a25439b6SCy Schubert	on A to the values sent by the attacker. Host A will then send
1506a25439b6SCy Schubert	on its next poll to B a packet with originate timestamp that
1507a25439b6SCy Schubert	doesn't match the transmit timestamp of B and the packet will
1508a25439b6SCy Schubert	be dropped. If the attacker does this periodically for both
1509a25439b6SCy Schubert	hosts, they won't be able to synchronize to each other. This is
1510a25439b6SCy Schubert	a known denial-of-service attack, described at
1511a25439b6SCy Schubert	https://www.eecis.udel.edu/~mills/onwire.html .
1512a25439b6SCy Schubert
1513a25439b6SCy Schubert	According to the document the NTP authentication is supposed to
1514a25439b6SCy Schubert	protect symmetric associations against this attack, but that
1515a25439b6SCy Schubert	doesn't seem to be the case. The state variables are updated even
1516a25439b6SCy Schubert	when authentication fails and the peers are sending packets with
1517a25439b6SCy Schubert	originate timestamps that don't match the transmit timestamps on
1518a25439b6SCy Schubert	the receiving side.
1519a25439b6SCy Schubert
1520a25439b6SCy Schubert	This seems to be a very old problem, dating back to at least
1521a25439b6SCy Schubert	xntp3.3wy. It's also in the NTPv3 (RFC 1305) and NTPv4 (RFC 5905)
1522a25439b6SCy Schubert	specifications, so other NTP implementations with support for
1523a25439b6SCy Schubert	symmetric associations and authentication may be vulnerable too.
1524a25439b6SCy Schubert	An update to the NTP RFC to correct this error is in-process.
1525a25439b6SCy Schubert    Mitigation:
1526a25439b6SCy Schubert        Upgrade to 4.2.8p2, or later, from the NTP Project Download Page
1527a25439b6SCy Schubert	or the NTP Public Services Project Download Page
1528a25439b6SCy Schubert        Note that for users of autokey, this specific style of MITM attack
1529a25439b6SCy Schubert	is simply a long-known potential problem.
1530a25439b6SCy Schubert        Configure ntpd with appropriate time sources and monitor ntpd.
1531a25439b6SCy Schubert	Alert your staff if problems are detected.
1532a25439b6SCy Schubert    Credit: This issue was discovered by Miroslav Lichvar, of Red Hat.
1533a25439b6SCy Schubert
1534a25439b6SCy Schubert* New script: update-leap
1535a25439b6SCy SchubertThe update-leap script will verify and if necessary, update the
1536a25439b6SCy Schubertleap-second definition file.
1537a25439b6SCy SchubertIt requires the following commands in order to work:
1538a25439b6SCy Schubert
1539a25439b6SCy Schubert	wget logger tr sed shasum
1540a25439b6SCy Schubert
1541a25439b6SCy SchubertSome may choose to run this from cron.  It needs more portability testing.
1542a25439b6SCy Schubert
1543a25439b6SCy SchubertBug Fixes and Improvements:
1544a25439b6SCy Schubert
1545a25439b6SCy Schubert* [Bug 1787] DCF77's formerly "antenna" bit is "call bit" since 2003.
1546a25439b6SCy Schubert* [Bug 1960] setsockopt IPV6_MULTICAST_IF: Invalid argument.
1547a25439b6SCy Schubert* [Bug 2346] "graceful termination" signals do not do peer cleanup.
1548a25439b6SCy Schubert* [Bug 2728] See if C99-style structure initialization works.
1549a25439b6SCy Schubert* [Bug 2747] Upgrade libevent to 2.1.5-beta.
1550a25439b6SCy Schubert* [Bug 2749] ntp/lib/NTP/Util.pm needs update for ntpq -w, IPv6, .POOL. .
1551a25439b6SCy Schubert* [Bug 2751] jitter.h has stale copies of l_fp macros.
1552a25439b6SCy Schubert* [Bug 2756] ntpd hangs in startup with gcc 3.3.5 on ARM.
1553a25439b6SCy Schubert* [Bug 2757] Quiet compiler warnings.
1554a25439b6SCy Schubert* [Bug 2759] Expose nonvolatile/clk_wander_threshold to ntpq.
1555a25439b6SCy Schubert* [Bug 2763] Allow different thresholds for forward and backward steps.
1556a25439b6SCy Schubert* [Bug 2766] ntp-keygen output files should not be world-readable.
1557a25439b6SCy Schubert* [Bug 2767] ntp-keygen -M should symlink to ntp.keys.
1558a25439b6SCy Schubert* [Bug 2771] nonvolatile value is documented in wrong units.
1559a25439b6SCy Schubert* [Bug 2773] Early leap announcement from Palisade/Thunderbolt
1560a25439b6SCy Schubert* [Bug 2774] Unreasonably verbose printout - leap pending/warning
1561a25439b6SCy Schubert* [Bug 2775] ntp-keygen.c fails to compile under Windows.
1562a25439b6SCy Schubert* [Bug 2777] Fixed loops and decoding of Meinberg GPS satellite info.
1563a25439b6SCy Schubert  Removed non-ASCII characters from some copyright comments.
1564a25439b6SCy Schubert  Removed trailing whitespace.
1565a25439b6SCy Schubert  Updated definitions for Meinberg clocks from current Meinberg header files.
1566a25439b6SCy Schubert  Now use C99 fixed-width types and avoid non-ASCII characters in comments.
1567a25439b6SCy Schubert  Account for updated definitions pulled from Meinberg header files.
1568a25439b6SCy Schubert  Updated comments on Meinberg GPS receivers which are not only called GPS16x.
1569a25439b6SCy Schubert  Replaced some constant numbers by defines from ntp_calendar.h
1570a25439b6SCy Schubert  Modified creation of parse-specific variables for Meinberg devices
1571a25439b6SCy Schubert  in gps16x_message().
1572a25439b6SCy Schubert  Reworked mk_utcinfo() to avoid printing of ambiguous leap second dates.
1573a25439b6SCy Schubert  Modified mbg_tm_str() which now expexts an additional parameter controlling
1574a25439b6SCy Schubert  if the time status shall be printed.
1575a25439b6SCy Schubert* [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto.
1576a25439b6SCy Schubert* [Sec 2781] Authentication doesn't protect symmetric associations against
1577a25439b6SCy Schubert  DoS attacks.
1578a25439b6SCy Schubert* [Bug 2783] Quiet autoconf warnings about missing AC_LANG_SOURCE.
1579a25439b6SCy Schubert* [Bug 2789] Quiet compiler warnings from libevent.
1580a25439b6SCy Schubert* [Bug 2790] If ntpd sets the Windows MM timer highest resolution
1581a25439b6SCy Schubert  pause briefly before measuring system clock precision to yield
1582a25439b6SCy Schubert  correct results.
1583a25439b6SCy Schubert* Comment from Juergen Perlinger in ntp_calendar.c to make the code clearer.
1584a25439b6SCy Schubert* Use predefined function types for parse driver functions
1585a25439b6SCy Schubert  used to set up function pointers.
1586a25439b6SCy Schubert  Account for changed prototype of parse_inp_fnc_t functions.
1587a25439b6SCy Schubert  Cast parse conversion results to appropriate types to avoid
1588a25439b6SCy Schubert  compiler warnings.
1589a25439b6SCy Schubert  Let ioctl() for Windows accept a (void *) to avoid compiler warnings
1590a25439b6SCy Schubert  when called with pointers to different types.
1591a25439b6SCy Schubert
1592a25439b6SCy Schubert---
15932b15cb3dSCy SchubertNTP 4.2.8p1 (Harlan Stenn <stenn@ntp.org>, 2015/02/04)
15942b15cb3dSCy Schubert
15952b15cb3dSCy SchubertFocus: Security and Bug fixes, enhancements.
15962b15cb3dSCy Schubert
15972b15cb3dSCy SchubertSeverity: HIGH
15982b15cb3dSCy Schubert
15992b15cb3dSCy SchubertIn addition to bug fixes and enhancements, this release fixes the
16002b15cb3dSCy Schubertfollowing high-severity vulnerabilities:
16012b15cb3dSCy Schubert
16022b15cb3dSCy Schubert* vallen is not validated in several places in ntp_crypto.c, leading
16032b15cb3dSCy Schubert  to a potential information leak or possibly a crash
16042b15cb3dSCy Schubert
16052b15cb3dSCy Schubert    References: Sec 2671 / CVE-2014-9297 / VU#852879
16062b15cb3dSCy Schubert    Affects: All NTP4 releases before 4.2.8p1 that are running autokey.
16072b15cb3dSCy Schubert    CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
16082b15cb3dSCy Schubert    Date Resolved: Stable (4.2.8p1) 04 Feb 2015
16092b15cb3dSCy Schubert    Summary: The vallen packet value is not validated in several code
16102b15cb3dSCy Schubert             paths in ntp_crypto.c which can lead to information leakage
16112b15cb3dSCy Schubert	     or perhaps a crash of the ntpd process.
16122b15cb3dSCy Schubert    Mitigation - any of:
16132b15cb3dSCy Schubert	Upgrade to 4.2.8p1, or later, from the NTP Project Download Page
16142b15cb3dSCy Schubert		or the NTP Public Services Project Download Page.
16152b15cb3dSCy Schubert	Disable Autokey Authentication by removing, or commenting out,
16162b15cb3dSCy Schubert		all configuration directives beginning with the "crypto"
16172b15cb3dSCy Schubert		keyword in your ntp.conf file.
16182b15cb3dSCy Schubert    Credit: This vulnerability was discovered by Stephen Roettger of the
16192b15cb3dSCy Schubert    	Google Security Team, with additional cases found by Sebastian
16202b15cb3dSCy Schubert	Krahmer of the SUSE Security Team and Harlan Stenn of Network
16212b15cb3dSCy Schubert	Time Foundation.
16222b15cb3dSCy Schubert
16232b15cb3dSCy Schubert* ::1 can be spoofed on some OSes, so ACLs based on IPv6 ::1 addresses
16242b15cb3dSCy Schubert  can be bypassed.
16252b15cb3dSCy Schubert
16262b15cb3dSCy Schubert    References: Sec 2672 / CVE-2014-9298 / VU#852879
16272b15cb3dSCy Schubert    Affects: All NTP4 releases before 4.2.8p1, under at least some
16282b15cb3dSCy Schubert	versions of MacOS and Linux. *BSD has not been seen to be vulnerable.
16292b15cb3dSCy Schubert    CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:C) Base Score: 9
16302b15cb3dSCy Schubert    Date Resolved: Stable (4.2.8p1) 04 Feb 2014
16312b15cb3dSCy Schubert    Summary: While available kernels will prevent 127.0.0.1 addresses
16322b15cb3dSCy Schubert	from "appearing" on non-localhost IPv4 interfaces, some kernels
16332b15cb3dSCy Schubert	do not offer the same protection for ::1 source addresses on
16342b15cb3dSCy Schubert	IPv6 interfaces. Since NTP's access control is based on source
16352b15cb3dSCy Schubert	address and localhost addresses generally have no restrictions,
16362b15cb3dSCy Schubert	an attacker can send malicious control and configuration packets
16372b15cb3dSCy Schubert	by spoofing ::1 addresses from the outside. Note Well: This is
16382b15cb3dSCy Schubert	not really a bug in NTP, it's a problem with some OSes. If you
16392b15cb3dSCy Schubert	have one of these OSes where ::1 can be spoofed, ALL ::1 -based
16402b15cb3dSCy Schubert	ACL restrictions on any application can be bypassed!
16412b15cb3dSCy Schubert    Mitigation:
16422b15cb3dSCy Schubert        Upgrade to 4.2.8p1, or later, from the NTP Project Download Page
16432b15cb3dSCy Schubert	or the NTP Public Services Project Download Page
16442b15cb3dSCy Schubert        Install firewall rules to block packets claiming to come from
16452b15cb3dSCy Schubert	::1 from inappropriate network interfaces.
16462b15cb3dSCy Schubert    Credit: This vulnerability was discovered by Stephen Roettger of
16472b15cb3dSCy Schubert	the Google Security Team.
16482b15cb3dSCy Schubert
16492b15cb3dSCy SchubertAdditionally, over 30 bugfixes and improvements were made to the codebase.
16502b15cb3dSCy SchubertSee the ChangeLog for more information.
16512b15cb3dSCy Schubert
16522b15cb3dSCy Schubert---
16532b15cb3dSCy SchubertNTP 4.2.8 (Harlan Stenn <stenn@ntp.org>, 2014/12/18)
16542b15cb3dSCy Schubert
16552b15cb3dSCy SchubertFocus: Security and Bug fixes, enhancements.
16562b15cb3dSCy Schubert
16572b15cb3dSCy SchubertSeverity: HIGH
16582b15cb3dSCy Schubert
16592b15cb3dSCy SchubertIn addition to bug fixes and enhancements, this release fixes the
16602b15cb3dSCy Schubertfollowing high-severity vulnerabilities:
16612b15cb3dSCy Schubert
16622b15cb3dSCy Schubert************************** vv NOTE WELL vv *****************************
16632b15cb3dSCy Schubert
16642b15cb3dSCy SchubertThe vulnerabilities listed below can be significantly mitigated by
16652b15cb3dSCy Schubertfollowing the BCP of putting
16662b15cb3dSCy Schubert
16672b15cb3dSCy Schubert restrict default ... noquery
16682b15cb3dSCy Schubert
16692b15cb3dSCy Schubertin the ntp.conf file.  With the exception of:
16702b15cb3dSCy Schubert
16712b15cb3dSCy Schubert   receive(): missing return on error
16722b15cb3dSCy Schubert   References: Sec 2670 / CVE-2014-9296 / VU#852879
16732b15cb3dSCy Schubert
16742b15cb3dSCy Schubertbelow (which is a limited-risk vulnerability), none of the recent
16752b15cb3dSCy Schubertvulnerabilities listed below can be exploited if the source IP is
16762b15cb3dSCy Schubertrestricted from sending a 'query'-class packet by your ntp.conf file.
16772b15cb3dSCy Schubert
16782b15cb3dSCy Schubert************************** ^^ NOTE WELL ^^ *****************************
16792b15cb3dSCy Schubert
16802b15cb3dSCy Schubert* Weak default key in config_auth().
16812b15cb3dSCy Schubert
16822b15cb3dSCy Schubert  References: [Sec 2665] / CVE-2014-9293 / VU#852879
16832b15cb3dSCy Schubert  CVSS: (AV:N/AC:L/Au:M/C:P/I:P/A:C) Base Score: 7.3
16842b15cb3dSCy Schubert  Vulnerable Versions: all releases prior to 4.2.7p11
16852b15cb3dSCy Schubert  Date Resolved: 28 Jan 2010
16862b15cb3dSCy Schubert
16872b15cb3dSCy Schubert  Summary: If no 'auth' key is set in the configuration file, ntpd
16882b15cb3dSCy Schubert	would generate a random key on the fly.  There were two
16892b15cb3dSCy Schubert	problems with this: 1) the generated key was 31 bits in size,
16902b15cb3dSCy Schubert	and 2) it used the (now weak) ntp_random() function, which was
16912b15cb3dSCy Schubert	seeded with a 32-bit value and could only provide 32 bits of
16922b15cb3dSCy Schubert	entropy.  This was sufficient back in the late 1990s when the
16932b15cb3dSCy Schubert	code was written.  Not today.
16942b15cb3dSCy Schubert
16952b15cb3dSCy Schubert  Mitigation - any of:
16962b15cb3dSCy Schubert	- Upgrade to 4.2.7p11 or later.
16972b15cb3dSCy Schubert	- Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
16982b15cb3dSCy Schubert
16992b15cb3dSCy Schubert  Credit: This vulnerability was noticed in ntp-4.2.6 by Neel Mehta
17002b15cb3dSCy Schubert  	of the Google Security Team.
17012b15cb3dSCy Schubert
17022b15cb3dSCy Schubert* Non-cryptographic random number generator with weak seed used by
17032b15cb3dSCy Schubert  ntp-keygen to generate symmetric keys.
17042b15cb3dSCy Schubert
17052b15cb3dSCy Schubert  References: [Sec 2666] / CVE-2014-9294 / VU#852879
17062b15cb3dSCy Schubert  CVSS: (AV:N/AC:L/Au:M/C:P/I:P/A:C) Base Score: 7.3
17072b15cb3dSCy Schubert  Vulnerable Versions: All NTP4 releases before 4.2.7p230
17082b15cb3dSCy Schubert  Date Resolved: Dev (4.2.7p230) 01 Nov 2011
17092b15cb3dSCy Schubert
17102b15cb3dSCy Schubert  Summary: Prior to ntp-4.2.7p230 ntp-keygen used a weak seed to
17112b15cb3dSCy Schubert  	prepare a random number generator that was of good quality back
17122b15cb3dSCy Schubert	in the late 1990s. The random numbers produced was then used to
17132b15cb3dSCy Schubert	generate symmetric keys. In ntp-4.2.8 we use a current-technology
17142b15cb3dSCy Schubert	cryptographic random number generator, either RAND_bytes from
17152b15cb3dSCy Schubert	OpenSSL, or arc4random().
17162b15cb3dSCy Schubert
17172b15cb3dSCy Schubert  Mitigation - any of:
17182b15cb3dSCy Schubert  	- Upgrade to 4.2.7p230 or later.
17192b15cb3dSCy Schubert	- Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
17202b15cb3dSCy Schubert
17212b15cb3dSCy Schubert  Credit:  This vulnerability was discovered in ntp-4.2.6 by
17222b15cb3dSCy Schubert  	Stephen Roettger of the Google Security Team.
17232b15cb3dSCy Schubert
17242b15cb3dSCy Schubert* Buffer overflow in crypto_recv()
17252b15cb3dSCy Schubert
17262b15cb3dSCy Schubert  References: Sec 2667 / CVE-2014-9295 / VU#852879
17272b15cb3dSCy Schubert  CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
17282b15cb3dSCy Schubert  Versions: All releases before 4.2.8
17292b15cb3dSCy Schubert  Date Resolved: Stable (4.2.8) 18 Dec 2014
17302b15cb3dSCy Schubert
17312b15cb3dSCy Schubert  Summary: When Autokey Authentication is enabled (i.e. the ntp.conf
17322b15cb3dSCy Schubert  	file contains a 'crypto pw ...' directive) a remote attacker
17332b15cb3dSCy Schubert	can send a carefully crafted packet that can overflow a stack
17342b15cb3dSCy Schubert	buffer and potentially allow malicious code to be executed
17352b15cb3dSCy Schubert	with the privilege level of the ntpd process.
17362b15cb3dSCy Schubert
17372b15cb3dSCy Schubert  Mitigation - any of:
17382b15cb3dSCy Schubert  	- Upgrade to 4.2.8, or later, or
17392b15cb3dSCy Schubert	- Disable Autokey Authentication by removing, or commenting out,
17402b15cb3dSCy Schubert	  all configuration directives beginning with the crypto keyword
17412b15cb3dSCy Schubert	  in your ntp.conf file.
17422b15cb3dSCy Schubert
17432b15cb3dSCy Schubert  Credit: This vulnerability was discovered by Stephen Roettger of the
17442b15cb3dSCy Schubert  	Google Security Team.
17452b15cb3dSCy Schubert
17462b15cb3dSCy Schubert* Buffer overflow in ctl_putdata()
17472b15cb3dSCy Schubert
17482b15cb3dSCy Schubert  References: Sec 2668 / CVE-2014-9295 / VU#852879
17492b15cb3dSCy Schubert  CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
17502b15cb3dSCy Schubert  Versions: All NTP4 releases before 4.2.8
17512b15cb3dSCy Schubert  Date Resolved: Stable (4.2.8) 18 Dec 2014
17522b15cb3dSCy Schubert
17532b15cb3dSCy Schubert  Summary: A remote attacker can send a carefully crafted packet that
17542b15cb3dSCy Schubert  	can overflow a stack buffer and potentially allow malicious
17552b15cb3dSCy Schubert	code to be executed with the privilege level of the ntpd process.
17562b15cb3dSCy Schubert
17572b15cb3dSCy Schubert  Mitigation - any of:
17582b15cb3dSCy Schubert  	- Upgrade to 4.2.8, or later.
17592b15cb3dSCy Schubert	- Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
17602b15cb3dSCy Schubert
17612b15cb3dSCy Schubert  Credit: This vulnerability was discovered by Stephen Roettger of the
17622b15cb3dSCy Schubert  	Google Security Team.
17632b15cb3dSCy Schubert
17642b15cb3dSCy Schubert* Buffer overflow in configure()
17652b15cb3dSCy Schubert
17662b15cb3dSCy Schubert  References: Sec 2669 / CVE-2014-9295 / VU#852879
17672b15cb3dSCy Schubert  CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
17682b15cb3dSCy Schubert  Versions: All NTP4 releases before 4.2.8
17692b15cb3dSCy Schubert  Date Resolved: Stable (4.2.8) 18 Dec 2014
17702b15cb3dSCy Schubert
17712b15cb3dSCy Schubert  Summary: A remote attacker can send a carefully crafted packet that
17722b15cb3dSCy Schubert	can overflow a stack buffer and potentially allow malicious
17732b15cb3dSCy Schubert	code to be executed with the privilege level of the ntpd process.
17742b15cb3dSCy Schubert
17752b15cb3dSCy Schubert  Mitigation - any of:
17762b15cb3dSCy Schubert  	- Upgrade to 4.2.8, or later.
17772b15cb3dSCy Schubert	- Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
17782b15cb3dSCy Schubert
17792b15cb3dSCy Schubert  Credit: This vulnerability was discovered by Stephen Roettger of the
17802b15cb3dSCy Schubert	Google Security Team.
17812b15cb3dSCy Schubert
17822b15cb3dSCy Schubert* receive(): missing return on error
17832b15cb3dSCy Schubert
17842b15cb3dSCy Schubert  References: Sec 2670 / CVE-2014-9296 / VU#852879
17852b15cb3dSCy Schubert  CVSS: (AV:N/AC:L/Au:N/C:N/I:N/A:P) Base Score: 5.0
17862b15cb3dSCy Schubert  Versions: All NTP4 releases before 4.2.8
17872b15cb3dSCy Schubert  Date Resolved: Stable (4.2.8) 18 Dec 2014
17882b15cb3dSCy Schubert
17892b15cb3dSCy Schubert  Summary: Code in ntp_proto.c:receive() was missing a 'return;' in
17902b15cb3dSCy Schubert  	the code path where an error was detected, which meant
17912b15cb3dSCy Schubert	processing did not stop when a specific rare error occurred.
17922b15cb3dSCy Schubert	We haven't found a way for this bug to affect system integrity.
17932b15cb3dSCy Schubert	If there is no way to affect system integrity the base CVSS
17942b15cb3dSCy Schubert	score for this bug is 0. If there is one avenue through which
17952b15cb3dSCy Schubert	system integrity can be partially affected, the base score
17962b15cb3dSCy Schubert	becomes a 5. If system integrity can be partially affected
17972b15cb3dSCy Schubert	via all three integrity metrics, the CVSS base score become 7.5.
17982b15cb3dSCy Schubert
17992b15cb3dSCy Schubert  Mitigation - any of:
18002b15cb3dSCy Schubert        - Upgrade to 4.2.8, or later,
18012b15cb3dSCy Schubert        - Remove or comment out all configuration directives
18022b15cb3dSCy Schubert	  beginning with the crypto keyword in your ntp.conf file.
18032b15cb3dSCy Schubert
18042b15cb3dSCy Schubert  Credit: This vulnerability was discovered by Stephen Roettger of the
18052b15cb3dSCy Schubert  	Google Security Team.
18062b15cb3dSCy Schubert
18072b15cb3dSCy SchubertSee http://support.ntp.org/security for more information.
18082b15cb3dSCy Schubert
18092b15cb3dSCy SchubertNew features / changes in this release:
18102b15cb3dSCy Schubert
18112b15cb3dSCy SchubertImportant Changes
18122b15cb3dSCy Schubert
18132b15cb3dSCy Schubert* Internal NTP Era counters
18142b15cb3dSCy Schubert
18152b15cb3dSCy SchubertThe internal counters that track the "era" (range of years) we are in
18162b15cb3dSCy Schubertrolls over every 136 years'.  The current "era" started at the stroke of
18172b15cb3dSCy Schubertmidnight on 1 Jan 1900, and ends just before the stroke of midnight on
18182b15cb3dSCy Schubert1 Jan 2036.
18192b15cb3dSCy SchubertIn the past, we have used the "midpoint" of the  range to decide which
18202b15cb3dSCy Schubertera we were in.  Given the longevity of some products, it became clear
18212b15cb3dSCy Schubertthat it would be more functional to "look back" less, and "look forward"
18222b15cb3dSCy Schubertmore.  We now compile a timestamp into the ntpd executable and when we
18232b15cb3dSCy Schubertget a timestamp we us the "built-on" to tell us what era we are in.
18242b15cb3dSCy SchubertThis check "looks back" 10 years, and "looks forward" 126 years.
18252b15cb3dSCy Schubert
18262b15cb3dSCy Schubert* ntpdc responses disabled by default
18272b15cb3dSCy Schubert
18282b15cb3dSCy SchubertDave Hart writes:
18292b15cb3dSCy Schubert
18302b15cb3dSCy SchubertFor a long time, ntpq and its mostly text-based mode 6 (control)
18312b15cb3dSCy Schubertprotocol have been preferred over ntpdc and its mode 7 (private
18322b15cb3dSCy Schubertrequest) protocol for runtime queries and configuration.  There has
18332b15cb3dSCy Schubertbeen a goal of deprecating ntpdc, previously held back by numerous
18342b15cb3dSCy Schubertcapabilities exposed by ntpdc with no ntpq equivalent.  I have been
18352b15cb3dSCy Schubertadding commands to ntpq to cover these cases, and I believe I've
18362b15cb3dSCy Schubertcovered them all, though I've not compared command-by-command
18372b15cb3dSCy Schubertrecently.
18382b15cb3dSCy Schubert
18392b15cb3dSCy SchubertAs I've said previously, the binary mode 7 protocol involves a lot of
18402b15cb3dSCy Schuberthand-rolled structure layout and byte-swapping code in both ntpd and
18412b15cb3dSCy Schubertntpdc which is hard to get right.  As ntpd grows and changes, the
18422b15cb3dSCy Schubertchanges are difficult to expose via ntpdc while maintaining forward
18432b15cb3dSCy Schubertand backward compatibility between ntpdc and ntpd.  In contrast,
18442b15cb3dSCy Schubertntpq's text-based, label=value approach involves more code reuse and
18452b15cb3dSCy Schubertallows compatible changes without extra work in most cases.
18462b15cb3dSCy Schubert
18472b15cb3dSCy SchubertMode 7 has always been defined as vendor/implementation-specific while
18482b15cb3dSCy Schubertmode 6 is described in RFC 1305 and intended to be open to interoperate
18492b15cb3dSCy Schubertwith other implementations.  There is an early draft of an updated
18502b15cb3dSCy Schubertmode 6 description that likely will join the other NTPv4 RFCs
18512b15cb3dSCy Schuberteventually. (http://tools.ietf.org/html/draft-odonoghue-ntpv4-control-01)
18522b15cb3dSCy Schubert
18532b15cb3dSCy SchubertFor these reasons, ntpd 4.2.7p230 by default disables processing of
18542b15cb3dSCy Schubertntpdc queries, reducing ntpd's attack surface and functionally
18552b15cb3dSCy Schubertdeprecating ntpdc.  If you are in the habit of using ntpdc for certain
18562b15cb3dSCy Schubertoperations, please try the ntpq equivalent.  If there's no equivalent,
18572b15cb3dSCy Schubertplease open a bug report at http://bugs.ntp.org./
18582b15cb3dSCy Schubert
18592b15cb3dSCy SchubertIn addition to the above, over 1100 issues have been resolved between
18602b15cb3dSCy Schubertthe 4.2.6 branch and 4.2.8.  The ChangeLog file in the distribution
18612b15cb3dSCy Schubertlists these.
18622b15cb3dSCy Schubert
18632b15cb3dSCy Schubert---
18642b15cb3dSCy SchubertNTP 4.2.6p5 (Harlan Stenn <stenn@ntp.org>, 2011/12/24)
18652b15cb3dSCy Schubert
18662b15cb3dSCy SchubertFocus: Bug fixes
18672b15cb3dSCy Schubert
18682b15cb3dSCy SchubertSeverity: Medium
18692b15cb3dSCy Schubert
18702b15cb3dSCy SchubertThis is a recommended upgrade.
18712b15cb3dSCy Schubert
18722b15cb3dSCy SchubertThis release updates sys_rootdisp and sys_jitter calculations to match the
18732b15cb3dSCy SchubertRFC specification, fixes a potential IPv6 address matching error for the
18742b15cb3dSCy Schubert"nic" and "interface" configuration directives, suppresses the creation of
18752b15cb3dSCy Schubertextraneous ephemeral associations for certain broadcastclient and
18762b15cb3dSCy Schubertmulticastclient configurations, cleans up some ntpq display issues, and
18772b15cb3dSCy Schubertincludes improvements to orphan mode, minor bugs fixes and code clean-ups.
18782b15cb3dSCy Schubert
18792b15cb3dSCy SchubertNew features / changes in this release:
18802b15cb3dSCy Schubert
18812b15cb3dSCy Schubertntpd
18822b15cb3dSCy Schubert
18832b15cb3dSCy Schubert * Updated "nic" and "interface" IPv6 address handling to prevent
18842b15cb3dSCy Schubert   mismatches with localhost [::1] and wildcard [::] which resulted from
18852b15cb3dSCy Schubert   using the address/prefix format (e.g. fe80::/64)
18862b15cb3dSCy Schubert * Fix orphan mode stratum incorrectly counting to infinity
18872b15cb3dSCy Schubert * Orphan parent selection metric updated to includes missing ntohl()
18882b15cb3dSCy Schubert * Non-printable stratum 16 refid no longer sent to ntp
18892b15cb3dSCy Schubert * Duplicate ephemeral associations suppressed for broadcastclient and
18902b15cb3dSCy Schubert   multicastclient without broadcastdelay
18912b15cb3dSCy Schubert * Exclude undetermined sys_refid from use in loopback TEST12
18922b15cb3dSCy Schubert * Exclude MODE_SERVER responses from KoD rate limiting
18932b15cb3dSCy Schubert * Include root delay in clock_update() sys_rootdisp calculations
18942b15cb3dSCy Schubert * get_systime() updated to exclude sys_residual offset (which only
18952b15cb3dSCy Schubert   affected bits "below" sys_tick, the precision threshold)
18962b15cb3dSCy Schubert * sys.peer jitter weighting corrected in sys_jitter calculation
18972b15cb3dSCy Schubert
18982b15cb3dSCy Schubertntpq
18992b15cb3dSCy Schubert
19002b15cb3dSCy Schubert * -n option extended to include the billboard "server" column
19012b15cb3dSCy Schubert * IPv6 addresses in the local column truncated to prevent overruns
19022b15cb3dSCy Schubert
19032b15cb3dSCy Schubert---
19042b15cb3dSCy SchubertNTP 4.2.6p4 (Harlan Stenn <stenn@ntp.org>, 2011/09/22)
19052b15cb3dSCy Schubert
19062b15cb3dSCy SchubertFocus: Bug fixes and portability improvements
19072b15cb3dSCy Schubert
19082b15cb3dSCy SchubertSeverity: Medium
19092b15cb3dSCy Schubert
19102b15cb3dSCy SchubertThis is a recommended upgrade.
19112b15cb3dSCy Schubert
19122b15cb3dSCy SchubertThis release includes build infrastructure updates, code
19132b15cb3dSCy Schubertclean-ups, minor bug fixes, fixes for a number of minor
19142b15cb3dSCy Schubertref-clock issues, and documentation revisions.
19152b15cb3dSCy Schubert
19162b15cb3dSCy SchubertPortability improvements affect AIX, HP-UX, Linux, OS X and 64-bit time_t.
19172b15cb3dSCy Schubert
19182b15cb3dSCy SchubertNew features / changes in this release:
19192b15cb3dSCy Schubert
19202b15cb3dSCy SchubertBuild system
19212b15cb3dSCy Schubert
19222b15cb3dSCy Schubert* Fix checking for struct rtattr
19232b15cb3dSCy Schubert* Update config.guess and config.sub for AIX
19242b15cb3dSCy Schubert* Upgrade required version of autogen and libopts for building
19252b15cb3dSCy Schubert  from our source code repository
19262b15cb3dSCy Schubert
19272b15cb3dSCy Schubertntpd
19282b15cb3dSCy Schubert
19292b15cb3dSCy Schubert* Back-ported several fixes for Coverity warnings from ntp-dev
19302b15cb3dSCy Schubert* Fix a rare boundary condition in UNLINK_EXPR_SLIST()
19312b15cb3dSCy Schubert* Allow "logconfig =allall" configuration directive
19322b15cb3dSCy Schubert* Bind tentative IPv6 addresses on Linux
19332b15cb3dSCy Schubert* Correct WWVB/Spectracom driver to timestamp CR instead of LF
19342b15cb3dSCy Schubert* Improved tally bit handling to prevent incorrect ntpq peer status reports
19352b15cb3dSCy Schubert* Exclude the Undisciplined Local Clock and ACTS drivers from the initial
19362b15cb3dSCy Schubert  candidate list unless they are designated a "prefer peer"
19372b15cb3dSCy Schubert* Prevent the consideration of Undisciplined Local Clock or ACTS drivers for
19382b15cb3dSCy Schubert  selection during the 'tos orphanwait' period
19392b15cb3dSCy Schubert* Prefer an Orphan Mode Parent over the Undisciplined Local Clock or ACTS
19402b15cb3dSCy Schubert  drivers
19412b15cb3dSCy Schubert* Improved support of the Parse Refclock trusttime flag in Meinberg mode
19422b15cb3dSCy Schubert* Back-port utility routines from ntp-dev: mprintf(), emalloc_zero()
19432b15cb3dSCy Schubert* Added the NTPD_TICKADJ_PPM environment variable for specifying baseline
19442b15cb3dSCy Schubert  clock slew on Microsoft Windows
19452b15cb3dSCy Schubert* Code cleanup in libntpq
19462b15cb3dSCy Schubert
19472b15cb3dSCy Schubertntpdc
19482b15cb3dSCy Schubert
19492b15cb3dSCy Schubert* Fix timerstats reporting
19502b15cb3dSCy Schubert
19512b15cb3dSCy Schubertntpdate
19522b15cb3dSCy Schubert
19532b15cb3dSCy Schubert* Reduce time required to set clock
19542b15cb3dSCy Schubert* Allow a timeout greater than 2 seconds
19552b15cb3dSCy Schubert
19562b15cb3dSCy Schubertsntp
19572b15cb3dSCy Schubert
19582b15cb3dSCy Schubert* Backward incompatible command-line option change:
19592b15cb3dSCy Schubert  -l/--filelog changed -l/--logfile (to be consistent with ntpd)
19602b15cb3dSCy Schubert
19612b15cb3dSCy SchubertDocumentation
19622b15cb3dSCy Schubert
19632b15cb3dSCy Schubert* Update html2man. Fix some tags in the .html files
19642b15cb3dSCy Schubert* Distribute ntp-wait.html
19652b15cb3dSCy Schubert
19662b15cb3dSCy Schubert---
19672b15cb3dSCy SchubertNTP 4.2.6p3 (Harlan Stenn <stenn@ntp.org>, 2011/01/03)
19682b15cb3dSCy Schubert
19692b15cb3dSCy SchubertFocus: Bug fixes and portability improvements
19702b15cb3dSCy Schubert
19712b15cb3dSCy SchubertSeverity: Medium
19722b15cb3dSCy Schubert
19732b15cb3dSCy SchubertThis is a recommended upgrade.
19742b15cb3dSCy Schubert
19752b15cb3dSCy SchubertThis release includes build infrastructure updates, code
19762b15cb3dSCy Schubertclean-ups, minor bug fixes, fixes for a number of minor
19772b15cb3dSCy Schubertref-clock issues, and documentation revisions.
19782b15cb3dSCy Schubert
19792b15cb3dSCy SchubertPortability improvements in this release affect AIX, Atari FreeMiNT,
19802b15cb3dSCy SchubertFreeBSD4, Linux and Microsoft Windows.
19812b15cb3dSCy Schubert
19822b15cb3dSCy SchubertNew features / changes in this release:
19832b15cb3dSCy Schubert
19842b15cb3dSCy SchubertBuild system
19852b15cb3dSCy Schubert* Use lsb_release to get information about Linux distributions.
19862b15cb3dSCy Schubert* 'test' is in /usr/bin (instead of /bin) on some systems.
19872b15cb3dSCy Schubert* Basic sanity checks for the ChangeLog file.
19882b15cb3dSCy Schubert* Source certain build files with ./filename for systems without . in PATH.
19892b15cb3dSCy Schubert* IRIX portability fix.
19902b15cb3dSCy Schubert* Use a single copy of the "libopts" code.
19912b15cb3dSCy Schubert* autogen/libopts upgrade.
19922b15cb3dSCy Schubert* configure.ac m4 quoting cleanup.
19932b15cb3dSCy Schubert
19942b15cb3dSCy Schubertntpd
19952b15cb3dSCy Schubert* Do not bind to IN6_IFF_ANYCAST addresses.
19962b15cb3dSCy Schubert* Log the reason for exiting under Windows.
19972b15cb3dSCy Schubert* Multicast fixes for Windows.
19982b15cb3dSCy Schubert* Interpolation fixes for Windows.
19992b15cb3dSCy Schubert* IPv4 and IPv6 Multicast fixes.
20002b15cb3dSCy Schubert* Manycast solicitation fixes and general repairs.
20012b15cb3dSCy Schubert* JJY refclock cleanup.
20022b15cb3dSCy Schubert* NMEA refclock improvements.
20032b15cb3dSCy Schubert* Oncore debug message cleanup.
20042b15cb3dSCy Schubert* Palisade refclock now builds under Linux.
20052b15cb3dSCy Schubert* Give RAWDCF more baud rates.
20062b15cb3dSCy Schubert* Support Truetime Satellite clocks under Windows.
20072b15cb3dSCy Schubert* Support Arbiter 1093C Satellite clocks under Windows.
20082b15cb3dSCy Schubert* Make sure that the "filegen" configuration command defaults to "enable".
20092b15cb3dSCy Schubert* Range-check the status codes (plus other cleanup) in the RIPE-NCC driver.
20102b15cb3dSCy Schubert* Prohibit 'includefile' directive in remote configuration command.
20112b15cb3dSCy Schubert* Fix 'nic' interface bindings.
20122b15cb3dSCy Schubert* Fix the way we link with openssl if openssl is installed in the base
20132b15cb3dSCy Schubert  system.
20142b15cb3dSCy Schubert
20152b15cb3dSCy Schubertntp-keygen
20162b15cb3dSCy Schubert* Fix -V coredump.
20172b15cb3dSCy Schubert* OpenSSL version display cleanup.
20182b15cb3dSCy Schubert
20192b15cb3dSCy Schubertntpdc
20202b15cb3dSCy Schubert* Many counters should be treated as unsigned.
20212b15cb3dSCy Schubert
20222b15cb3dSCy Schubertntpdate
20232b15cb3dSCy Schubert* Do not ignore replies with equal receive and transmit timestamps.
20242b15cb3dSCy Schubert
20252b15cb3dSCy Schubertntpq
20262b15cb3dSCy Schubert* libntpq warning cleanup.
20272b15cb3dSCy Schubert
20282b15cb3dSCy Schubertntpsnmpd
20292b15cb3dSCy Schubert* Correct SNMP type for "precision" and "resolution".
20302b15cb3dSCy Schubert* Update the MIB from the draft version to RFC-5907.
20312b15cb3dSCy Schubert
20322b15cb3dSCy Schubertsntp
20332b15cb3dSCy Schubert* Display timezone offset when showing time for sntp in the local
20342b15cb3dSCy Schubert  timezone.
20352b15cb3dSCy Schubert* Pay proper attention to RATE KoD packets.
20362b15cb3dSCy Schubert* Fix a miscalculation of the offset.
20372b15cb3dSCy Schubert* Properly parse empty lines in the key file.
20382b15cb3dSCy Schubert* Logging cleanup.
20392b15cb3dSCy Schubert* Use tv_usec correctly in set_time().
20402b15cb3dSCy Schubert* Documentation cleanup.
20412b15cb3dSCy Schubert
20422b15cb3dSCy Schubert---
20432b15cb3dSCy SchubertNTP 4.2.6p2 (Harlan Stenn <stenn@ntp.org>, 2010/07/08)
20442b15cb3dSCy Schubert
20452b15cb3dSCy SchubertFocus: Bug fixes and portability improvements
20462b15cb3dSCy Schubert
20472b15cb3dSCy SchubertSeverity: Medium
20482b15cb3dSCy Schubert
20492b15cb3dSCy SchubertThis is a recommended upgrade.
20502b15cb3dSCy Schubert
20512b15cb3dSCy SchubertThis release includes build infrastructure updates, code
20522b15cb3dSCy Schubertclean-ups, minor bug fixes, fixes for a number of minor
20532b15cb3dSCy Schubertref-clock issues, improved KOD handling, OpenSSL related
20542b15cb3dSCy Schubertupdates and documentation revisions.
20552b15cb3dSCy Schubert
20562b15cb3dSCy SchubertPortability improvements in this release affect Irix, Linux,
20572b15cb3dSCy SchubertMac OS, Microsoft Windows, OpenBSD and QNX6
20582b15cb3dSCy Schubert
20592b15cb3dSCy SchubertNew features / changes in this release:
20602b15cb3dSCy Schubert
20612b15cb3dSCy Schubertntpd
20622b15cb3dSCy Schubert* Range syntax for the trustedkey configuration directive
20632b15cb3dSCy Schubert* Unified IPv4 and IPv6 restrict lists
20642b15cb3dSCy Schubert
20652b15cb3dSCy Schubertntpdate
20662b15cb3dSCy Schubert* Rate limiting and KOD handling
20672b15cb3dSCy Schubert
20682b15cb3dSCy Schubertntpsnmpd
20692b15cb3dSCy Schubert* default connection to net-snmpd via a unix-domain socket
20702b15cb3dSCy Schubert* command-line 'socket name' option
20712b15cb3dSCy Schubert
20722b15cb3dSCy Schubertntpq / ntpdc
20732b15cb3dSCy Schubert* support for the "passwd ..." syntax
20742b15cb3dSCy Schubert* key-type specific password prompts
20752b15cb3dSCy Schubert
20762b15cb3dSCy Schubertsntp
20772b15cb3dSCy Schubert* MD5 authentication of an ntpd
20782b15cb3dSCy Schubert* Broadcast and crypto
20792b15cb3dSCy Schubert* OpenSSL support
20802b15cb3dSCy Schubert
20812b15cb3dSCy Schubert---
20822b15cb3dSCy SchubertNTP 4.2.6p1 (Harlan Stenn <stenn@ntp.org>, 2010/04/09)
20832b15cb3dSCy Schubert
20842b15cb3dSCy SchubertFocus: Bug fixes, portability fixes, and documentation improvements
20852b15cb3dSCy Schubert
20862b15cb3dSCy SchubertSeverity: Medium
20872b15cb3dSCy Schubert
20882b15cb3dSCy SchubertThis is a recommended upgrade.
20892b15cb3dSCy Schubert
20902b15cb3dSCy Schubert---
20912b15cb3dSCy SchubertNTP 4.2.6 (Harlan Stenn <stenn@ntp.org>, 2009/12/08)
20922b15cb3dSCy Schubert
20932b15cb3dSCy SchubertFocus: enhancements and bug fixes.
20942b15cb3dSCy Schubert
20952b15cb3dSCy Schubert---
2096eb6d21b4SOllivier RobertNTP 4.2.4p8 (Harlan Stenn <stenn@ntp.org>, 2009/12/08)
2097eb6d21b4SOllivier Robert
2098eb6d21b4SOllivier RobertFocus: Security Fixes
2099eb6d21b4SOllivier Robert
2100eb6d21b4SOllivier RobertSeverity: HIGH
2101eb6d21b4SOllivier Robert
2102eb6d21b4SOllivier RobertThis release fixes the following high-severity vulnerability:
2103eb6d21b4SOllivier Robert
2104eb6d21b4SOllivier Robert* [Sec 1331] DoS with mode 7 packets - CVE-2009-3563.
2105eb6d21b4SOllivier Robert
2106eb6d21b4SOllivier Robert  See http://support.ntp.org/security for more information.
2107eb6d21b4SOllivier Robert
2108eb6d21b4SOllivier Robert  NTP mode 7 (MODE_PRIVATE) is used by the ntpdc query and control utility.
2109eb6d21b4SOllivier Robert  In contrast, ntpq uses NTP mode 6 (MODE_CONTROL), while routine NTP time
2110eb6d21b4SOllivier Robert  transfers use modes 1 through 5.  Upon receipt of an incorrect mode 7
2111eb6d21b4SOllivier Robert  request or a mode 7 error response from an address which is not listed
2112eb6d21b4SOllivier Robert  in a "restrict ... noquery" or "restrict ... ignore" statement, ntpd will
2113eb6d21b4SOllivier Robert  reply with a mode 7 error response (and log a message).  In this case:
2114eb6d21b4SOllivier Robert
2115eb6d21b4SOllivier Robert	* If an attacker spoofs the source address of ntpd host A in a
2116eb6d21b4SOllivier Robert	  mode 7 response packet sent to ntpd host B, both A and B will
2117eb6d21b4SOllivier Robert	  continuously send each other error responses, for as long as
2118eb6d21b4SOllivier Robert	  those packets get through.
2119eb6d21b4SOllivier Robert
2120eb6d21b4SOllivier Robert	* If an attacker spoofs an address of ntpd host A in a mode 7
2121eb6d21b4SOllivier Robert	  response packet sent to ntpd host A, A will respond to itself
2122eb6d21b4SOllivier Robert	  endlessly, consuming CPU and logging excessively.
2123eb6d21b4SOllivier Robert
2124eb6d21b4SOllivier Robert  Credit for finding this vulnerability goes to Robin Park and Dmitri
2125eb6d21b4SOllivier Robert  Vinokurov of Alcatel-Lucent.
2126eb6d21b4SOllivier Robert
2127eb6d21b4SOllivier RobertTHIS IS A STRONGLY RECOMMENDED UPGRADE.
2128eb6d21b4SOllivier Robert
2129eb6d21b4SOllivier Robert---
21302b15cb3dSCy Schubertntpd now syncs to refclocks right away.
21312b15cb3dSCy Schubert
21322b15cb3dSCy SchubertBackward-Incompatible changes:
21332b15cb3dSCy Schubert
21342b15cb3dSCy Schubertntpd no longer accepts '-v name' or '-V name' to define internal variables.
21352b15cb3dSCy SchubertUse '--var name' or '--dvar name' instead. (Bug 817)
21362b15cb3dSCy Schubert
21372b15cb3dSCy Schubert---
2138eb6d21b4SOllivier RobertNTP 4.2.4p7 (Harlan Stenn <stenn@ntp.org>, 2009/05/04)
2139eb6d21b4SOllivier Robert
2140eb6d21b4SOllivier RobertFocus: Security and Bug Fixes
2141eb6d21b4SOllivier Robert
2142eb6d21b4SOllivier RobertSeverity: HIGH
2143eb6d21b4SOllivier Robert
2144eb6d21b4SOllivier RobertThis release fixes the following high-severity vulnerability:
2145eb6d21b4SOllivier Robert
2146eb6d21b4SOllivier Robert* [Sec 1151] Remote exploit if autokey is enabled.  CVE-2009-1252
2147eb6d21b4SOllivier Robert
2148eb6d21b4SOllivier Robert  See http://support.ntp.org/security for more information.
2149eb6d21b4SOllivier Robert
2150eb6d21b4SOllivier Robert  If autokey is enabled (if ntp.conf contains a "crypto pw whatever"
2151eb6d21b4SOllivier Robert  line) then a carefully crafted packet sent to the machine will cause
2152eb6d21b4SOllivier Robert  a buffer overflow and possible execution of injected code, running
2153eb6d21b4SOllivier Robert  with the privileges of the ntpd process (often root).
2154eb6d21b4SOllivier Robert
2155eb6d21b4SOllivier Robert  Credit for finding this vulnerability goes to Chris Ries of CMU.
2156eb6d21b4SOllivier Robert
2157eb6d21b4SOllivier RobertThis release fixes the following low-severity vulnerabilities:
2158eb6d21b4SOllivier Robert
2159eb6d21b4SOllivier Robert* [Sec 1144] limited (two byte) buffer overflow in ntpq.  CVE-2009-0159
2160eb6d21b4SOllivier Robert  Credit for finding this vulnerability goes to Geoff Keating of Apple.
2161eb6d21b4SOllivier Robert
2162eb6d21b4SOllivier Robert* [Sec 1149] use SO_EXCLUSIVEADDRUSE on Windows
2163eb6d21b4SOllivier Robert  Credit for finding this issue goes to Dave Hart.
2164eb6d21b4SOllivier Robert
2165eb6d21b4SOllivier RobertThis release fixes a number of bugs and adds some improvements:
2166eb6d21b4SOllivier Robert
2167eb6d21b4SOllivier Robert* Improved logging
2168eb6d21b4SOllivier Robert* Fix many compiler warnings
2169eb6d21b4SOllivier Robert* Many fixes and improvements for Windows
2170eb6d21b4SOllivier Robert* Adds support for AIX 6.1
2171eb6d21b4SOllivier Robert* Resolves some issues under MacOS X and Solaris
2172eb6d21b4SOllivier Robert
2173eb6d21b4SOllivier RobertTHIS IS A STRONGLY RECOMMENDED UPGRADE.
2174eb6d21b4SOllivier Robert
2175eb6d21b4SOllivier Robert---
2176eb6d21b4SOllivier RobertNTP 4.2.4p6 (Harlan Stenn <stenn@ntp.org>, 2009/01/07)
2177eb6d21b4SOllivier Robert
2178eb6d21b4SOllivier RobertFocus: Security Fix
2179eb6d21b4SOllivier Robert
2180eb6d21b4SOllivier RobertSeverity: Low
2181eb6d21b4SOllivier Robert
2182eb6d21b4SOllivier RobertThis release fixes oCERT.org's CVE-2009-0021, a vulnerability affecting
2183eb6d21b4SOllivier Robertthe OpenSSL library relating to the incorrect checking of the return
2184eb6d21b4SOllivier Robertvalue of EVP_VerifyFinal function.
2185eb6d21b4SOllivier Robert
2186eb6d21b4SOllivier RobertCredit for finding this issue goes to the Google Security Team for
2187eb6d21b4SOllivier Robertfinding the original issue with OpenSSL, and to ocert.org for finding
2188eb6d21b4SOllivier Robertthe problem in NTP and telling us about it.
2189eb6d21b4SOllivier Robert
2190eb6d21b4SOllivier RobertThis is a recommended upgrade.
2191eb6d21b4SOllivier Robert---
2192ea906c41SOllivier RobertNTP 4.2.4p5 (Harlan Stenn <stenn@ntp.org>, 2008/08/17)
2193ea906c41SOllivier Robert
2194ea906c41SOllivier RobertFocus: Minor Bugfixes
2195ea906c41SOllivier Robert
2196ea906c41SOllivier RobertThis release fixes a number of Windows-specific ntpd bugs and
2197ea906c41SOllivier Robertplatform-independent ntpdate bugs. A logging bugfix has been applied
2198ea906c41SOllivier Robertto the ONCORE driver.
2199ea906c41SOllivier Robert
2200ea906c41SOllivier RobertThe "dynamic" keyword and is now obsolete and deferred binding to local
2201ea906c41SOllivier Robertinterfaces is the new default. The minimum time restriction for the
2202ea906c41SOllivier Robertinterface update interval has been dropped.
2203ea906c41SOllivier Robert
2204ea906c41SOllivier RobertA number of minor build system and documentation fixes are included.
2205ea906c41SOllivier Robert
2206ea906c41SOllivier RobertThis is a recommended upgrade for Windows.
2207ea906c41SOllivier Robert
2208ea906c41SOllivier Robert---
2209ea906c41SOllivier RobertNTP 4.2.4p4 (Harlan Stenn <stenn@ntp.org>, 2007/09/10)
2210ea906c41SOllivier Robert
2211ea906c41SOllivier RobertFocus: Minor Bugfixes
2212ea906c41SOllivier Robert
2213ea906c41SOllivier RobertThis release updates certain copyright information, fixes several display
2214ea906c41SOllivier Robertbugs in ntpdc, avoids SIGIO interrupting malloc(), cleans up file descriptor
2215ea906c41SOllivier Robertshutdown in the parse refclock driver, removes some lint from the code,
2216ea906c41SOllivier Robertstops accessing certain buffers immediately after they were freed, fixes
2217ea906c41SOllivier Roberta problem with non-command-line specification of -6, and allows the loopback
2218ea906c41SOllivier Robertinterface to share addresses with other interfaces.
2219ea906c41SOllivier Robert
2220ea906c41SOllivier Robert---
2221ea906c41SOllivier RobertNTP 4.2.4p3 (Harlan Stenn <stenn@ntp.org>, 2007/06/29)
2222ea906c41SOllivier Robert
2223ea906c41SOllivier RobertFocus: Minor Bugfixes
2224ea906c41SOllivier Robert
2225ea906c41SOllivier RobertThis release fixes a bug in Windows that made it difficult to
2226ea906c41SOllivier Robertterminate ntpd under windows.
2227ea906c41SOllivier RobertThis is a recommended upgrade for Windows.
2228ea906c41SOllivier Robert
2229ea906c41SOllivier Robert---
2230ea906c41SOllivier RobertNTP 4.2.4p2 (Harlan Stenn <stenn@ntp.org>, 2007/06/19)
2231ea906c41SOllivier Robert
2232ea906c41SOllivier RobertFocus: Minor Bugfixes
2233ea906c41SOllivier Robert
2234ea906c41SOllivier RobertThis release fixes a multicast mode authentication problem,
2235ea906c41SOllivier Robertan error in NTP packet handling on Windows that could lead to
2236ea906c41SOllivier Robertntpd crashing, and several other minor bugs. Handling of
2237ea906c41SOllivier Robertmulticast interfaces and logging configuration were improved.
2238ea906c41SOllivier RobertThe required versions of autogen and libopts were incremented.
2239ea906c41SOllivier RobertThis is a recommended upgrade for Windows and multicast users.
2240ea906c41SOllivier Robert
2241ea906c41SOllivier Robert---
2242ea906c41SOllivier RobertNTP 4.2.4 (Harlan Stenn <stenn@ntp.org>, 2006/12/31)
2243ea906c41SOllivier Robert
2244ea906c41SOllivier RobertFocus: enhancements and bug fixes.
2245ea906c41SOllivier Robert
2246ea906c41SOllivier RobertDynamic interface rescanning was added to simplify the use of ntpd in
2247ea906c41SOllivier Robertconjunction with DHCP. GNU AutoGen is used for its command-line options
2248ea906c41SOllivier Robertprocessing. Separate PPS devices are supported for PARSE refclocks, MD5
2249ea906c41SOllivier Robertsignatures are now provided for the release files. Drivers have been
2250ea906c41SOllivier Robertadded for some new ref-clocks and have been removed for some older
2251ea906c41SOllivier Robertref-clocks. This release also includes other improvements, documentation
2252ea906c41SOllivier Robertand bug fixes.
2253ea906c41SOllivier Robert
2254ea906c41SOllivier RobertK&R C is no longer supported as of NTP-4.2.4. We are now aiming for ANSI
2255ea906c41SOllivier RobertC support.
2256ea906c41SOllivier Robert
2257ea906c41SOllivier Robert---
2258ea906c41SOllivier RobertNTP 4.2.0 (Harlan Stenn <stenn@ntp.org>, 2003/10/15)
2259ea906c41SOllivier Robert
2260ea906c41SOllivier RobertFocus: enhancements and bug fixes.
2261