NEWS revision 301256
1183371Simp---
2183371SimpNTP 4.2.8p8 (Harlan Stenn <stenn@ntp.org>, 2016/06/02) 
3183371Simp
4183371SimpFocus: Security, Bug fixes, enhancements.
5183371Simp
6183371SimpSeverity: HIGH
7183371Simp
8183371SimpIn addition to bug fixes and enhancements, this release fixes the
9183371Simpfollowing 1 high- and 4 low-severity vulnerabilities:
10183371Simp
11183371Simp* CRYPTO_NAK crash
12183371Simp   Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
13183371Simp   References: Sec 3046 / CVE-2016-4957 / VU#321640
14183371Simp   Affects: ntp-4.2.8p7, and ntp-4.3.92.
15183371Simp   CVSS2: HIGH 7.8 (AV:N/AC:L/Au:N/C:N/I:N/A:C)
16183371Simp   CVSS3: HIGH 7.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
17183371Simp   Summary: The fix for Sec 3007 in ntp-4.2.8p7 contained a bug that
18183371Simp	could cause ntpd to crash.
19183371Simp   Mitigation:
20183371Simp        Implement BCP-38.
21183371Simp        Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
22183371Simp	    or the NTP Public Services Project Download Page
23183371Simp        If you cannot upgrade from 4.2.8p7, the only other alternatives
24183371Simp	    are to patch your code or filter CRYPTO_NAK packets.
25183371Simp        Properly monitor your ntpd instances, and auto-restart ntpd
26183371Simp	    (without -g) if it stops running. 
27183371Simp   Credit: This weakness was discovered by Nicolas Edet of Cisco. 
28183371Simp
29183371Simp* Bad authentication demobilizes ephemeral associations
30183371Simp   Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
31183371Simp   References: Sec 3045 / CVE-2016-4953 / VU#321640
32183371Simp   Affects: ntp-4, up to but not including ntp-4.2.8p8, and
33183371Simp	ntp-4.3.0 up to, but not including ntp-4.3.93.
34203319Sweongyo   CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P)
35203319Sweongyo   CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
36183371Simp   Summary: An attacker who knows the origin timestamp and can send a
37204922Sweongyo	spoofed packet containing a CRYPTO-NAK to an ephemeral peer
38204922Sweongyo	target before any other response is sent can demobilize that
39204922Sweongyo	association.
40204922Sweongyo   Mitigation:
41204922Sweongyo	Implement BCP-38.
42204922Sweongyo	Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
43203319Sweongyo	    or the NTP Public Services Project Download Page
44203319Sweongyo	Properly monitor your ntpd instances. 
45203319Sweongyo	Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 
46203319Sweongyo
47204922Sweongyo* Processing spoofed server packets
48204922Sweongyo   Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
49204922Sweongyo   References: Sec 3044 / CVE-2016-4954 / VU#321640
50204922Sweongyo   Affects: ntp-4, up to but not including ntp-4.2.8p8, and
51204922Sweongyo	ntp-4.3.0 up to, but not including ntp-4.3.93.
52204922Sweongyo   CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P)
53204922Sweongyo   CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
54204922Sweongyo   Summary: An attacker who is able to spoof packets with correct origin
55204922Sweongyo	timestamps from enough servers before the expected response
56204922Sweongyo	packets arrive at the target machine can affect some peer
57204922Sweongyo	variables and, for example, cause a false leap indication to be set.
58204922Sweongyo   Mitigation:
59204922Sweongyo	Implement BCP-38.
60204922Sweongyo	Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
61183371Simp	    or the NTP Public Services Project Download Page
62183371Simp	Properly monitor your ntpd instances. 
63203319Sweongyo   Credit: This weakness was discovered by Jakub Prokes of Red Hat. 
64203319Sweongyo
65183371Simp* Autokey association reset
66203319Sweongyo   Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
67203319Sweongyo   References: Sec 3043 / CVE-2016-4955 / VU#321640
68203319Sweongyo   Affects: ntp-4, up to but not including ntp-4.2.8p8, and
69203319Sweongyo	ntp-4.3.0 up to, but not including ntp-4.3.93.
70204922Sweongyo   CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P)
71204922Sweongyo   CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
72204922Sweongyo   Summary: An attacker who is able to spoof a packet with a correct
73204922Sweongyo	origin timestamp before the expected response packet arrives at
74204922Sweongyo	the target machine can send a CRYPTO_NAK or a bad MAC and cause
75204922Sweongyo	the association's peer variables to be cleared. If this can be
76204922Sweongyo	done often enough, it will prevent that association from working.
77204922Sweongyo   Mitigation:
78204922Sweongyo	Implement BCP-38.
79204922Sweongyo	Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
80204922Sweongyo	    or the NTP Public Services Project Download Page
81204922Sweongyo	Properly monitor your ntpd instances. 
82204922Sweongyo   Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 
83203319Sweongyo 
84203319Sweongyo* Broadcast interleave
85203319Sweongyo   Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
86203319Sweongyo   References: Sec 3042 / CVE-2016-4956 / VU#321640
87203319Sweongyo   Affects: ntp-4, up to but not including ntp-4.2.8p8, and
88203319Sweongyo   	ntp-4.3.0 up to, but not including ntp-4.3.93.
89203319Sweongyo   CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P)
90203319Sweongyo   CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
91203319Sweongyo   Summary: The fix for NtpBug2978 does not cover broadcast associations,
92203319Sweongyo   	so broadcast clients can be triggered to flip into interleave mode.
93203319Sweongyo   Mitigation:
94203319Sweongyo	Implement BCP-38.
95203319Sweongyo	Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
96203319Sweongyo	    or the NTP Public Services Project Download Page
97203319Sweongyo	Properly monitor your ntpd instances. 
98203319Sweongyo   Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 
99203319Sweongyo
100183371SimpOther fixes:
101183371Simp* [Bug 3038] NTP fails to build in VS2015. perlinger@ntp.org
102203319Sweongyo  - provide build environment
103203319Sweongyo  - 'wint_t' and 'struct timespec' defined by VS2015
104183371Simp  - fixed print()/scanf() format issues
105183371Simp* [Bug 3052] Add a .gitignore file.  Edmund Wong.
106203319Sweongyo* [Bug 3054] miscopt.html documents the allan intercept in seconds. SWhite.
107203319Sweongyo* [Bug 3058] fetch_timestamp() mishandles 64-bit alignment. Brian Utterback,
108183371Simp  JPerlinger, HStenn.
109183371Simp* Fix typo in ntp-wait and plot_summary.  HStenn.
110203319Sweongyo* Make sure we have an "author" file for git imports.  HStenn.
111203319Sweongyo* Update the sntp problem tests for MacOS.  HStenn.
112183371Simp
113183371Simp---
114203319SweongyoNTP 4.2.8p7 (Harlan Stenn <stenn@ntp.org>, 2016/04/26) 
115203319Sweongyo
116183371SimpFocus: Security, Bug fixes, enhancements.
117183371Simp
118203319SweongyoSeverity: MEDIUM
119203319Sweongyo
120203319SweongyoWhen building NTP from source, there is a new configure option
121203319Sweongyoavailable, --enable-dynamic-interleave.  More information on this below.
122203319Sweongyo
123203319SweongyoAlso note that ntp-4.2.8p7 logs more "unexpected events" than previous
124203319Sweongyoversions of ntp.  These events have almost certainly happened in the
125203319Sweongyopast, it's just that they were silently counted and not logged.  With
126203319Sweongyothe increasing awareness around security, we feel it's better to clearly
127203319Sweongyolog these events to help detect abusive behavior.  This increased
128203319Sweongyologging can also help detect other problems, too.
129203319Sweongyo
130203319SweongyoIn addition to bug fixes and enhancements, this release fixes the
131203319Sweongyofollowing 9 low- and medium-severity vulnerabilities:
132203319Sweongyo
133203319Sweongyo* Improve NTP security against buffer comparison timing attacks,
134203319Sweongyo  AKA: authdecrypt-timing
135203319Sweongyo   Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
136203319Sweongyo   References: Sec 2879 / CVE-2016-1550
137203319Sweongyo   Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
138203319Sweongyo	4.3.0 up to, but not including 4.3.92
139203319Sweongyo   CVSSv2: LOW 2.6 - (AV:L/AC:H/Au:N/C:P/I:P/A:N)
140203319Sweongyo   CVSSv3: MED 4.0 - CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
141203319Sweongyo   Summary: Packet authentication tests have been performed using
142203319Sweongyo	memcmp() or possibly bcmp(), and it is potentially possible
143203319Sweongyo	for a local or perhaps LAN-based attacker to send a packet with
144203319Sweongyo	an authentication payload and indirectly observe how much of
145203319Sweongyo	the digest has matched.
146203319Sweongyo   Mitigation:
147203319Sweongyo	Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
148203319Sweongyo	    or the NTP Public Services Project Download Page.
149203319Sweongyo	Properly monitor your ntpd instances.
150203319Sweongyo   Credit: This weakness was discovered independently by Loganaden
151203319Sweongyo   	Velvindron, and Matthew Van Gundy and Stephen Gray of Cisco ASIG.
152203319Sweongyo
153203319Sweongyo* Zero origin timestamp bypass: Additional KoD checks.
154203319Sweongyo   References: Sec 2945 / Sec 2901 / CVE-2015-8138
155203319Sweongyo   Affects: All ntp-4 releases up to, but not including 4.2.8p7,
156203319Sweongyo   Summary: Improvements to the fixes incorporated in t 4.2.8p6 and 4.3.92.
157203319Sweongyo
158203319Sweongyo* peer associations were broken by the fix for NtpBug2899
159203319Sweongyo   Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
160203319Sweongyo   References: Sec 2952 / CVE-2015-7704
161203319Sweongyo   Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
162203319Sweongyo   	4.3.0 up to, but not including 4.3.92
163203319Sweongyo   CVSSv2: MED 4.3 - (AV:N/AC:M/Au:N/C:N/I:N/A:P)
164203319Sweongyo   Summary: The fix for NtpBug2952 in ntp-4.2.8p5 to address broken peer
165203319Sweongyo   	associations did not address all of the issues.
166203319Sweongyo   Mitigation:
167203319Sweongyo        Implement BCP-38.
168203319Sweongyo        Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
169203319Sweongyo	    or the NTP Public Services Project Download Page
170204922Sweongyo        If you can't upgrade, use "server" associations instead of
171203319Sweongyo	    "peer" associations.
172204922Sweongyo        Monitor your ntpd instances. 
173203319Sweongyo   Credit: This problem was discovered by Michael Tatarinov.
174203319Sweongyo
175203319Sweongyo* Validate crypto-NAKs, AKA: CRYPTO-NAK DoS
176203319Sweongyo   Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
177203319Sweongyo   References: Sec 3007 / CVE-2016-1547 / VU#718152
178203319Sweongyo   Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
179203319Sweongyo	4.3.0 up to, but not including 4.3.92
180203319Sweongyo   CVSS2: MED 4.3 - (AV:N/AC:M/Au:N/C:N/I:N/A:P)
181203319Sweongyo   CVSS3: MED 3.7 - CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
182203319Sweongyo   Summary: For ntp-4 versions up to but not including ntp-4.2.8p7, an
183203319Sweongyo	off-path attacker can cause a preemptable client association to
184203319Sweongyo	be demobilized by sending a crypto NAK packet to a victim client
185203319Sweongyo	with a spoofed source address of an existing associated peer.
186183371Simp	This is true even if authentication is enabled.
187203319Sweongyo
188203319Sweongyo	Furthermore, if the attacker keeps sending crypto NAK packets,
189203319Sweongyo	for example one every second, the victim never has a chance to
190203319Sweongyo	reestablish the association and synchronize time with that
191203319Sweongyo	legitimate server.
192183371Simp
193203319Sweongyo	For ntp-4.2.8 thru ntp-4.2.8p6 there is less risk because more
194203319Sweongyo	stringent checks are performed on incoming packets, but there
195203319Sweongyo	are still ways to exploit this vulnerability in versions before
196203319Sweongyo	ntp-4.2.8p7.
197203319Sweongyo   Mitigation:
198203319Sweongyo	Implement BCP-38.
199183371Simp	Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
200203319Sweongyo	    or the NTP Public Services Project Download Page
201203319Sweongyo	Properly monitor your =ntpd= instances
202203319Sweongyo   Credit: This weakness was discovered by Stephen Gray and
203203319Sweongyo   	Matthew Van Gundy of Cisco ASIG.
204203319Sweongyo
205203319Sweongyo* ctl_getitem() return value not always checked
206203319Sweongyo   Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
207203319Sweongyo   References: Sec 3008 / CVE-2016-2519
208203319Sweongyo   Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
209203319Sweongyo	4.3.0 up to, but not including 4.3.92
210203319Sweongyo   CVSSv2: MED 4.9 - (AV:N/AC:H/Au:S/C:N/I:N/A:C)
211203319Sweongyo   CVSSv3: MED 4.2 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
212203319Sweongyo   Summary: ntpq and ntpdc can be used to store and retrieve information
213203319Sweongyo   	in ntpd. It is possible to store a data value that is larger
214203319Sweongyo	than the size of the buffer that the ctl_getitem() function of
215203319Sweongyo	ntpd uses to report the return value. If the length of the
216203319Sweongyo	requested data value returned by ctl_getitem() is too large,
217203319Sweongyo	the value NULL is returned instead. There are 2 cases where the
218203319Sweongyo	return value from ctl_getitem() was not directly checked to make
219203319Sweongyo	sure it's not NULL, but there are subsequent INSIST() checks
220203319Sweongyo	that make sure the return value is not NULL. There are no data
221203319Sweongyo	values ordinarily stored in ntpd that would exceed this buffer
222203319Sweongyo	length. But if one has permission to store values and one stores
223203319Sweongyo	a value that is "too large", then ntpd will abort if an attempt
224204922Sweongyo	is made to read that oversized value.
225204922Sweongyo    Mitigation:
226204922Sweongyo        Implement BCP-38.
227204922Sweongyo        Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
228204922Sweongyo	    or the NTP Public Services Project Download Page
229204922Sweongyo        Properly monitor your ntpd instances.
230204922Sweongyo    Credit: This weakness was discovered by Yihan Lian of the Cloud
231204922Sweongyo    	Security Team, Qihoo 360. 
232204922Sweongyo
233204922Sweongyo* Crafted addpeer with hmode > 7 causes array wraparound with MATCH_ASSOC 
234204922Sweongyo   Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
235204922Sweongyo   References: Sec 3009 / CVE-2016-2518 / VU#718152
236204922Sweongyo   Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
237204922Sweongyo	4.3.0 up to, but not including 4.3.92
238204922Sweongyo   CVSS2: LOW 2.1 - (AV:N/AC:H/Au:S/C:N/I:N/A:P)
239204922Sweongyo   CVSS3: LOW 2.0 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
240204922Sweongyo   Summary: Using a crafted packet to create a peer association with
241204922Sweongyo   	hmode > 7 causes the MATCH_ASSOC() lookup to make an
242204922Sweongyo	out-of-bounds reference.
243204922Sweongyo   Mitigation:
244204922Sweongyo	Implement BCP-38.
245204922Sweongyo	Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
246204922Sweongyo	    or the NTP Public Services Project Download Page
247204922Sweongyo	Properly monitor your ntpd instances
248204922Sweongyo   Credit: This weakness was discovered by Yihan Lian of the Cloud
249204922Sweongyo   	Security Team, Qihoo 360.
250204922Sweongyo
251204922Sweongyo* remote configuration trustedkey/requestkey/controlkey values are not
252204922Sweongyo	properly validated
253204922Sweongyo   Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
254204922Sweongyo   References: Sec 3010 / CVE-2016-2517 / VU#718152
255204922Sweongyo   Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
256204922Sweongyo	4.3.0 up to, but not including 4.3.92
257204922Sweongyo   CVSS2: MED 4.9 - (AV:N/AC:H/Au:S/C:N/I:N/A:C)
258204922Sweongyo   CVSS3: MED 4.2 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
259204922Sweongyo   Summary: If ntpd was expressly configured to allow for remote
260204922Sweongyo   	configuration, a malicious user who knows the controlkey for
261204922Sweongyo	ntpq or the requestkey for ntpdc (if mode7 is expressly enabled)
262204922Sweongyo	can create a session with ntpd and then send a crafted packet to
263204922Sweongyo	ntpd that will change the value of the trustedkey, controlkey,
264204922Sweongyo	or requestkey to a value that will prevent any subsequent
265204922Sweongyo	authentication with ntpd until ntpd is restarted.
266204922Sweongyo   Mitigation:
267204922Sweongyo	Implement BCP-38.
268204922Sweongyo	Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
269204922Sweongyo	    or the NTP Public Services Project Download Page
270204922Sweongyo	Properly monitor your =ntpd= instances
271204922Sweongyo   Credit: This weakness was discovered by Yihan Lian of the Cloud
272204922Sweongyo   	Security Team, Qihoo 360.
273204922Sweongyo
274204922Sweongyo* Duplicate IPs on unconfig directives will cause an assertion botch in ntpd
275204922Sweongyo   Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
276204922Sweongyo   References: Sec 3011 / CVE-2016-2516 / VU#718152
277204922Sweongyo   Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
278204922Sweongyo   	4.3.0 up to, but not including 4.3.92
279204922Sweongyo   CVSS2: MED 6.3 - (AV:N/AC:M/Au:S/C:N/I:N/A:C)
280204922Sweongyo   CVSS3: MED 4.2 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
281204922Sweongyo   Summary: If ntpd was expressly configured to allow for remote
282204922Sweongyo   	configuration, a malicious user who knows the controlkey for
283204922Sweongyo	ntpq or the requestkey for ntpdc (if mode7 is expressly enabled)
284204922Sweongyo	can create a session with ntpd and if an existing association is
285204922Sweongyo	unconfigured using the same IP twice on the unconfig directive
286204922Sweongyo	line, ntpd will abort.
287204922Sweongyo   Mitigation:
288204922Sweongyo	Implement BCP-38.
289204922Sweongyo	Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
290204922Sweongyo	    or the NTP Public Services Project Download Page
291204922Sweongyo	Properly monitor your ntpd instances
292204922Sweongyo   Credit: This weakness was discovered by Yihan Lian of the Cloud
293204922Sweongyo   	Security Team, Qihoo 360.
294204922Sweongyo
295204922Sweongyo* Refclock impersonation vulnerability
296204922Sweongyo   Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
297204922Sweongyo   References: Sec 3020 / CVE-2016-1551
298204922Sweongyo   Affects: On a very limited number of OSes, all NTP releases up to but
299204922Sweongyo	not including 4.2.8p7, and 4.3.0 up to but not including 4.3.92.
300204922Sweongyo	By "very limited number of OSes" we mean no general-purpose OSes
301204922Sweongyo	have yet been identified that have this vulnerability.
302204922Sweongyo   CVSSv2: LOW 2.6 - (AV:N/AC:H/Au:N/C:N/I:P/A:N)
303204922Sweongyo   CVSSv3: LOW 3.7 - CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
304204922Sweongyo   Summary: While most OSes implement martian packet filtering in their
305204922Sweongyo   	network stack, at least regarding 127.0.0.0/8, some will allow
306204922Sweongyo	packets claiming to be from 127.0.0.0/8 that arrive over a
307204922Sweongyo	physical network. On these OSes, if ntpd is configured to use a
308204922Sweongyo	reference clock an attacker can inject packets over the network
309204922Sweongyo	that look like they are coming from that reference clock.
310204922Sweongyo   Mitigation:
311204922Sweongyo        Implement martian packet filtering and BCP-38.
312204922Sweongyo        Configure ntpd to use an adequate number of time sources.
313204922Sweongyo        Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
314204922Sweongyo	    or the NTP Public Services Project Download Page
315204922Sweongyo        If you are unable to upgrade and if you are running an OS that
316204922Sweongyo	    has this vulnerability, implement martian packet filters and
317204922Sweongyo	    lobby your OS vendor to fix this problem, or run your
318204922Sweongyo	    refclocks on computers that use OSes that are not vulnerable
319204922Sweongyo	    to these attacks and have your vulnerable machines get their
320204922Sweongyo	    time from protected resources.
321204922Sweongyo        Properly monitor your ntpd instances.
322204922Sweongyo   Credit: This weakness was discovered by Matt Street and others of
323204922Sweongyo   	Cisco ASIG. 
324204922Sweongyo
325204922SweongyoThe following issues were fixed in earlier releases and contain
326204922Sweongyoimprovements in 4.2.8p7:
327204922Sweongyo
328204922Sweongyo* Clients that receive a KoD should validate the origin timestamp field.
329204922Sweongyo   References: Sec 2901 / CVE-2015-7704, CVE-2015-7705
330204922Sweongyo   Affects: All ntp-4 releases up to, but not including 4.2.8p7,
331204922Sweongyo   Summary: Improvements to the fixes incorporated into 4.2.8p4 and 4.3.77.
332204922Sweongyo
333204922Sweongyo* Skeleton key: passive server with trusted key can serve time.
334204922Sweongyo   References: Sec 2936 / CVE-2015-7974
335204922Sweongyo   Affects: All ntp-4 releases up to, but not including 4.2.8p7,
336204922Sweongyo   Summary: Improvements to the fixes incorporated in t 4.2.8p6 and 4.3.90.
337204922Sweongyo
338204922SweongyoTwo other vulnerabilities have been reported, and the mitigations
339204922Sweongyofor these are as follows:
340204922Sweongyo
341204922Sweongyo* Interleave-pivot
342204922Sweongyo   Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
343204922Sweongyo   References: Sec 2978 / CVE-2016-1548
344204922Sweongyo   Affects: All ntp-4 releases.
345204922Sweongyo   CVSSv2: MED 6.4 - (AV:N/AC:L/Au:N/C:N/I:P/A:P)
346204922Sweongyo   CVSSv3: MED 7.2 - CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:L
347204922Sweongyo   Summary: It is possible to change the time of an ntpd client or deny
348204922Sweongyo   	service to an ntpd client by forcing it to change from basic
349204922Sweongyo	client/server mode to interleaved symmetric mode. An attacker
350204922Sweongyo	can spoof a packet from a legitimate ntpd server with an origin
351204922Sweongyo	timestamp that matches the peer->dst timestamp recorded for that
352204922Sweongyo	server. After making this switch, the client will reject all
353204922Sweongyo	future legitimate server responses. It is possible to force the
354204922Sweongyo	victim client to move time after the mode has been changed.
355204922Sweongyo	ntpq gives no indication that the mode has been switched.
356204922Sweongyo   Mitigation:
357204922Sweongyo        Implement BCP-38.
358204922Sweongyo        Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
359204922Sweongyo	    or the NTP Public Services Project Download Page.  These
360204922Sweongyo	    versions will not dynamically "flip" into interleave mode
361204922Sweongyo	    unless configured to do so.
362204922Sweongyo        Properly monitor your ntpd instances.
363204922Sweongyo   Credit: This weakness was discovered by Miroslav Lichvar of RedHat
364204922Sweongyo   	and separately by Jonathan Gardner of Cisco ASIG.
365204922Sweongyo
366204922Sweongyo* Sybil vulnerability: ephemeral association attack
367204922Sweongyo   Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
368204922Sweongyo   References: Sec 3012 / CVE-2016-1549
369204922Sweongyo   Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
370203319Sweongyo   	4.3.0 up to, but not including 4.3.92
371203319Sweongyo   CVSSv2: LOW 3.5 - (AV:N/AC:M/Au:S/C:N/I:P/A:N)
372203319Sweongyo   CVSS3v: MED 5.3 - CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N
373203319Sweongyo   Summary: ntpd can be vulnerable to Sybil attacks. If one is not using
374203319Sweongyo   	the feature introduced in ntp-4.2.8p6 allowing an optional 4th
375203319Sweongyo	field in the ntp.keys file to specify which IPs can serve time,
376203319Sweongyo	a malicious authenticated peer can create arbitrarily-many
377203319Sweongyo	ephemeral associations in order to win the clock selection of
378203319Sweongyo	ntpd and modify a victim's clock.
379203319Sweongyo   Mitigation:
380203319Sweongyo        Implement BCP-38.
381203319Sweongyo        Use the 4th field in the ntp.keys file to specify which IPs
382203319Sweongyo	    can be time servers.
383203319Sweongyo        Properly monitor your ntpd instances.
384203319Sweongyo   Credit: This weakness was discovered by Matthew Van Gundy of Cisco ASIG. 
385203319Sweongyo
386203319SweongyoOther fixes:
387203319Sweongyo
388203319Sweongyo* [Bug 2831]  Segmentation Fault in DNS lookup during startup. perlinger@ntp.org
389203944Sweongyo  - fixed yet another race condition in the threaded resolver code.
390203944Sweongyo* [Bug 2858] bool support.  Use stdbool.h when available.  HStenn.
391203944Sweongyo* [Bug 2879] Improve NTP security against timing attacks. perlinger@ntp.org
392203944Sweongyo  - integrated patches by Loganaden Velvidron <logan@ntp.org>
393203944Sweongyo    with some modifications & unit tests
394203944Sweongyo* [Bug 2960] async name resolution fixes for chroot() environments.
395203319Sweongyo  Reinhard Max.
396203319Sweongyo* [Bug 2994] Systems with HAVE_SIGNALED_IO fail to compile. perlinger@ntp.org
397203319Sweongyo* [Bug 2995] Fixes to compile on Windows
398203319Sweongyo* [Bug 2999] out-of-bounds access in 'is_safe_filename()'. perlinger@ntp.org
399203944Sweongyo* [Bug 3013] Fix for ssl_init.c SHA1 test. perlinger@ntp.org
400203319Sweongyo  - Patch provided by Ch. Weisgerber
401203944Sweongyo* [Bug 3015] ntpq: config-from-file: "request contains an unprintable character"
402203319Sweongyo  - A change related to [Bug 2853] forbids trailing white space in
403203944Sweongyo    remote config commands. perlinger@ntp.org
404203944Sweongyo* [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE
405203319Sweongyo  - report and patch from Aleksandr Kostikov.
406203319Sweongyo  - Overhaul of Windows IO completion port handling. perlinger@ntp.org
407203944Sweongyo* [Bug 3022] authkeys.c should be refactored. perlinger@ntp.org
408203944Sweongyo  - fixed memory leak in access list (auth[read]keys.c)
409203944Sweongyo  - refactored handling of key access lists (auth[read]keys.c)
410203944Sweongyo  - reduced number of error branches (authreadkeys.c)
411203944Sweongyo* [Bug 3023] ntpdate cannot correct dates in the future. perlinger@ntp.org
412203944Sweongyo* [Bug 3030] ntpq needs a general way to specify refid output format.  HStenn.
413203944Sweongyo* [Bug 3031] ntp broadcastclient unable to synchronize to an server
414203944Sweongyo             when the time of server changed. perlinger@ntp.org
415203944Sweongyo  - Check the initial delay calculation and reject/unpeer the broadcast
416203944Sweongyo    server if the delay exceeds 50ms. Retry again after the next
417203944Sweongyo    broadcast packet.
418203944Sweongyo* [Bug 3036] autokey trips an INSIST in authistrustedip().  Harlan Stenn.
419203944Sweongyo* Document ntp.key's optional IP list in authenetic.html.  Harlan Stenn.
420203944Sweongyo* Update html/xleave.html documentation.  Harlan Stenn.
421203944Sweongyo* Update ntp.conf documentation.  Harlan Stenn.
422203944Sweongyo* Fix some Credit: attributions in the NEWS file.  Harlan Stenn.
423203944Sweongyo* Fix typo in html/monopt.html.  Harlan Stenn.
424203319Sweongyo* Add README.pullrequests.  Harlan Stenn.
425203319Sweongyo* Cleanup to include/ntp.h.  Harlan Stenn.
426203944Sweongyo
427203944SweongyoNew option to 'configure':
428203944Sweongyo
429203319SweongyoWhile looking in to the issues around Bug 2978, the "interleave pivot"
430203319Sweongyoissue, it became clear that there are some intricate and unresolved
431203319Sweongyoissues with interleave operations.  We also realized that the interleave
432203319Sweongyoprotocol was never added to the NTPv4 Standard, and it should have been.
433203319Sweongyo
434203319SweongyoInterleave mode was first released in July of 2008, and can be engaged
435203319Sweongyoin two ways.  Any 'peer' and 'broadcast' lines in the ntp.conf file may
436203319Sweongyocontain the 'xleave' option, which will expressly enable interlave mode
437203319Sweongyofor that association.  Additionally, if a time packet arrives and is
438203319Sweongyofound inconsistent with normal protocol behavior but has certain
439203944Sweongyocharacteristics that are compatible with interleave mode, NTP will
440203944Sweongyodynamically switch to interleave mode.  With sufficient knowledge, an
441203944Sweongyoattacker can send a crafted forged packet to an NTP instance that
442203944Sweongyotriggers only one side to enter interleaved mode.
443203944Sweongyo
444203319SweongyoTo prevent this attack until we can thoroughly document, describe,
445203319Sweongyofix, and test the dynamic interleave mode, we've added a new
446203319Sweongyo'configure' option to the build process:
447203319Sweongyo
448203319Sweongyo --enable-dynamic-interleave
449203319Sweongyo
450203319SweongyoThis option controls whether or not NTP will, if conditions are right,
451203319Sweongyoengage dynamic interleave mode.  Dynamic interleave mode is disabled by
452203319Sweongyodefault in ntp-4.2.8p7.
453203319Sweongyo
454203319Sweongyo---
455203319SweongyoNTP 4.2.8p6 (Harlan Stenn <stenn@ntp.org>, 2016/01/20) 
456203319Sweongyo
457203319SweongyoFocus: Security, Bug fixes, enhancements.
458203319Sweongyo
459203319SweongyoSeverity: MEDIUM
460203319Sweongyo
461203319SweongyoIn addition to bug fixes and enhancements, this release fixes the
462203319Sweongyofollowing 1 low- and 8 medium-severity vulnerabilities:
463203319Sweongyo
464203319Sweongyo* Potential Infinite Loop in 'ntpq'
465203319Sweongyo   Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
466203319Sweongyo   References: Sec 2548 / CVE-2015-8158
467203319Sweongyo   Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
468203319Sweongyo	4.3.0 up to, but not including 4.3.90
469203319Sweongyo   CVSS2: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3 - MEDIUM
470203319Sweongyo   CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N Base Score: 5.3 - MEDIUM
471203319Sweongyo   Summary: 'ntpq' processes incoming packets in a loop in 'getresponse()'.
472203319Sweongyo	The loop's only stopping conditions are receiving a complete and
473203319Sweongyo	correct response or hitting a small number of error conditions.
474203319Sweongyo	If the packet contains incorrect values that don't trigger one of
475203319Sweongyo	the error conditions, the loop continues to receive new packets.
476203319Sweongyo	Note well, this is an attack against an instance of 'ntpq', not
477203319Sweongyo	'ntpd', and this attack requires the attacker to do one of the
478203319Sweongyo	following:
479203319Sweongyo	* Own a malicious NTP server that the client trusts
480203319Sweongyo	* Prevent a legitimate NTP server from sending packets to
481203319Sweongyo	    the 'ntpq' client
482203319Sweongyo	* MITM the 'ntpq' communications between the 'ntpq' client
483203319Sweongyo	    and the NTP server
484203319Sweongyo   Mitigation:
485203319Sweongyo	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
486203319Sweongyo	or the NTP Public Services Project Download Page
487203319Sweongyo   Credit: This weakness was discovered by Jonathan Gardner of Cisco ASIG.
488203319Sweongyo
489203319Sweongyo* 0rigin: Zero Origin Timestamp Bypass
490203319Sweongyo   Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
491203319Sweongyo   References: Sec 2945 / CVE-2015-8138
492203319Sweongyo   Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
493203319Sweongyo	4.3.0 up to, but not including 4.3.90
494203319Sweongyo   CVSS2: (AV:N/AC:L/Au:N/C:N/I:P/A:N) Base Score: 5.0 - MEDIUM
495203319Sweongyo   CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N Base Score: 5.3 - MEDIUM
496203319Sweongyo	(3.7 - LOW if you score AC:L)
497203319Sweongyo   Summary: To distinguish legitimate peer responses from forgeries, a
498203319Sweongyo	client attempts to verify a response packet by ensuring that the
499203319Sweongyo	origin timestamp in the packet matches the origin timestamp it
500203319Sweongyo	transmitted in its last request.  A logic error exists that
501203319Sweongyo	allows packets with an origin timestamp of zero to bypass this
502203319Sweongyo	check whenever there is not an outstanding request to the server.
503203319Sweongyo   Mitigation:
504203319Sweongyo	Configure 'ntpd' to get time from multiple sources.
505203319Sweongyo	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
506203319Sweongyo	    or the NTP Public Services Project Download Page.
507203319Sweongyo	Monitor your 'ntpd= instances.
508203319Sweongyo   Credit: This weakness was discovered by Matthey Van Gundy and
509203319Sweongyo	Jonathan Gardner of Cisco ASIG.
510203319Sweongyo
511203319Sweongyo* Stack exhaustion in recursive traversal of restriction list
512203319Sweongyo   Date Resolved: Stable (4.2.8p6) 19 Jan 2016
513203319Sweongyo   References: Sec 2940 / CVE-2015-7978
514203319Sweongyo   Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
515203319Sweongyo	4.3.0 up to, but not including 4.3.90
516203319Sweongyo   CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3 - MEDIUM
517203319Sweongyo   Summary: An unauthenticated 'ntpdc reslist' command can cause a
518203319Sweongyo   	segmentation fault in ntpd by exhausting the call stack.
519203319Sweongyo   Mitigation:
520203319Sweongyo	Implement BCP-38.
521203319Sweongyo	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
522203319Sweongyo	    or the NTP Public Services Project Download Page.
523203319Sweongyo	If you are unable to upgrade:
524203319Sweongyo            In ntp-4.2.8, mode 7 is disabled by default. Don't enable it.
525203319Sweongyo	    If you must enable mode 7:
526203319Sweongyo		configure the use of a 'requestkey' to control who can
527203319Sweongyo		    issue mode 7 requests.
528203319Sweongyo		configure 'restrict noquery' to further limit mode 7
529203319Sweongyo		    requests to trusted sources.
530203319Sweongyo		Monitor your ntpd instances.
531203319Sweongyo   Credit: This weakness was discovered by Stephen Gray at Cisco ASIG.
532203319Sweongyo
533204922Sweongyo* Off-path Denial of Service (!DoS) attack on authenticated broadcast mode
534203319Sweongyo   Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
535203319Sweongyo   References: Sec 2942 / CVE-2015-7979
536203319Sweongyo   Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
537203319Sweongyo	4.3.0 up to, but not including 4.3.90
538203319Sweongyo   CVSS: (AV:N/AC:M/Au:N/C:N/I:P/A:P) Base Score: 5.8
539203319Sweongyo   Summary: An off-path attacker can send broadcast packets with bad
540203319Sweongyo	authentication (wrong key, mismatched key, incorrect MAC, etc)
541203319Sweongyo	to broadcast clients. It is observed that the broadcast client
542203319Sweongyo	tears down the association with the broadcast server upon
543203319Sweongyo	receiving just one bad packet.
544203319Sweongyo   Mitigation:
545203319Sweongyo	Implement BCP-38.
546203319Sweongyo	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
547203319Sweongyo	or the NTP Public Services Project Download Page.
548204922Sweongyo	Monitor your 'ntpd' instances.
549204922Sweongyo	If this sort of attack is an active problem for you, you have
550204922Sweongyo	    deeper problems to investigate.  In this case also consider
551204922Sweongyo	    having smaller NTP broadcast domains.
552204922Sweongyo   Credit: This weakness was discovered by Aanchal Malhotra of Boston
553204922Sweongyo   	University.
554204922Sweongyo
555204922Sweongyo* reslist NULL pointer dereference
556204922Sweongyo   Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
557204922Sweongyo   References: Sec 2939 / CVE-2015-7977
558204922Sweongyo   Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
559204922Sweongyo	4.3.0 up to, but not including 4.3.90
560204922Sweongyo   CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3 - MEDIUM
561204922Sweongyo   Summary: An unauthenticated 'ntpdc reslist' command can cause a
562204922Sweongyo	segmentation fault in ntpd by causing a NULL pointer dereference.
563204922Sweongyo   Mitigation:
564204922Sweongyo	Implement BCP-38.
565204922Sweongyo	Upgrade to 4.2.8p6, or later, from NTP Project Download Page or
566204922Sweongyo	the NTP Public Services Project Download Page.
567204922Sweongyo	If you are unable to upgrade:
568204922Sweongyo	    mode 7 is disabled by default.  Don't enable it.
569204922Sweongyo	    If you must enable mode 7:
570204922Sweongyo		configure the use of a 'requestkey' to control who can
571203319Sweongyo		    issue mode 7 requests.
572183371Simp		configure 'restrict noquery' to further limit mode 7
573		    requests to trusted sources. 
574	Monitor your ntpd instances.
575   Credit: This weakness was discovered by Stephen Gray of Cisco ASIG.
576
577* 'ntpq saveconfig' command allows dangerous characters in filenames.
578   Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
579   References: Sec 2938 / CVE-2015-7976
580   Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
581	4.3.0 up to, but not including 4.3.90
582   CVSS: (AV:N/AC:L/Au:S/C:N/I:P/A:N) Base Score: 4.0 - MEDIUM
583   Summary: The ntpq saveconfig command does not do adequate filtering
584   	of special characters from the supplied filename.
585	Note well: The ability to use the saveconfig command is controlled
586	by the 'restrict nomodify' directive, and the recommended default
587	configuration is to disable this capability.  If the ability to
588	execute a 'saveconfig' is required, it can easily (and should) be
589	limited and restricted to a known small number of IP addresses.
590   Mitigation:
591	Implement BCP-38.
592	use 'restrict default nomodify' in your 'ntp.conf' file.
593	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page.
594	If you are unable to upgrade:
595	    build NTP with 'configure --disable-saveconfig' if you will
596	    	never need this capability, or
597	    use 'restrict default nomodify' in your 'ntp.conf' file.  Be
598		careful about what IPs have the ability to send 'modify'
599		requests to 'ntpd'.
600	Monitor your ntpd instances.
601	'saveconfig' requests are logged to syslog - monitor your syslog files.
602   Credit: This weakness was discovered by Jonathan Gardner of Cisco ASIG.
603
604* nextvar() missing length check in ntpq
605   Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
606   References: Sec 2937 / CVE-2015-7975
607   Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
608	4.3.0 up to, but not including 4.3.90
609   CVSS: (AV:L/AC:H/Au:N/C:N/I:N/A:P) Base Score: 1.2 - LOW
610	If you score A:C, this becomes 4.0.
611   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
612   Summary: ntpq may call nextvar() which executes a memcpy() into the
613	name buffer without a proper length check against its maximum
614	length of 256 bytes. Note well that we're taking about ntpq here.
615	The usual worst-case effect of this vulnerability is that the
616	specific instance of ntpq will crash and the person or process
617	that did this will have stopped themselves.
618   Mitigation:
619	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
620	    or the NTP Public Services Project Download Page.
621	If you are unable to upgrade:
622	    If you have scripts that feed input to ntpq make sure there are
623		some sanity checks on the input received from the "outside".
624	    This is potentially more dangerous if ntpq is run as root. 
625   Credit: This weakness was discovered by Jonathan Gardner at Cisco ASIG.
626
627* Skeleton Key: Any trusted key system can serve time
628   Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
629   References: Sec 2936 / CVE-2015-7974
630   Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
631	4.3.0 up to, but not including 4.3.90
632   CVSS: (AV:N/AC:H/Au:S/C:N/I:C/A:N) Base Score: 4.9
633   Summary: Symmetric key encryption uses a shared trusted key. The
634	reported title for this issue was "Missing key check allows
635	impersonation between authenticated peers" and the report claimed
636	"A key specified only for one server should only work to
637	authenticate that server, other trusted keys should be refused."
638	Except there has never been any correlation between this trusted
639	key and server v. clients machines and there has never been any
640	way to specify a key only for one server. We have treated this as
641	an enhancement request, and ntp-4.2.8p6 includes other checks and
642	tests to strengthen clients against attacks coming from broadcast
643	servers.
644   Mitigation:
645	Implement BCP-38.
646	If this scenario represents a real or a potential issue for you,
647	    upgrade to 4.2.8p6, or later, from the NTP Project Download
648	    Page or the NTP Public Services Project Download Page, and
649	    use the new field in the ntp.keys file that specifies the list
650	    of IPs that are allowed to serve time. Note that this alone
651	    will not protect against time packets with forged source IP
652	    addresses, however other changes in ntp-4.2.8p6 provide
653	    significant mitigation against broadcast attacks. MITM attacks
654	    are a different story.
655	If you are unable to upgrade:
656	    Don't use broadcast mode if you cannot monitor your client
657	    	servers.
658	    If you choose to use symmetric keys to authenticate time
659	    	packets in a hostile environment where ephemeral time
660		servers can be created, or if it is expected that malicious
661		time servers will participate in an NTP broadcast domain,
662		limit the number of participating systems that participate
663		in the shared-key group. 
664	Monitor your ntpd instances. 
665   Credit: This weakness was discovered by Matt Street of Cisco ASIG. 
666
667* Deja Vu: Replay attack on authenticated broadcast mode
668   Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
669   References: Sec 2935 / CVE-2015-7973
670   Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
671   	4.3.0 up to, but not including 4.3.90
672   CVSS: (AV:A/AC:M/Au:N/C:N/I:P/A:P) Base Score: 4.3 - MEDIUM
673   Summary: If an NTP network is configured for broadcast operations then
674   	either a man-in-the-middle attacker or a malicious participant
675	that has the same trusted keys as the victim can replay time packets.
676   Mitigation:
677	Implement BCP-38.
678	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
679	    or the NTP Public Services Project Download Page.
680	If you are unable to upgrade:
681	    Don't use broadcast mode if you cannot monitor your client servers.
682	Monitor your ntpd instances.
683   Credit: This weakness was discovered by Aanchal Malhotra of Boston
684	University.
685
686Other fixes:
687
688* [Bug 2772] adj_systime overflows tv_usec. perlinger@ntp.org
689* [Bug 2814] msyslog deadlock when signaled. perlinger@ntp.org
690  - applied patch by shenpeng11@huawei.com with minor adjustments
691* [Bug 2882] Look at ntp_request.c:list_peers_sum(). perlinger@ntp.org
692* [Bug 2891] Deadlock in deferred DNS lookup framework. perlinger@ntp.org
693* [Bug 2892] Several test cases assume IPv6 capabilities even when
694             IPv6 is disabled in the build. perlinger@ntp.org
695  - Found this already fixed, but validation led to cleanup actions.
696* [Bug 2905] DNS lookups broken. perlinger@ntp.org
697  - added limits to stack consumption, fixed some return code handling
698* [Bug 2971] ntpq bails on ^C: select fails: Interrupted system call
699  - changed stacked/nested handling of CTRL-C. perlinger@ntp.org
700  - make CTRL-C work for retrieval and printing od MRU list. perlinger@ntp.org
701* [Bug 2980] reduce number of warnings. perlinger@ntp.org
702  - integrated several patches from Havard Eidnes (he@uninett.no)
703* [Bug 2985] bogus calculation in authkeys.c perlinger@ntp.org
704  - implement 'auth_log2()' using integer bithack instead of float calculation
705* Make leapsec_query debug messages less verbose.  Harlan Stenn.
706
707---
708NTP 4.2.8p5 (Harlan Stenn <stenn@ntp.org>, 2016/01/07) 
709
710Focus: Security, Bug fixes, enhancements.
711
712Severity: MEDIUM
713
714In addition to bug fixes and enhancements, this release fixes the
715following medium-severity vulnerability:
716
717* Small-step/big-step.  Close the panic gate earlier.
718    References: Sec 2956, CVE-2015-5300
719    Affects: All ntp-4 releases up to, but not including 4.2.8p5, and
720	4.3.0 up to, but not including 4.3.78
721    CVSS3: (AV:N/AC:H/PR:H/UI:R/S:C/C:L/I:N/A:L) Base Score: 4.0, MEDIUM
722    Summary: If ntpd is always started with the -g option, which is
723	common and against long-standing recommendation, and if at the
724	moment ntpd is restarted an attacker can immediately respond to
725	enough requests from enough sources trusted by the target, which
726	is difficult and not common, there is a window of opportunity
727	where the attacker can cause ntpd to set the time to an
728	arbitrary value. Similarly, if an attacker is able to respond
729	to enough requests from enough sources trusted by the target,
730	the attacker can cause ntpd to abort and restart, at which
731	point it can tell the target to set the time to an arbitrary
732	value if and only if ntpd was re-started against long-standing
733	recommendation with the -g flag, or if ntpd was not given the
734	-g flag, the attacker can move the target system's time by at
735	most 900 seconds' time per attack.
736    Mitigation:
737	Configure ntpd to get time from multiple sources.
738	Upgrade to 4.2.8p5, or later, from the NTP Project Download
739	    Page or the NTP Public Services Project Download Page
740	As we've long documented, only use the -g option to ntpd in
741	    cold-start situations.
742	Monitor your ntpd instances. 
743    Credit: This weakness was discovered by Aanchal Malhotra,
744	Isaac E. Cohen, and Sharon Goldberg at Boston University. 
745
746    NOTE WELL: The -g flag disables the limit check on the panic_gate
747	in ntpd, which is 900 seconds by default. The bug identified by
748	the researchers at Boston University is that the panic_gate
749	check was only re-enabled after the first change to the system
750	clock that was greater than 128 milliseconds, by default. The
751	correct behavior is that the panic_gate check should be
752	re-enabled after any initial time correction.
753
754	If an attacker is able to inject consistent but erroneous time
755	responses to your systems via the network or "over the air",
756	perhaps by spoofing radio, cellphone, or navigation satellite
757	transmissions, they are in a great position to affect your
758	system's clock. There comes a point where your very best
759	defenses include:
760
761	    Configure ntpd to get time from multiple sources.
762	    Monitor your ntpd instances. 
763
764Other fixes:
765
766* Coverity submission process updated from Coverity 5 to Coverity 7.
767  The NTP codebase has been undergoing regular Coverity scans on an
768  ongoing basis since 2006.  As part of our recent upgrade from
769  Coverity 5 to Coverity 7, Coverity identified 16 nits in some of
770  the newly-written Unity test programs.  These were fixed.
771* [Bug 2829] Clean up pipe_fds in ntpd.c  perlinger@ntp.org
772* [Bug 2887] stratum -1 config results as showing value 99
773  - fudge stratum should only accept values [0..16]. perlinger@ntp.org
774* [Bug 2932] Update leapsecond file info in miscopt.html.  CWoodbury, HStenn.
775* [Bug 2934] tests/ntpd/t-ntp_scanner.c has a magic constant wired in.  HMurray
776* [Bug 2944] errno is not preserved properly in ntpdate after sendto call.
777  - applied patch by Christos Zoulas.  perlinger@ntp.org
778* [Bug 2952] Peer associations broken by fix for Bug 2901/CVE-2015-7704.
779* [Bug 2954] Version 4.2.8p4 crashes on startup on some OSes.
780  - fixed data race conditions in threaded DNS worker. perlinger@ntp.org
781  - limit threading warm-up to linux; FreeBSD bombs on it. perlinger@ntp.org
782* [Bug 2957] 'unsigned int' vs 'size_t' format clash. perlinger@ntp.org
783  - accept key file only if there are no parsing errors
784  - fixed size_t/u_int format clash
785  - fixed wrong use of 'strlcpy'
786* [Bug 2958] ntpq: fatal error messages need a final newline. Craig Leres.
787* [Bug 2962] truncation of size_t/ptrdiff_t on 64bit targets. perlinger@ntp.org
788  - fixed several other warnings (cast-alignment, missing const, missing prototypes)
789  - promote use of 'size_t' for values that express a size
790  - use ptr-to-const for read-only arguments
791  - make sure SOCKET values are not truncated (win32-specific)
792  - format string fixes
793* [Bug 2965] Local clock didn't work since 4.2.8p4.  Martin Burnicki.
794* [Bug 2967] ntpdate command suffers an assertion failure
795  - fixed ntp_rfc2553.c to return proper address length. perlinger@ntp.org
796* [Bug 2969]  Seg fault from ntpq/mrulist when looking at server with
797              lots of clients. perlinger@ntp.org
798* [Bug 2971] ntpq bails on ^C: select fails: Interrupted system call
799  - changed stacked/nested handling of CTRL-C. perlinger@ntp.org
800* Unity cleanup for FreeBSD-6.4.  Harlan Stenn.
801* Unity test cleanup.  Harlan Stenn.
802* Libevent autoconf pthread fixes for FreeBSD-10.  Harlan Stenn.
803* Header cleanup in tests/sandbox/uglydate.c.  Harlan Stenn.
804* Header cleanup in tests/libntp/sfptostr.c.  Harlan Stenn.
805* Quiet a warning from clang.  Harlan Stenn.
806
807---
808NTP 4.2.8p4 (Harlan Stenn <stenn@ntp.org>, 2015/10/21) 
809
810Focus: Security, Bug fixes, enhancements.
811
812Severity: MEDIUM
813
814In addition to bug fixes and enhancements, this release fixes the
815following 13 low- and medium-severity vulnerabilities:
816
817* Incomplete vallen (value length) checks in ntp_crypto.c, leading
818  to potential crashes or potential code injection/information leakage.
819
820    References: Sec 2899, Sec 2671, CVE-2015-7691, CVE-2015-7692, CVE-2015-7702
821    Affects: All ntp-4 releases up to, but not including 4.2.8p4,
822    	and 4.3.0 up to, but not including 4.3.77
823    CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6
824    Summary: The fix for CVE-2014-9750 was incomplete in that there were
825    	certain code paths where a packet with particular autokey operations
826	that contained malicious data was not always being completely
827	validated. Receipt of these packets can cause ntpd to crash.
828    Mitigation:
829        Don't use autokey.
830	Upgrade to 4.2.8p4, or later, from the NTP Project Download
831	    Page or the NTP Public Services Project Download Page
832	Monitor your ntpd instances. 
833	Credit: This weakness was discovered by Tenable Network Security. 
834
835* Clients that receive a KoD should validate the origin timestamp field.
836
837    References: Sec 2901 / CVE-2015-7704, CVE-2015-7705
838    Affects: All ntp-4 releases up to, but not including 4.2.8p4,
839	and 4.3.0 up to, but not including 4.3.77
840    CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3-5.0 at worst
841    Summary: An ntpd client that honors Kiss-of-Death responses will honor
842    	KoD messages that have been forged by an attacker, causing it to
843	delay or stop querying its servers for time updates. Also, an
844	attacker can forge packets that claim to be from the target and
845	send them to servers often enough that a server that implements
846	KoD rate limiting will send the target machine a KoD response to
847	attempt to reduce the rate of incoming packets, or it may also
848	trigger a firewall block at the server for packets from the target
849	machine. For either of these attacks to succeed, the attacker must
850	know what servers the target is communicating with. An attacker
851	can be anywhere on the Internet and can frequently learn the
852	identity of the target's time source by sending the target a
853	time query.
854    Mitigation:
855        Implement BCP-38.
856	Upgrade to 4.2.8p4, or later, from the NTP Project Download Page
857	    or the NTP Public Services Project Download Page
858	If you can't upgrade, restrict who can query ntpd to learn who
859	    its servers are, and what IPs are allowed to ask your system
860	    for the time. This mitigation is heavy-handed.
861	Monitor your ntpd instances. 
862    Note:
863    	4.2.8p4 protects against the first attack. For the second attack,
864    	all we can do is warn when it is happening, which we do in 4.2.8p4.
865    Credit: This weakness was discovered by Aanchal Malhotra,
866    	Issac E. Cohen, and Sharon Goldberg of Boston University. 
867
868* configuration directives to change "pidfile" and "driftfile" should
869  only be allowed locally. 
870
871  References: Sec 2902 / CVE-2015-5196
872  Affects: All ntp-4 releases up to, but not including 4.2.8p4,
873	and 4.3.0 up to, but not including 4.3.77
874   CVSS: (AV:N/AC:H/Au:M/C:N/I:C/A:C) Base Score: 6.2 worst case
875   Summary: If ntpd is configured to allow for remote configuration,
876	and if the (possibly spoofed) source IP address is allowed to
877	send remote configuration requests, and if the attacker knows
878	the remote configuration password, it's possible for an attacker
879	to use the "pidfile" or "driftfile" directives to potentially
880	overwrite other files.
881   Mitigation:
882	Implement BCP-38.
883	Upgrade to 4.2.8p4, or later, from the NTP Project Download
884	    Page or the NTP Public Services Project Download Page
885	If you cannot upgrade, don't enable remote configuration.
886	If you must enable remote configuration and cannot upgrade,
887	    remote configuration of NTF's ntpd requires:
888	    - an explicitly configured trustedkey, and you should also
889	    	configure a controlkey.
890	    - access from a permitted IP. You choose the IPs.
891	    - authentication. Don't disable it. Practice secure key safety. 
892	Monitor your ntpd instances. 
893   Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 
894
895* Slow memory leak in CRYPTO_ASSOC 
896
897  References: Sec 2909 / CVE-2015-7701
898  Affects: All ntp-4 releases that use autokey up to, but not
899    including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77
900  CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 0.0 best/usual case,
901  	4.6 otherwise
902  Summary: If ntpd is configured to use autokey, then an attacker can
903	send packets to ntpd that will, after several days of ongoing
904	attack, cause it to run out of memory.
905  Mitigation:
906	Don't use autokey.
907	Upgrade to 4.2.8p4, or later, from the NTP Project Download
908	    Page or the NTP Public Services Project Download Page
909	Monitor your ntpd instances. 
910  Credit: This weakness was discovered by Tenable Network Security. 
911
912* mode 7 loop counter underrun
913
914  References:  Sec 2913 / CVE-2015-7848 / TALOS-CAN-0052
915  Affects: All ntp-4 releases up to, but not including 4.2.8p4,
916  	and 4.3.0 up to, but not including 4.3.77
917  CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6
918  Summary: If ntpd is configured to enable mode 7 packets, and if the
919	use of mode 7 packets is not properly protected thru the use of
920	the available mode 7 authentication and restriction mechanisms,
921	and if the (possibly spoofed) source IP address is allowed to
922	send mode 7 queries, then an attacker can send a crafted packet
923	to ntpd that will cause it to crash.
924  Mitigation:
925	Implement BCP-38.
926	Upgrade to 4.2.8p4, or later, from the NTP Project Download
927	    Page or the NTP Public Services Project Download Page.
928	      If you are unable to upgrade:
929	In ntp-4.2.8, mode 7 is disabled by default. Don't enable it.
930	If you must enable mode 7:
931	    configure the use of a requestkey to control who can issue
932		mode 7 requests.
933	    configure restrict noquery to further limit mode 7 requests
934		to trusted sources. 
935	Monitor your ntpd instances. 
936Credit: This weakness was discovered by Aleksandar Nikolic of Cisco Talos. 
937
938* memory corruption in password store
939
940  References: Sec 2916 / CVE-2015-7849 / TALOS-CAN-0054
941  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
942  CVSS: (AV:N/AC:H/Au:M/C:N/I:C/A:C) Base Score: 6.8, worst case
943  Summary: If ntpd is configured to allow remote configuration, and if
944	the (possibly spoofed) source IP address is allowed to send
945	remote configuration requests, and if the attacker knows the
946	remote configuration password or if ntpd was configured to
947	disable authentication, then an attacker can send a set of
948	packets to ntpd that may cause a crash or theoretically
949	perform a code injection attack.
950  Mitigation:
951	Implement BCP-38.
952	Upgrade to 4.2.8p4, or later, from the NTP Project Download
953	    Page or the NTP Public Services Project Download Page.
954	If you are unable to upgrade, remote configuration of NTF's
955	    ntpd requires:
956		an explicitly configured "trusted" key. Only configure
957			this if you need it.
958		access from a permitted IP address. You choose the IPs.
959		authentication. Don't disable it. Practice secure key safety. 
960	Monitor your ntpd instances. 
961  Credit: This weakness was discovered by Yves Younan of Cisco Talos. 
962
963* Infinite loop if extended logging enabled and the logfile and
964  keyfile are the same.
965
966    References: Sec 2917 / CVE-2015-7850 / TALOS-CAN-0055
967    Affects: All ntp-4 releases up to, but not including 4.2.8p4,
968	and 4.3.0 up to, but not including 4.3.77
969    CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6, worst case
970    Summary: If ntpd is configured to allow remote configuration, and if
971	the (possibly spoofed) source IP address is allowed to send
972	remote configuration requests, and if the attacker knows the
973	remote configuration password or if ntpd was configured to
974	disable authentication, then an attacker can send a set of
975	packets to ntpd that will cause it to crash and/or create a
976	potentially huge log file. Specifically, the attacker could
977	enable extended logging, point the key file at the log file,
978	and cause what amounts to an infinite loop.
979    Mitigation:
980	Implement BCP-38.
981	Upgrade to 4.2.8p4, or later, from the NTP Project Download
982	    Page or the NTP Public Services Project Download Page.
983	If you are unable to upgrade, remote configuration of NTF's ntpd
984	  requires:
985            an explicitly configured "trusted" key. Only configure this
986	    	if you need it.
987            access from a permitted IP address. You choose the IPs.
988            authentication. Don't disable it. Practice secure key safety. 
989        Monitor your ntpd instances. 
990    Credit: This weakness was discovered by Yves Younan of Cisco Talos. 
991
992* Potential path traversal vulnerability in the config file saving of
993  ntpd on VMS.
994
995  References: Sec 2918 / CVE-2015-7851 / TALOS-CAN-0062
996  Affects: All ntp-4 releases running under VMS up to, but not
997	including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77
998  CVSS: (AV:N/AC:H/Au:M/C:N/I:P/A:C) Base Score: 5.2, worst case
999  Summary: If ntpd is configured to allow remote configuration, and if
1000	the (possibly spoofed) IP address is allowed to send remote
1001	configuration requests, and if the attacker knows the remote
1002	configuration password or if ntpd was configured to disable
1003	authentication, then an attacker can send a set of packets to
1004	ntpd that may cause ntpd to overwrite files.
1005  Mitigation:
1006	Implement BCP-38.
1007	Upgrade to 4.2.8p4, or later, from the NTP Project Download
1008	    Page or the NTP Public Services Project Download Page.
1009	If you are unable to upgrade, remote configuration of NTF's ntpd
1010	    requires:
1011		an explicitly configured "trusted" key. Only configure
1012			this if you need it.
1013		access from permitted IP addresses. You choose the IPs.
1014		authentication. Don't disable it. Practice key security safety. 
1015        Monitor your ntpd instances. 
1016    Credit: This weakness was discovered by Yves Younan of Cisco Talos. 
1017
1018* ntpq atoascii() potential memory corruption
1019
1020  References: Sec 2919 / CVE-2015-7852 / TALOS-CAN-0063
1021  Affects: All ntp-4 releases running up to, but not including 4.2.8p4,
1022	and 4.3.0 up to, but not including 4.3.77
1023  CVSS: (AV:N/AC:H/Au:N/C:N/I:P/A:P) Base Score: 4.0, worst case
1024  Summary: If an attacker can figure out the precise moment that ntpq
1025	is listening for data and the port number it is listening on or
1026	if the attacker can provide a malicious instance ntpd that
1027	victims will connect to then an attacker can send a set of
1028	crafted mode 6 response packets that, if received by ntpq,
1029	can cause ntpq to crash.
1030  Mitigation:
1031	Implement BCP-38.
1032	Upgrade to 4.2.8p4, or later, from the NTP Project Download
1033	    Page or the NTP Public Services Project Download Page.
1034	If you are unable to upgrade and you run ntpq against a server
1035	    and ntpq crashes, try again using raw mode. Build or get a
1036	    patched ntpq and see if that fixes the problem. Report new
1037	    bugs in ntpq or abusive servers appropriately.
1038	If you use ntpq in scripts, make sure ntpq does what you expect
1039	    in your scripts. 
1040  Credit: This weakness was discovered by Yves Younan and
1041  	Aleksander Nikolich of Cisco Talos. 
1042
1043* Invalid length data provided by a custom refclock driver could cause
1044  a buffer overflow. 
1045
1046  References: Sec 2920 / CVE-2015-7853 / TALOS-CAN-0064
1047  Affects: Potentially all ntp-4 releases running up to, but not
1048	including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77
1049	that have custom refclocks
1050  CVSS: (AV:L/AC:H/Au:M/C:C/I:C/A:C) Base Score: 0.0 usual case,
1051	5.9 unusual worst case
1052  Summary: A negative value for the datalen parameter will overflow a
1053	data buffer. NTF's ntpd driver implementations always set this
1054	value to 0 and are therefore not vulnerable to this weakness.
1055	If you are running a custom refclock driver in ntpd and that
1056	driver supplies a negative value for datalen (no custom driver
1057	of even minimal competence would do this) then ntpd would
1058	overflow a data buffer. It is even hypothetically possible
1059	in this case that instead of simply crashing ntpd the attacker
1060	could effect a code injection attack.
1061  Mitigation:
1062	Upgrade to 4.2.8p4, or later, from the NTP Project Download
1063	    Page or the NTP Public Services Project Download Page.
1064	If you are unable to upgrade:
1065		If you are running custom refclock drivers, make sure
1066			the signed datalen value is either zero or positive. 
1067	Monitor your ntpd instances. 
1068  Credit: This weakness was discovered by Yves Younan of Cisco Talos. 
1069
1070* Password Length Memory Corruption Vulnerability
1071
1072  References: Sec 2921 / CVE-2015-7854 / TALOS-CAN-0065
1073  Affects: All ntp-4 releases up to, but not including 4.2.8p4, and
1074  	4.3.0 up to, but not including 4.3.77
1075  CVSS: (AV:N/AC:H/Au:M/C:C/I:C/A:C) Base Score: 0.0 best case,
1076  	1.7 usual case, 6.8, worst case
1077  Summary: If ntpd is configured to allow remote configuration, and if
1078	the (possibly spoofed) source IP address is allowed to send
1079	remote configuration requests, and if the attacker knows the
1080	remote configuration password or if ntpd was (foolishly)
1081	configured to disable authentication, then an attacker can
1082	send a set of packets to ntpd that may cause it to crash,
1083	with the hypothetical possibility of a small code injection.
1084  Mitigation:
1085	Implement BCP-38.
1086	Upgrade to 4.2.8p4, or later, from the NTP Project Download
1087	    Page or the NTP Public Services Project Download Page.
1088	If you are unable to upgrade, remote configuration of NTF's
1089	    ntpd requires:
1090		an explicitly configured "trusted" key. Only configure
1091			this if you need it.
1092		access from a permitted IP address. You choose the IPs.
1093		authentication. Don't disable it. Practice secure key safety. 
1094	Monitor your ntpd instances. 
1095  Credit: This weakness was discovered by Yves Younan and
1096  	Aleksander Nikolich of Cisco Talos. 
1097
1098* decodenetnum() will ASSERT botch instead of returning FAIL on some
1099  bogus values.
1100
1101  References: Sec 2922 / CVE-2015-7855
1102  Affects: All ntp-4 releases up to, but not including 4.2.8p4, and
1103	4.3.0 up to, but not including 4.3.77
1104  CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6, worst case
1105  Summary: If ntpd is fed a crafted mode 6 or mode 7 packet containing
1106	an unusually long data value where a network address is expected,
1107	the decodenetnum() function will abort with an assertion failure
1108	instead of simply returning a failure condition.
1109  Mitigation:
1110	Implement BCP-38.
1111	Upgrade to 4.2.8p4, or later, from the NTP Project Download
1112	    Page or the NTP Public Services Project Download Page.
1113	If you are unable to upgrade:
1114		mode 7 is disabled by default. Don't enable it.
1115		Use restrict noquery to limit who can send mode 6
1116			and mode 7 requests.
1117		Configure and use the controlkey and requestkey
1118			authentication directives to limit who can
1119			send mode 6 and mode 7 requests. 
1120	Monitor your ntpd instances. 
1121  Credit: This weakness was discovered by John D "Doug" Birdwell of IDA.org. 
1122
1123* NAK to the Future: Symmetric association authentication bypass via
1124  crypto-NAK.
1125
1126  References: Sec 2941 / CVE-2015-7871
1127  Affects: All ntp-4 releases between 4.2.5p186 up to but not including
1128  	4.2.8p4, and 4.3.0 up to but not including 4.3.77
1129  CVSS: (AV:N/AC:L/Au:N/C:N/I:P/A:P) Base Score: 6.4
1130  Summary: Crypto-NAK packets can be used to cause ntpd to accept time
1131	from unauthenticated ephemeral symmetric peers by bypassing the
1132	authentication required to mobilize peer associations. This
1133	vulnerability appears to have been introduced in ntp-4.2.5p186
1134	when the code handling mobilization of new passive symmetric
1135	associations (lines 1103-1165) was refactored.
1136  Mitigation:
1137	Implement BCP-38.
1138	Upgrade to 4.2.8p4, or later, from the NTP Project Download
1139	    Page or the NTP Public Services Project Download Page.
1140	If you are unable to upgrade:
1141		Apply the patch to the bottom of the "authentic" check
1142			block around line 1136 of ntp_proto.c. 
1143	Monitor your ntpd instances. 
1144  Credit: This weakness was discovered by Matthew Van Gundy of Cisco ASIG. 
1145
1146Backward-Incompatible changes:
1147* [Bug 2817] Default on Linux is now "rlimit memlock -1".
1148  While the general default of 32M is still the case, under Linux
1149  the default value has been changed to -1 (do not lock ntpd into
1150  memory).  A value of 0 means "lock ntpd into memory with whatever
1151  memory it needs." If your ntp.conf file has an explicit "rlimit memlock"
1152  value in it, that value will continue to be used.
1153
1154* [Bug 2886] Misspelling: "outlyer" should be "outlier".
1155  If you've written a script that looks for this case in, say, the
1156  output of ntpq, you probably want to change your regex matches
1157  from 'outlyer' to 'outl[iy]er'.
1158
1159New features in this release:
1160* 'rlimit memlock' now has finer-grained control.  A value of -1 means
1161  "don't lock ntpd into memore".  This is the default for Linux boxes.
1162  A value of 0 means "lock ntpd into memory" with no limits.  Otherwise
1163  the value is the number of megabytes of memory to lock.  The default
1164  is 32 megabytes.
1165
1166* The old Google Test framework has been replaced with a new framework,
1167  based on http://www.throwtheswitch.org/unity/ .
1168
1169Bug Fixes and Improvements:
1170* [Bug 2332] (reopened) Exercise thread cancellation once before dropping
1171  privileges and limiting resources in NTPD removes the need to link
1172  forcefully against 'libgcc_s' which does not always work. J.Perlinger
1173* [Bug 2595] ntpdate man page quirks.  Hal Murray, Harlan Stenn.
1174* [Bug 2625] Deprecate flag1 in local refclock.  Hal Murray, Harlan Stenn.
1175* [Bug 2817] Stop locking ntpd into memory by default under Linux.  H.Stenn.
1176* [Bug 2821] minor build issues: fixed refclock_gpsdjson.c.  perlinger@ntp.org
1177* [Bug 2823] ntpsweep with recursive peers option doesn't work.  H.Stenn.
1178* [Bug 2849] Systems with more than one default route may never
1179  synchronize.  Brian Utterback.  Note that this patch might need to
1180  be reverted once Bug 2043 has been fixed.
1181* [Bug 2864] 4.2.8p3 fails to compile on Windows. Juergen Perlinger
1182* [Bug 2866] segmentation fault at initgroups().  Harlan Stenn.
1183* [Bug 2867] ntpd with autokey active crashed by 'ntpq -crv'. J.Perlinger
1184* [Bug 2873] libevent should not include .deps/ in the tarball.  H.Stenn
1185* [Bug 2874] Don't distribute generated sntp/tests/fileHandlingTest.h. H.Stenn
1186* [Bug 2875] sntp/Makefile.am: Get rid of DIST_SUBDIRS.  libevent must
1187  be configured for the distribution targets.  Harlan Stenn.
1188* [Bug 2883] ntpd crashes on exit with empty driftfile.  Miroslav Lichvar.
1189* [Bug 2886] Mis-spelling: "outlyer" should be "outlier".  dave@horsfall.org
1190* [Bug 2888] streamline calendar functions.  perlinger@ntp.org
1191* [Bug 2889] ntp-dev-4.3.67 does not build on Windows.  perlinger@ntp.org
1192* [Bug 2890] Ignore ENOBUFS on routing netlink socket.  Konstantin Khlebnikov.
1193* [Bug 2906] make check needs better support for pthreads.  Harlan Stenn.
1194* [Bug 2907] dist* build targets require our libevent/ to be enabled.  HStenn.
1195* [Bug 2912] no munlockall() under Windows.  David Taylor, Harlan Stenn.
1196* libntp/emalloc.c: Remove explicit include of stdint.h.  Harlan Stenn.
1197* Put Unity CPPFLAGS items in unity_config.h.  Harlan Stenn.
1198* tests/ntpd/g_leapsec.cpp typo fix.  Harlan Stenn.
1199* Phase 1 deprecation of google test in sntp/tests/.  Harlan Stenn.
1200* On some versions of HP-UX, inttypes.h does not include stdint.h.  H.Stenn.
1201* top_srcdir can change based on ntp v. sntp.  Harlan Stenn.
1202* sntp/tests/ function parameter list cleanup.  Damir Tomi��.
1203* tests/libntp/ function parameter list cleanup.  Damir Tomi��.
1204* tests/ntpd/ function parameter list cleanup.  Damir Tomi��.
1205* sntp/unity/unity_config.h: handle stdint.h.  Harlan Stenn.
1206* sntp/unity/unity_internals.h: handle *INTPTR_MAX on old Solaris.  H.Stenn.
1207* tests/libntp/timevalops.c and timespecops.c fixed error printing.  D.Tomi��.
1208* tests/libntp/ improvements in code and fixed error printing.  Damir Tomi��.
1209* tests/libntp: a_md5encrypt.c, authkeys.c, buftvtots.c, calendar.c, caljulian.c,
1210  caltontp.c, clocktime.c, humandate.c, hextolfp.c, decodenetnum.c - fixed
1211  formatting; first declaration, then code (C90); deleted unnecessary comments;
1212  changed from sprintf to snprintf; fixed order of includes. Tomasz Flendrich
1213* tests/libntp/lfpfunc.c remove unnecessary include, remove old comments,
1214  fix formatting, cleanup. Tomasz Flendrich
1215* tests/libntp/lfptostr.c remove unnecessary include, add consts, fix formatting.
1216  Tomasz Flendrich
1217* tests/libntp/statestr.c remove empty functions, remove unnecessary include,
1218  fix formatting. Tomasz Flendrich
1219* tests/libntp/modetoa.c fixed formatting. Tomasz Flendrich
1220* tests/libntp/msyslog.c fixed formatting. Tomasz Flendrich
1221* tests/libntp/numtoa.c deleted unnecessary empty functions, fixed formatting.
1222  Tomasz Flendrich
1223* tests/libntp/numtohost.c added const, fixed formatting. Tomasz Flendrich
1224* tests/libntp/refnumtoa.c fixed formatting. Tomasz Flendrich
1225* tests/libntp/ssl_init.c fixed formatting. Tomasz Flendrich
1226* tests/libntp/tvtots.c fixed a bug, fixed formatting. Tomasz Flendrich
1227* tests/libntp/uglydate.c removed an unnecessary include. Tomasz Flendrich
1228* tests/libntp/vi64ops.c removed an unnecessary comment, fixed formatting.
1229* tests/libntp/ymd3yd.c removed an empty function and an unnecessary include,
1230fixed formatting. Tomasz Flendrich
1231* tests/libntp/timespecops.c fixed formatting, fixed the order of includes,
1232  removed unnecessary comments, cleanup. Tomasz Flendrich
1233* tests/libntp/timevalops.c fixed the order of includes, deleted unnecessary
1234  comments, cleanup. Tomasz Flendrich
1235* tests/libntp/sockaddrtest.h making it agree to NTP's conventions of formatting.
1236  Tomasz Flendrich
1237* tests/libntp/lfptest.h cleanup. Tomasz Flendrich
1238* tests/libntp/test-libntp.c fix formatting. Tomasz Flendrich
1239* sntp/tests/crypto.c is now using proper Unity's assertions, fixed formatting.
1240  Tomasz Flendrich
1241* sntp/tests/kodDatabase.c added consts, deleted empty function,
1242  fixed formatting. Tomasz Flendrich
1243* sntp/tests/kodFile.c cleanup, fixed formatting. Tomasz Flendrich
1244* sntp/tests/packetHandling.c is now using proper Unity's assertions,
1245  fixed formatting, deleted unused variable. Tomasz Flendrich
1246* sntp/tests/keyFile.c is now using proper Unity's assertions, fixed formatting.
1247  Tomasz Flendrich
1248* sntp/tests/packetProcessing.c changed from sprintf to snprintf,
1249  fixed formatting. Tomasz Flendrich
1250* sntp/tests/utilities.c is now using proper Unity's assertions, changed
1251  the order of includes, fixed formatting, removed unnecessary comments.
1252  Tomasz Flendrich
1253* sntp/tests/sntptest.h fixed formatting. Tomasz Flendrich
1254* sntp/tests/fileHandlingTest.h.in fixed a possible buffer overflow problem,
1255  made one function do its job, deleted unnecessary prints, fixed formatting.
1256  Tomasz Flendrich
1257* sntp/unity/Makefile.am added a missing header. Tomasz Flendrich
1258* sntp/unity/unity_config.h: Distribute it.  Harlan Stenn.
1259* sntp/libevent/evconfig-private.h: remove generated filefrom SCM.  H.Stenn.
1260* sntp/unity/Makefile.am: fix some broken paths.  Harlan Stenn.
1261* sntp/unity/unity.c: Clean up a printf().  Harlan Stenn.
1262* Phase 1 deprecation of google test in tests/libntp/.  Harlan Stenn.
1263* Don't build sntp/libevent/sample/.  Harlan Stenn.
1264* tests/libntp/test_caltontp needs -lpthread.  Harlan Stenn.
1265* br-flock: --enable-local-libevent.  Harlan Stenn.
1266* Wrote tests for ntpd/ntp_prio_q.c. Tomasz Flendrich
1267* scripts/lib/NTP/Util.pm: stratum output is version-dependent.  Harlan Stenn.
1268* Get rid of the NTP_ prefix on our assertion macros.  Harlan Stenn.
1269* Code cleanup.  Harlan Stenn.
1270* libntp/icom.c: Typo fix.  Harlan Stenn.
1271* util/ntptime.c: initialization nit.  Harlan Stenn.
1272* ntpd/ntp_peer.c:newpeer(): added a DEBUG_REQUIRE(srcadr).  Harlan Stenn.
1273* Add std_unity_tests to various Makefile.am files.  Harlan Stenn.
1274* ntpd/ntp_restrict.c: added a few assertions, created tests for this file.
1275  Tomasz Flendrich
1276* Changed progname to be const in many files - now it's consistent. Tomasz
1277  Flendrich
1278* Typo fix for GCC warning suppression.  Harlan Stenn.
1279* Added tests/ntpd/ntp_scanner.c test. Damir Tomi��.
1280* Added declarations to all Unity tests, and did minor fixes to them.
1281  Reduced the number of warnings by half. Damir Tomi��.
1282* Updated generate_test_runner.rb and updated the sntp/unity/auto directory
1283  with the latest Unity updates from Mark. Damir Tomi��.
1284* Retire google test - phase I.  Harlan Stenn.
1285* Unity test cleanup: move declaration of 'initializing'.  Harlan Stenn.
1286* Update the NEWS file.  Harlan Stenn.
1287* Autoconf cleanup.  Harlan Stenn.
1288* Unit test dist cleanup. Harlan Stenn.
1289* Cleanup various test Makefile.am files.  Harlan Stenn.
1290* Pthread autoconf macro cleanup.  Harlan Stenn.
1291* Fix progname definition in unity runner scripts.  Harlan Stenn.
1292* Clean trailing whitespace in tests/ntpd/Makefile.am.  Harlan Stenn.
1293* Update the patch for bug 2817.  Harlan Stenn.
1294* More updates for bug 2817.  Harlan Stenn.
1295* Fix bugs in tests/ntpd/ntp_prio_q.c.  Harlan Stenn.
1296* gcc on older HPUX may need +allowdups.  Harlan Stenn.
1297* Adding missing MCAST protection.  Harlan Stenn.
1298* Disable certain test programs on certain platforms.  Harlan Stenn.
1299* Implement --enable-problem-tests (on by default).  Harlan Stenn.
1300* build system tweaks.  Harlan Stenn.
1301
1302---
1303NTP 4.2.8p3 (Harlan Stenn <stenn@ntp.org>, 2015/06/29) 
1304
1305Focus: 1 Security fix.  Bug fixes and enhancements.  Leap-second improvements.
1306
1307Severity: MEDIUM
1308
1309Security Fix:
1310
1311* [Sec 2853] Crafted remote config packet can crash some versions of
1312  ntpd.  Aleksis Kauppinen, Juergen Perlinger, Harlan Stenn.
1313
1314Under specific circumstances an attacker can send a crafted packet to
1315cause a vulnerable ntpd instance to crash. This requires each of the
1316following to be true:
1317
13181) ntpd set up to allow remote configuration (not allowed by default), and
13192) knowledge of the configuration password, and
13203) access to a computer entrusted to perform remote configuration. 
1321
1322This vulnerability is considered low-risk.
1323
1324New features in this release:
1325
1326Optional (disabled by default) support to have ntpd provide smeared
1327leap second time.  A specially built and configured ntpd will only
1328offer smeared time in response to client packets.  These response
1329packets will also contain a "refid" of 254.a.b.c, where the 24 bits
1330of a, b, and c encode the amount of smear in a 2:22 integer:fraction 
1331format.  See README.leapsmear and http://bugs.ntp.org/2855 for more
1332information.
1333
1334   *IF YOU CHOOSE TO CONFIGURE NTPD TO PROVIDE LEAP SMEAR TIME*
1335   *BE SURE YOU DO NOT OFFER THAT TIME ON PUBLIC TIMESERVERS.*
1336
1337We've imported the Unity test framework, and have begun converting
1338the existing google-test items to this new framework.  If you want
1339to write new tests or change old ones, you'll need to have ruby
1340installed.  You don't need ruby to run the test suite.
1341
1342Bug Fixes and Improvements:
1343
1344* CID 739725: Fix a rare resource leak in libevent/listener.c.
1345* CID 1295478: Quiet a pedantic potential error from the fix for Bug 2776.
1346* CID 1296235: Fix refclock_jjy.c and correcting type of the driver40-ja.html
1347* CID 1269537: Clean up a line of dead code in getShmTime().
1348* [Bug 1060] Buffer overruns in libparse/clk_rawdcf.c.  Helge Oldach.
1349* [Bug 2590] autogen-5.18.5.
1350* [Bug 2612] restrict: Warn when 'monitor' can't be disabled because
1351  of 'limited'.
1352* [Bug 2650] fix includefile processing.
1353* [Bug 2745] ntpd -x steps clock on leap second
1354   Fixed an initial-value problem that caused misbehaviour in absence of
1355   any leapsecond information.
1356   Do leap second stepping only of the step adjustment is beyond the
1357   proper jump distance limit and step correction is allowed at all.
1358* [Bug 2750] build for Win64
1359  Building for 32bit of loopback ppsapi needs def file
1360* [Bug 2776] Improve ntpq's 'help keytype'.
1361* [Bug 2778] Implement "apeers"  ntpq command to include associd.
1362* [Bug 2782] Refactor refclock_shm.c, add memory barrier protection.
1363* [Bug 2792] If the IFF_RUNNING interface flag is supported then an
1364  interface is ignored as long as this flag is not set since the
1365  interface is not usable (e.g., no link).
1366* [Bug 2794] Clean up kernel clock status reports.
1367* [Bug 2800] refclock_true.c true_debug() can't open debug log because
1368  of incompatible open/fdopen parameters.
1369* [Bug 2804] install-local-data assumes GNU 'find' semantics.
1370* [Bug 2805] ntpd fails to join multicast group.
1371* [Bug 2806] refclock_jjy.c supports the Telephone JJY.
1372* [Bug 2808] GPSD_JSON driver enhancements, step 1.
1373  Fix crash during cleanup if GPS device not present and char device.
1374  Increase internal token buffer to parse all JSON data, even SKY.
1375  Defer logging of errors during driver init until the first unit is
1376  started, so the syslog is not cluttered when the driver is not used.
1377  Various improvements, see http://bugs.ntp.org/2808 for details.
1378  Changed libjsmn to a more recent version.
1379* [Bug 2810] refclock_shm.c memory barrier code needs tweaks for QNX.
1380* [Bug 2813] HP-UX needs -D__STDC_VERSION__=199901L and limits.h.
1381* [Bug 2815] net-snmp before v5.4 has circular library dependencies.
1382* [Bug 2821] Add a missing NTP_PRINTF and a missing const.
1383* [Bug 2822] New leap column in sntp broke NTP::Util.pm.
1384* [Bug 2824] Convert update-leap to perl. (also see 2769)
1385* [Bug 2825] Quiet file installation in html/ .
1386* [Bug 2830] ntpd doesn't always transfer the correct TAI offset via autokey
1387   NTPD transfers the current TAI (instead of an announcement) now.
1388   This might still needed improvement.
1389   Update autokey data ASAP when 'sys_tai' changes.
1390   Fix unit test that was broken by changes for autokey update.
1391   Avoid potential signature length issue and use DPRINTF where possible
1392     in ntp_crypto.c.
1393* [Bug 2832] refclock_jjy.c supports the TDC-300.
1394* [Bug 2834] Correct a broken html tag in html/refclock.html
1395* [Bug 2836] DFC77 patches from Frank Kardel to make decoding more
1396  robust, and require 2 consecutive timestamps to be consistent.
1397* [Bug 2837] Allow a configurable DSCP value.
1398* [Bug 2837] add test for DSCP to ntpd/complete.conf.in
1399* [Bug 2842] Glitch in ntp.conf.def documentation stanza.
1400* [Bug 2842] Bug in mdoc2man.
1401* [Bug 2843] make check fails on 4.3.36
1402   Fixed compiler warnings about numeric range overflow
1403   (The original topic was fixed in a byplay to bug#2830)
1404* [Bug 2845] Harden memory allocation in ntpd.
1405* [Bug 2852] 'make check' can't find unity.h.  Hal Murray.
1406* [Bug 2854] Missing brace in libntp/strdup.c.  Masanari Iida.
1407* [Bug 2855] Parser fix for conditional leap smear code.  Harlan Stenn.
1408* [Bug 2855] Report leap smear in the REFID.  Harlan Stenn.
1409* [Bug 2855] Implement conditional leap smear code.  Martin Burnicki.
1410* [Bug 2856] ntpd should wait() on terminated child processes.  Paul Green.
1411* [Bug 2857] Stratus VOS does not support SIGIO.  Paul Green.
1412* [Bug 2859] Improve raw DCF77 robustness deconding.  Frank Kardel.
1413* [Bug 2860] ntpq ifstats sanity check is too stringent.  Frank Kardel.
1414* html/drivers/driver22.html: typo fix.  Harlan Stenn.
1415* refidsmear test cleanup.  Tomasz Flendrich.
1416* refidsmear function support and tests.  Harlan Stenn.
1417* sntp/tests/Makefile.am: remove g_nameresolution.cpp as it tested
1418  something that was only in the 4.2.6 sntp.  Harlan Stenn.
1419* Modified tests/bug-2803/Makefile.am so it builds Unity framework tests.
1420  Damir Tomi��
1421* Modified tests/libtnp/Makefile.am so it builds Unity framework tests.
1422  Damir Tomi��
1423* Modified sntp/tests/Makefile.am so it builds Unity framework tests.
1424  Damir Tomi��
1425* tests/sandbox/smeartest.c: Harlan Stenn, Damir Tomic, Juergen Perlinger.
1426* Converted from gtest to Unity: tests/bug-2803/. Damir Tomi��
1427* Converted from gtest to Unity: tests/libntp/ a_md5encrypt, atoint.c,
1428  atouint.c, authkeys.c, buftvtots.c, calendar.c, caljulian.c,
1429  calyearstart.c, clocktime.c, hextoint.c, lfpfunc.c, modetoa.c,
1430  numtoa.c, numtohost.c, refnumtoa.c, ssl_init.c, statestr.c,
1431  timespecops.c, timevalops.c, uglydate.c, vi64ops.c, ymd2yd.c.
1432  Damir Tomi��
1433* Converted from gtest to Unity: sntp/tests/ kodDatabase.c, kodFile.c,
1434  networking.c, keyFile.c, utilities.cpp, sntptest.h,
1435  fileHandlingTest.h. Damir Tomi��
1436* Initial support for experimental leap smear code.  Harlan Stenn.
1437* Fixes to sntp/tests/fileHandlingTest.h.in.  Harlan Stenn.
1438* Report select() debug messages at debug level 3 now.
1439* sntp/scripts/genLocInfo: treat raspbian as debian.
1440* Unity test framework fixes.
1441  ** Requires ruby for changes to tests.
1442* Initial support for PACKAGE_VERSION tests.
1443* sntp/libpkgver belongs in EXTRA_DIST, not DIST_SUBDIRS.
1444* tests/bug-2803/Makefile.am must distribute bug-2803.h.
1445* Add an assert to the ntpq ifstats code.
1446* Clean up the RLIMIT_STACK code.
1447* Improve the ntpq documentation around the controlkey keyid.
1448* ntpq.c cleanup.
1449* Windows port build cleanup.
1450
1451---
1452NTP 4.2.8p2 (Harlan Stenn <stenn@ntp.org>, 2015/04/07) 
1453
1454Focus: Security and Bug fixes, enhancements.
1455
1456Severity: MEDIUM
1457 
1458In addition to bug fixes and enhancements, this release fixes the
1459following medium-severity vulnerabilities involving private key
1460authentication:
1461
1462* [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto.
1463
1464    References: Sec 2779 / CVE-2015-1798 / VU#374268
1465    Affects: All NTP4 releases starting with ntp-4.2.5p99 up to but not
1466	including ntp-4.2.8p2 where the installation uses symmetric keys
1467	to authenticate remote associations.
1468    CVSS: (AV:A/AC:M/Au:N/C:P/I:P/A:P) Base Score: 5.4
1469    Date Resolved: Stable (4.2.8p2) 07 Apr 2015
1470    Summary: When ntpd is configured to use a symmetric key to authenticate
1471	a remote NTP server/peer, it checks if the NTP message
1472	authentication code (MAC) in received packets is valid, but not if
1473	there actually is any MAC included. Packets without a MAC are
1474	accepted as if they had a valid MAC. This allows a MITM attacker to
1475	send false packets that are accepted by the client/peer without
1476	having to know the symmetric key. The attacker needs to know the
1477	transmit timestamp of the client to match it in the forged reply
1478	and the false reply needs to reach the client before the genuine
1479	reply from the server. The attacker doesn't necessarily need to be
1480	relaying the packets between the client and the server.
1481
1482	Authentication using autokey doesn't have this problem as there is
1483	a check that requires the key ID to be larger than NTP_MAXKEY,
1484	which fails for packets without a MAC.
1485    Mitigation:
1486        Upgrade to 4.2.8p2, or later, from the NTP Project Download Page
1487	or the NTP Public Services Project Download Page
1488        Configure ntpd with enough time sources and monitor it properly. 
1489    Credit: This issue was discovered by Miroslav Lichvar, of Red Hat. 
1490
1491* [Sec 2781] Authentication doesn't protect symmetric associations against
1492  DoS attacks.
1493
1494    References: Sec 2781 / CVE-2015-1799 / VU#374268
1495    Affects: All NTP releases starting with at least xntp3.3wy up to but
1496	not including ntp-4.2.8p2 where the installation uses symmetric
1497	key authentication.
1498    CVSS: (AV:A/AC:M/Au:N/C:P/I:P/A:P) Base Score: 5.4
1499    Note: the CVSS base Score for this issue could be 4.3 or lower, and
1500	it could be higher than 5.4.
1501    Date Resolved: Stable (4.2.8p2) 07 Apr 2015
1502    Summary: An attacker knowing that NTP hosts A and B are peering with
1503	each other (symmetric association) can send a packet to host A
1504	with source address of B which will set the NTP state variables
1505	on A to the values sent by the attacker. Host A will then send
1506	on its next poll to B a packet with originate timestamp that
1507	doesn't match the transmit timestamp of B and the packet will
1508	be dropped. If the attacker does this periodically for both
1509	hosts, they won't be able to synchronize to each other. This is
1510	a known denial-of-service attack, described at
1511	https://www.eecis.udel.edu/~mills/onwire.html .
1512
1513	According to the document the NTP authentication is supposed to
1514	protect symmetric associations against this attack, but that
1515	doesn't seem to be the case. The state variables are updated even
1516	when authentication fails and the peers are sending packets with
1517	originate timestamps that don't match the transmit timestamps on
1518	the receiving side.
1519
1520	This seems to be a very old problem, dating back to at least
1521	xntp3.3wy. It's also in the NTPv3 (RFC 1305) and NTPv4 (RFC 5905)
1522	specifications, so other NTP implementations with support for
1523	symmetric associations and authentication may be vulnerable too.
1524	An update to the NTP RFC to correct this error is in-process.
1525    Mitigation:
1526        Upgrade to 4.2.8p2, or later, from the NTP Project Download Page
1527	or the NTP Public Services Project Download Page
1528        Note that for users of autokey, this specific style of MITM attack
1529	is simply a long-known potential problem.
1530        Configure ntpd with appropriate time sources and monitor ntpd.
1531	Alert your staff if problems are detected. 
1532    Credit: This issue was discovered by Miroslav Lichvar, of Red Hat. 
1533
1534* New script: update-leap
1535The update-leap script will verify and if necessary, update the
1536leap-second definition file.
1537It requires the following commands in order to work:
1538
1539	wget logger tr sed shasum
1540
1541Some may choose to run this from cron.  It needs more portability testing.
1542
1543Bug Fixes and Improvements:
1544
1545* [Bug 1787] DCF77's formerly "antenna" bit is "call bit" since 2003.
1546* [Bug 1960] setsockopt IPV6_MULTICAST_IF: Invalid argument.
1547* [Bug 2346] "graceful termination" signals do not do peer cleanup.
1548* [Bug 2728] See if C99-style structure initialization works.
1549* [Bug 2747] Upgrade libevent to 2.1.5-beta.
1550* [Bug 2749] ntp/lib/NTP/Util.pm needs update for ntpq -w, IPv6, .POOL. .
1551* [Bug 2751] jitter.h has stale copies of l_fp macros.
1552* [Bug 2756] ntpd hangs in startup with gcc 3.3.5 on ARM.
1553* [Bug 2757] Quiet compiler warnings.
1554* [Bug 2759] Expose nonvolatile/clk_wander_threshold to ntpq.
1555* [Bug 2763] Allow different thresholds for forward and backward steps.
1556* [Bug 2766] ntp-keygen output files should not be world-readable.
1557* [Bug 2767] ntp-keygen -M should symlink to ntp.keys.
1558* [Bug 2771] nonvolatile value is documented in wrong units.
1559* [Bug 2773] Early leap announcement from Palisade/Thunderbolt
1560* [Bug 2774] Unreasonably verbose printout - leap pending/warning
1561* [Bug 2775] ntp-keygen.c fails to compile under Windows.
1562* [Bug 2777] Fixed loops and decoding of Meinberg GPS satellite info.
1563  Removed non-ASCII characters from some copyright comments.
1564  Removed trailing whitespace.
1565  Updated definitions for Meinberg clocks from current Meinberg header files.
1566  Now use C99 fixed-width types and avoid non-ASCII characters in comments.
1567  Account for updated definitions pulled from Meinberg header files.
1568  Updated comments on Meinberg GPS receivers which are not only called GPS16x.
1569  Replaced some constant numbers by defines from ntp_calendar.h
1570  Modified creation of parse-specific variables for Meinberg devices
1571  in gps16x_message().
1572  Reworked mk_utcinfo() to avoid printing of ambiguous leap second dates.
1573  Modified mbg_tm_str() which now expexts an additional parameter controlling
1574  if the time status shall be printed.
1575* [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto.
1576* [Sec 2781] Authentication doesn't protect symmetric associations against
1577  DoS attacks.
1578* [Bug 2783] Quiet autoconf warnings about missing AC_LANG_SOURCE.
1579* [Bug 2789] Quiet compiler warnings from libevent.
1580* [Bug 2790] If ntpd sets the Windows MM timer highest resolution
1581  pause briefly before measuring system clock precision to yield
1582  correct results.
1583* Comment from Juergen Perlinger in ntp_calendar.c to make the code clearer.
1584* Use predefined function types for parse driver functions
1585  used to set up function pointers.
1586  Account for changed prototype of parse_inp_fnc_t functions.
1587  Cast parse conversion results to appropriate types to avoid
1588  compiler warnings.
1589  Let ioctl() for Windows accept a (void *) to avoid compiler warnings
1590  when called with pointers to different types.
1591
1592---
1593NTP 4.2.8p1 (Harlan Stenn <stenn@ntp.org>, 2015/02/04) 
1594
1595Focus: Security and Bug fixes, enhancements.
1596
1597Severity: HIGH
1598 
1599In addition to bug fixes and enhancements, this release fixes the
1600following high-severity vulnerabilities:
1601
1602* vallen is not validated in several places in ntp_crypto.c, leading
1603  to a potential information leak or possibly a crash
1604
1605    References: Sec 2671 / CVE-2014-9297 / VU#852879
1606    Affects: All NTP4 releases before 4.2.8p1 that are running autokey.
1607    CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
1608    Date Resolved: Stable (4.2.8p1) 04 Feb 2015
1609    Summary: The vallen packet value is not validated in several code
1610             paths in ntp_crypto.c which can lead to information leakage
1611	     or perhaps a crash of the ntpd process.
1612    Mitigation - any of:
1613	Upgrade to 4.2.8p1, or later, from the NTP Project Download Page
1614		or the NTP Public Services Project Download Page.
1615	Disable Autokey Authentication by removing, or commenting out,
1616		all configuration directives beginning with the "crypto"
1617		keyword in your ntp.conf file. 
1618    Credit: This vulnerability was discovered by Stephen Roettger of the
1619    	Google Security Team, with additional cases found by Sebastian
1620	Krahmer of the SUSE Security Team and Harlan Stenn of Network
1621	Time Foundation. 
1622
1623* ::1 can be spoofed on some OSes, so ACLs based on IPv6 ::1 addresses
1624  can be bypassed.
1625
1626    References: Sec 2672 / CVE-2014-9298 / VU#852879
1627    Affects: All NTP4 releases before 4.2.8p1, under at least some
1628	versions of MacOS and Linux. *BSD has not been seen to be vulnerable.
1629    CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:C) Base Score: 9
1630    Date Resolved: Stable (4.2.8p1) 04 Feb 2014
1631    Summary: While available kernels will prevent 127.0.0.1 addresses
1632	from "appearing" on non-localhost IPv4 interfaces, some kernels
1633	do not offer the same protection for ::1 source addresses on
1634	IPv6 interfaces. Since NTP's access control is based on source
1635	address and localhost addresses generally have no restrictions,
1636	an attacker can send malicious control and configuration packets
1637	by spoofing ::1 addresses from the outside. Note Well: This is
1638	not really a bug in NTP, it's a problem with some OSes. If you
1639	have one of these OSes where ::1 can be spoofed, ALL ::1 -based
1640	ACL restrictions on any application can be bypassed!
1641    Mitigation:
1642        Upgrade to 4.2.8p1, or later, from the NTP Project Download Page
1643	or the NTP Public Services Project Download Page
1644        Install firewall rules to block packets claiming to come from
1645	::1 from inappropriate network interfaces. 
1646    Credit: This vulnerability was discovered by Stephen Roettger of
1647	the Google Security Team. 
1648
1649Additionally, over 30 bugfixes and improvements were made to the codebase.
1650See the ChangeLog for more information.
1651
1652---
1653NTP 4.2.8 (Harlan Stenn <stenn@ntp.org>, 2014/12/18) 
1654 
1655Focus: Security and Bug fixes, enhancements.
1656 
1657Severity: HIGH
1658 
1659In addition to bug fixes and enhancements, this release fixes the
1660following high-severity vulnerabilities:
1661
1662************************** vv NOTE WELL vv *****************************
1663
1664The vulnerabilities listed below can be significantly mitigated by
1665following the BCP of putting
1666
1667 restrict default ... noquery
1668
1669in the ntp.conf file.  With the exception of:
1670
1671   receive(): missing return on error
1672   References: Sec 2670 / CVE-2014-9296 / VU#852879
1673
1674below (which is a limited-risk vulnerability), none of the recent
1675vulnerabilities listed below can be exploited if the source IP is
1676restricted from sending a 'query'-class packet by your ntp.conf file.
1677
1678************************** ^^ NOTE WELL ^^ *****************************
1679
1680* Weak default key in config_auth().
1681
1682  References: [Sec 2665] / CVE-2014-9293 / VU#852879
1683  CVSS: (AV:N/AC:L/Au:M/C:P/I:P/A:C) Base Score: 7.3
1684  Vulnerable Versions: all releases prior to 4.2.7p11
1685  Date Resolved: 28 Jan 2010
1686
1687  Summary: If no 'auth' key is set in the configuration file, ntpd
1688	would generate a random key on the fly.  There were two
1689	problems with this: 1) the generated key was 31 bits in size,
1690	and 2) it used the (now weak) ntp_random() function, which was
1691	seeded with a 32-bit value and could only provide 32 bits of
1692	entropy.  This was sufficient back in the late 1990s when the
1693	code was written.  Not today.
1694
1695  Mitigation - any of:
1696	- Upgrade to 4.2.7p11 or later.
1697	- Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
1698
1699  Credit: This vulnerability was noticed in ntp-4.2.6 by Neel Mehta
1700  	of the Google Security Team.
1701
1702* Non-cryptographic random number generator with weak seed used by
1703  ntp-keygen to generate symmetric keys.
1704
1705  References: [Sec 2666] / CVE-2014-9294 / VU#852879
1706  CVSS: (AV:N/AC:L/Au:M/C:P/I:P/A:C) Base Score: 7.3
1707  Vulnerable Versions: All NTP4 releases before 4.2.7p230
1708  Date Resolved: Dev (4.2.7p230) 01 Nov 2011
1709
1710  Summary: Prior to ntp-4.2.7p230 ntp-keygen used a weak seed to
1711  	prepare a random number generator that was of good quality back
1712	in the late 1990s. The random numbers produced was then used to
1713	generate symmetric keys. In ntp-4.2.8 we use a current-technology
1714	cryptographic random number generator, either RAND_bytes from
1715	OpenSSL, or arc4random(). 
1716
1717  Mitigation - any of:
1718  	- Upgrade to 4.2.7p230 or later.
1719	- Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
1720
1721  Credit:  This vulnerability was discovered in ntp-4.2.6 by
1722  	Stephen Roettger of the Google Security Team.
1723
1724* Buffer overflow in crypto_recv()
1725
1726  References: Sec 2667 / CVE-2014-9295 / VU#852879
1727  CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
1728  Versions: All releases before 4.2.8
1729  Date Resolved: Stable (4.2.8) 18 Dec 2014
1730
1731  Summary: When Autokey Authentication is enabled (i.e. the ntp.conf
1732  	file contains a 'crypto pw ...' directive) a remote attacker
1733	can send a carefully crafted packet that can overflow a stack
1734	buffer and potentially allow malicious code to be executed
1735	with the privilege level of the ntpd process.
1736
1737  Mitigation - any of:
1738  	- Upgrade to 4.2.8, or later, or
1739	- Disable Autokey Authentication by removing, or commenting out,
1740	  all configuration directives beginning with the crypto keyword
1741	  in your ntp.conf file. 
1742
1743  Credit: This vulnerability was discovered by Stephen Roettger of the
1744  	Google Security Team. 
1745
1746* Buffer overflow in ctl_putdata()
1747
1748  References: Sec 2668 / CVE-2014-9295 / VU#852879
1749  CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
1750  Versions: All NTP4 releases before 4.2.8
1751  Date Resolved: Stable (4.2.8) 18 Dec 2014
1752
1753  Summary: A remote attacker can send a carefully crafted packet that
1754  	can overflow a stack buffer and potentially allow malicious
1755	code to be executed with the privilege level of the ntpd process.
1756
1757  Mitigation - any of:
1758  	- Upgrade to 4.2.8, or later.
1759	- Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
1760
1761  Credit: This vulnerability was discovered by Stephen Roettger of the
1762  	Google Security Team. 
1763
1764* Buffer overflow in configure()
1765
1766  References: Sec 2669 / CVE-2014-9295 / VU#852879
1767  CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
1768  Versions: All NTP4 releases before 4.2.8
1769  Date Resolved: Stable (4.2.8) 18 Dec 2014
1770
1771  Summary: A remote attacker can send a carefully crafted packet that
1772	can overflow a stack buffer and potentially allow malicious
1773	code to be executed with the privilege level of the ntpd process.
1774
1775  Mitigation - any of:
1776  	- Upgrade to 4.2.8, or later.
1777	- Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
1778
1779  Credit: This vulnerability was discovered by Stephen Roettger of the
1780	Google Security Team. 
1781
1782* receive(): missing return on error
1783
1784  References: Sec 2670 / CVE-2014-9296 / VU#852879
1785  CVSS: (AV:N/AC:L/Au:N/C:N/I:N/A:P) Base Score: 5.0
1786  Versions: All NTP4 releases before 4.2.8
1787  Date Resolved: Stable (4.2.8) 18 Dec 2014
1788
1789  Summary: Code in ntp_proto.c:receive() was missing a 'return;' in
1790  	the code path where an error was detected, which meant
1791	processing did not stop when a specific rare error occurred.
1792	We haven't found a way for this bug to affect system integrity.
1793	If there is no way to affect system integrity the base CVSS
1794	score for this bug is 0. If there is one avenue through which
1795	system integrity can be partially affected, the base score
1796	becomes a 5. If system integrity can be partially affected
1797	via all three integrity metrics, the CVSS base score become 7.5.
1798
1799  Mitigation - any of:
1800        - Upgrade to 4.2.8, or later,
1801        - Remove or comment out all configuration directives
1802	  beginning with the crypto keyword in your ntp.conf file. 
1803
1804  Credit: This vulnerability was discovered by Stephen Roettger of the
1805  	Google Security Team. 
1806
1807See http://support.ntp.org/security for more information.
1808
1809New features / changes in this release:
1810
1811Important Changes
1812
1813* Internal NTP Era counters
1814
1815The internal counters that track the "era" (range of years) we are in
1816rolls over every 136 years'.  The current "era" started at the stroke of
1817midnight on 1 Jan 1900, and ends just before the stroke of midnight on
18181 Jan 2036.
1819In the past, we have used the "midpoint" of the  range to decide which
1820era we were in.  Given the longevity of some products, it became clear
1821that it would be more functional to "look back" less, and "look forward"
1822more.  We now compile a timestamp into the ntpd executable and when we
1823get a timestamp we us the "built-on" to tell us what era we are in.
1824This check "looks back" 10 years, and "looks forward" 126 years.
1825
1826* ntpdc responses disabled by default
1827
1828Dave Hart writes:
1829
1830For a long time, ntpq and its mostly text-based mode 6 (control) 
1831protocol have been preferred over ntpdc and its mode 7 (private 
1832request) protocol for runtime queries and configuration.  There has 
1833been a goal of deprecating ntpdc, previously held back by numerous 
1834capabilities exposed by ntpdc with no ntpq equivalent.  I have been 
1835adding commands to ntpq to cover these cases, and I believe I've 
1836covered them all, though I've not compared command-by-command 
1837recently. 
1838
1839As I've said previously, the binary mode 7 protocol involves a lot of 
1840hand-rolled structure layout and byte-swapping code in both ntpd and 
1841ntpdc which is hard to get right.  As ntpd grows and changes, the 
1842changes are difficult to expose via ntpdc while maintaining forward 
1843and backward compatibility between ntpdc and ntpd.  In contrast, 
1844ntpq's text-based, label=value approach involves more code reuse and 
1845allows compatible changes without extra work in most cases. 
1846
1847Mode 7 has always been defined as vendor/implementation-specific while 
1848mode 6 is described in RFC 1305 and intended to be open to interoperate 
1849with other implementations.  There is an early draft of an updated 
1850mode 6 description that likely will join the other NTPv4 RFCs 
1851eventually. (http://tools.ietf.org/html/draft-odonoghue-ntpv4-control-01)
1852
1853For these reasons, ntpd 4.2.7p230 by default disables processing of 
1854ntpdc queries, reducing ntpd's attack surface and functionally 
1855deprecating ntpdc.  If you are in the habit of using ntpdc for certain 
1856operations, please try the ntpq equivalent.  If there's no equivalent, 
1857please open a bug report at http://bugs.ntp.org./
1858
1859In addition to the above, over 1100 issues have been resolved between
1860the 4.2.6 branch and 4.2.8.  The ChangeLog file in the distribution
1861lists these.
1862
1863--- 
1864NTP 4.2.6p5 (Harlan Stenn <stenn@ntp.org>, 2011/12/24) 
1865 
1866Focus: Bug fixes
1867 
1868Severity: Medium 
1869 
1870This is a recommended upgrade. 
1871
1872This release updates sys_rootdisp and sys_jitter calculations to match the
1873RFC specification, fixes a potential IPv6 address matching error for the
1874"nic" and "interface" configuration directives, suppresses the creation of
1875extraneous ephemeral associations for certain broadcastclient and
1876multicastclient configurations, cleans up some ntpq display issues, and
1877includes improvements to orphan mode, minor bugs fixes and code clean-ups.
1878
1879New features / changes in this release:
1880
1881ntpd
1882
1883 * Updated "nic" and "interface" IPv6 address handling to prevent 
1884   mismatches with localhost [::1] and wildcard [::] which resulted from
1885   using the address/prefix format (e.g. fe80::/64)
1886 * Fix orphan mode stratum incorrectly counting to infinity
1887 * Orphan parent selection metric updated to includes missing ntohl()
1888 * Non-printable stratum 16 refid no longer sent to ntp
1889 * Duplicate ephemeral associations suppressed for broadcastclient and
1890   multicastclient without broadcastdelay
1891 * Exclude undetermined sys_refid from use in loopback TEST12
1892 * Exclude MODE_SERVER responses from KoD rate limiting
1893 * Include root delay in clock_update() sys_rootdisp calculations
1894 * get_systime() updated to exclude sys_residual offset (which only
1895   affected bits "below" sys_tick, the precision threshold)
1896 * sys.peer jitter weighting corrected in sys_jitter calculation
1897
1898ntpq
1899
1900 * -n option extended to include the billboard "server" column
1901 * IPv6 addresses in the local column truncated to prevent overruns
1902
1903--- 
1904NTP 4.2.6p4 (Harlan Stenn <stenn@ntp.org>, 2011/09/22) 
1905 
1906Focus: Bug fixes and portability improvements 
1907 
1908Severity: Medium 
1909 
1910This is a recommended upgrade. 
1911 
1912This release includes build infrastructure updates, code 
1913clean-ups, minor bug fixes, fixes for a number of minor 
1914ref-clock issues, and documentation revisions. 
1915 
1916Portability improvements affect AIX, HP-UX, Linux, OS X and 64-bit time_t. 
1917 
1918New features / changes in this release: 
1919 
1920Build system 
1921 
1922* Fix checking for struct rtattr 
1923* Update config.guess and config.sub for AIX 
1924* Upgrade required version of autogen and libopts for building 
1925  from our source code repository 
1926 
1927ntpd 
1928 
1929* Back-ported several fixes for Coverity warnings from ntp-dev 
1930* Fix a rare boundary condition in UNLINK_EXPR_SLIST() 
1931* Allow "logconfig =allall" configuration directive 
1932* Bind tentative IPv6 addresses on Linux 
1933* Correct WWVB/Spectracom driver to timestamp CR instead of LF 
1934* Improved tally bit handling to prevent incorrect ntpq peer status reports 
1935* Exclude the Undisciplined Local Clock and ACTS drivers from the initial 
1936  candidate list unless they are designated a "prefer peer" 
1937* Prevent the consideration of Undisciplined Local Clock or ACTS drivers for 
1938  selection during the 'tos orphanwait' period 
1939* Prefer an Orphan Mode Parent over the Undisciplined Local Clock or ACTS 
1940  drivers 
1941* Improved support of the Parse Refclock trusttime flag in Meinberg mode 
1942* Back-port utility routines from ntp-dev: mprintf(), emalloc_zero() 
1943* Added the NTPD_TICKADJ_PPM environment variable for specifying baseline 
1944  clock slew on Microsoft Windows 
1945* Code cleanup in libntpq 
1946 
1947ntpdc 
1948 
1949* Fix timerstats reporting 
1950 
1951ntpdate 
1952 
1953* Reduce time required to set clock 
1954* Allow a timeout greater than 2 seconds 
1955 
1956sntp 
1957 
1958* Backward incompatible command-line option change: 
1959  -l/--filelog changed -l/--logfile (to be consistent with ntpd) 
1960 
1961Documentation 
1962 
1963* Update html2man. Fix some tags in the .html files 
1964* Distribute ntp-wait.html 
1965
1966---
1967NTP 4.2.6p3 (Harlan Stenn <stenn@ntp.org>, 2011/01/03)
1968
1969Focus: Bug fixes and portability improvements
1970
1971Severity: Medium
1972
1973This is a recommended upgrade.
1974
1975This release includes build infrastructure updates, code
1976clean-ups, minor bug fixes, fixes for a number of minor
1977ref-clock issues, and documentation revisions.
1978
1979Portability improvements in this release affect AIX, Atari FreeMiNT,
1980FreeBSD4, Linux and Microsoft Windows.
1981
1982New features / changes in this release:
1983
1984Build system
1985* Use lsb_release to get information about Linux distributions.
1986* 'test' is in /usr/bin (instead of /bin) on some systems.
1987* Basic sanity checks for the ChangeLog file.
1988* Source certain build files with ./filename for systems without . in PATH.
1989* IRIX portability fix.
1990* Use a single copy of the "libopts" code.
1991* autogen/libopts upgrade.
1992* configure.ac m4 quoting cleanup.
1993
1994ntpd
1995* Do not bind to IN6_IFF_ANYCAST addresses.
1996* Log the reason for exiting under Windows.
1997* Multicast fixes for Windows.
1998* Interpolation fixes for Windows.
1999* IPv4 and IPv6 Multicast fixes.
2000* Manycast solicitation fixes and general repairs.
2001* JJY refclock cleanup.
2002* NMEA refclock improvements.
2003* Oncore debug message cleanup.
2004* Palisade refclock now builds under Linux.
2005* Give RAWDCF more baud rates.
2006* Support Truetime Satellite clocks under Windows.
2007* Support Arbiter 1093C Satellite clocks under Windows.
2008* Make sure that the "filegen" configuration command defaults to "enable".
2009* Range-check the status codes (plus other cleanup) in the RIPE-NCC driver.
2010* Prohibit 'includefile' directive in remote configuration command.
2011* Fix 'nic' interface bindings.
2012* Fix the way we link with openssl if openssl is installed in the base
2013  system.
2014
2015ntp-keygen
2016* Fix -V coredump.
2017* OpenSSL version display cleanup.
2018
2019ntpdc
2020* Many counters should be treated as unsigned.
2021
2022ntpdate
2023* Do not ignore replies with equal receive and transmit timestamps.
2024
2025ntpq
2026* libntpq warning cleanup.
2027
2028ntpsnmpd
2029* Correct SNMP type for "precision" and "resolution".
2030* Update the MIB from the draft version to RFC-5907.
2031
2032sntp
2033* Display timezone offset when showing time for sntp in the local
2034  timezone.
2035* Pay proper attention to RATE KoD packets.
2036* Fix a miscalculation of the offset.
2037* Properly parse empty lines in the key file.
2038* Logging cleanup.
2039* Use tv_usec correctly in set_time().
2040* Documentation cleanup.
2041
2042---
2043NTP 4.2.6p2 (Harlan Stenn <stenn@ntp.org>, 2010/07/08)
2044
2045Focus: Bug fixes and portability improvements
2046
2047Severity: Medium
2048
2049This is a recommended upgrade.
2050
2051This release includes build infrastructure updates, code
2052clean-ups, minor bug fixes, fixes for a number of minor
2053ref-clock issues, improved KOD handling, OpenSSL related
2054updates and documentation revisions.
2055
2056Portability improvements in this release affect Irix, Linux,
2057Mac OS, Microsoft Windows, OpenBSD and QNX6
2058
2059New features / changes in this release:
2060
2061ntpd
2062* Range syntax for the trustedkey configuration directive
2063* Unified IPv4 and IPv6 restrict lists
2064
2065ntpdate
2066* Rate limiting and KOD handling
2067
2068ntpsnmpd
2069* default connection to net-snmpd via a unix-domain socket
2070* command-line 'socket name' option
2071
2072ntpq / ntpdc
2073* support for the "passwd ..." syntax
2074* key-type specific password prompts
2075
2076sntp
2077* MD5 authentication of an ntpd
2078* Broadcast and crypto
2079* OpenSSL support
2080
2081---
2082NTP 4.2.6p1 (Harlan Stenn <stenn@ntp.org>, 2010/04/09)
2083
2084Focus: Bug fixes, portability fixes, and documentation improvements
2085
2086Severity: Medium
2087
2088This is a recommended upgrade.
2089
2090---
2091NTP 4.2.6 (Harlan Stenn <stenn@ntp.org>, 2009/12/08)
2092
2093Focus: enhancements and bug fixes.
2094
2095---
2096NTP 4.2.4p8 (Harlan Stenn <stenn@ntp.org>, 2009/12/08)
2097
2098Focus: Security Fixes
2099
2100Severity: HIGH
2101
2102This release fixes the following high-severity vulnerability:
2103
2104* [Sec 1331] DoS with mode 7 packets - CVE-2009-3563.
2105
2106  See http://support.ntp.org/security for more information.
2107
2108  NTP mode 7 (MODE_PRIVATE) is used by the ntpdc query and control utility.
2109  In contrast, ntpq uses NTP mode 6 (MODE_CONTROL), while routine NTP time
2110  transfers use modes 1 through 5.  Upon receipt of an incorrect mode 7
2111  request or a mode 7 error response from an address which is not listed
2112  in a "restrict ... noquery" or "restrict ... ignore" statement, ntpd will
2113  reply with a mode 7 error response (and log a message).  In this case:
2114
2115	* If an attacker spoofs the source address of ntpd host A in a
2116	  mode 7 response packet sent to ntpd host B, both A and B will
2117	  continuously send each other error responses, for as long as
2118	  those packets get through.
2119
2120	* If an attacker spoofs an address of ntpd host A in a mode 7
2121	  response packet sent to ntpd host A, A will respond to itself
2122	  endlessly, consuming CPU and logging excessively.
2123
2124  Credit for finding this vulnerability goes to Robin Park and Dmitri
2125  Vinokurov of Alcatel-Lucent.
2126
2127THIS IS A STRONGLY RECOMMENDED UPGRADE.
2128
2129---
2130ntpd now syncs to refclocks right away.
2131
2132Backward-Incompatible changes:
2133
2134ntpd no longer accepts '-v name' or '-V name' to define internal variables.
2135Use '--var name' or '--dvar name' instead. (Bug 817)
2136
2137---
2138NTP 4.2.4p7 (Harlan Stenn <stenn@ntp.org>, 2009/05/04)
2139
2140Focus: Security and Bug Fixes
2141
2142Severity: HIGH
2143
2144This release fixes the following high-severity vulnerability:
2145
2146* [Sec 1151] Remote exploit if autokey is enabled.  CVE-2009-1252
2147
2148  See http://support.ntp.org/security for more information.
2149
2150  If autokey is enabled (if ntp.conf contains a "crypto pw whatever"
2151  line) then a carefully crafted packet sent to the machine will cause
2152  a buffer overflow and possible execution of injected code, running
2153  with the privileges of the ntpd process (often root).
2154
2155  Credit for finding this vulnerability goes to Chris Ries of CMU.
2156
2157This release fixes the following low-severity vulnerabilities:
2158
2159* [Sec 1144] limited (two byte) buffer overflow in ntpq.  CVE-2009-0159
2160  Credit for finding this vulnerability goes to Geoff Keating of Apple.
2161  
2162* [Sec 1149] use SO_EXCLUSIVEADDRUSE on Windows
2163  Credit for finding this issue goes to Dave Hart.
2164
2165This release fixes a number of bugs and adds some improvements:
2166
2167* Improved logging
2168* Fix many compiler warnings
2169* Many fixes and improvements for Windows
2170* Adds support for AIX 6.1
2171* Resolves some issues under MacOS X and Solaris
2172
2173THIS IS A STRONGLY RECOMMENDED UPGRADE.
2174
2175---
2176NTP 4.2.4p6 (Harlan Stenn <stenn@ntp.org>, 2009/01/07)
2177
2178Focus: Security Fix
2179
2180Severity: Low
2181
2182This release fixes oCERT.org's CVE-2009-0021, a vulnerability affecting
2183the OpenSSL library relating to the incorrect checking of the return
2184value of EVP_VerifyFinal function.
2185
2186Credit for finding this issue goes to the Google Security Team for
2187finding the original issue with OpenSSL, and to ocert.org for finding
2188the problem in NTP and telling us about it.
2189
2190This is a recommended upgrade.
2191---
2192NTP 4.2.4p5 (Harlan Stenn <stenn@ntp.org>, 2008/08/17)
2193
2194Focus: Minor Bugfixes 
2195
2196This release fixes a number of Windows-specific ntpd bugs and 
2197platform-independent ntpdate bugs. A logging bugfix has been applied
2198to the ONCORE driver.
2199
2200The "dynamic" keyword and is now obsolete and deferred binding to local 
2201interfaces is the new default. The minimum time restriction for the 
2202interface update interval has been dropped. 
2203
2204A number of minor build system and documentation fixes are included. 
2205
2206This is a recommended upgrade for Windows. 
2207
2208---
2209NTP 4.2.4p4 (Harlan Stenn <stenn@ntp.org>, 2007/09/10)
2210
2211Focus: Minor Bugfixes
2212
2213This release updates certain copyright information, fixes several display
2214bugs in ntpdc, avoids SIGIO interrupting malloc(), cleans up file descriptor
2215shutdown in the parse refclock driver, removes some lint from the code,
2216stops accessing certain buffers immediately after they were freed, fixes
2217a problem with non-command-line specification of -6, and allows the loopback
2218interface to share addresses with other interfaces.
2219
2220---
2221NTP 4.2.4p3 (Harlan Stenn <stenn@ntp.org>, 2007/06/29)
2222
2223Focus: Minor Bugfixes
2224
2225This release fixes a bug in Windows that made it difficult to
2226terminate ntpd under windows.
2227This is a recommended upgrade for Windows.
2228
2229---
2230NTP 4.2.4p2 (Harlan Stenn <stenn@ntp.org>, 2007/06/19)
2231
2232Focus: Minor Bugfixes
2233
2234This release fixes a multicast mode authentication problem, 
2235an error in NTP packet handling on Windows that could lead to 
2236ntpd crashing, and several other minor bugs. Handling of 
2237multicast interfaces and logging configuration were improved. 
2238The required versions of autogen and libopts were incremented.
2239This is a recommended upgrade for Windows and multicast users.
2240
2241---
2242NTP 4.2.4 (Harlan Stenn <stenn@ntp.org>, 2006/12/31)
2243
2244Focus: enhancements and bug fixes.
2245
2246Dynamic interface rescanning was added to simplify the use of ntpd in 
2247conjunction with DHCP. GNU AutoGen is used for its command-line options 
2248processing. Separate PPS devices are supported for PARSE refclocks, MD5 
2249signatures are now provided for the release files. Drivers have been 
2250added for some new ref-clocks and have been removed for some older 
2251ref-clocks. This release also includes other improvements, documentation 
2252and bug fixes. 
2253
2254K&R C is no longer supported as of NTP-4.2.4. We are now aiming for ANSI 
2255C support.
2256
2257---
2258NTP 4.2.0 (Harlan Stenn <stenn@ntp.org>, 2003/10/15)
2259
2260Focus: enhancements and bug fixes.
2261