]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/ntp/NEWS
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / contrib / ntp / NEWS
1 ---
2 NTP 4.2.8p3 (Harlan Stenn <stenn@ntp.org>, 2015/06/29) 
3
4 Focus: 1 Security fix.  Bug fixes and enhancements.  Leap-second improvements.
5
6 Severity: MEDIUM
7
8 Security Fix:
9
10 * [Sec 2853] Crafted remote config packet can crash some versions of
11   ntpd.  Aleksis Kauppinen, Juergen Perlinger, Harlan Stenn.
12
13 Under specific circumstances an attacker can send a crafted packet to
14 cause a vulnerable ntpd instance to crash. This requires each of the
15 following to be true:
16
17 1) ntpd set up to allow remote configuration (not allowed by default), and
18 2) knowledge of the configuration password, and
19 3) access to a computer entrusted to perform remote configuration. 
20
21 This vulnerability is considered low-risk.
22
23 New features in this release:
24
25 Optional (disabled by default) support to have ntpd provide smeared
26 leap second time.  A specially built and configured ntpd will only
27 offer smeared time in response to client packets.  These response
28 packets will also contain a "refid" of 254.a.b.c, where the 24 bits
29 of a, b, and c encode the amount of smear in a 2:22 integer:fraction 
30 format.  See README.leapsmear and http://bugs.ntp.org/2855 for more
31 information.
32
33    *IF YOU CHOOSE TO CONFIGURE NTPD TO PROVIDE LEAP SMEAR TIME*
34    *BE SURE YOU DO NOT OFFER THAT TIME ON PUBLIC TIMESERVERS.*
35
36 We've imported the Unity test framework, and have begun converting
37 the existing google-test items to this new framework.  If you want
38 to write new tests or change old ones, you'll need to have ruby
39 installed.  You don't need ruby to run the test suite.
40
41 Bug Fixes and Improvements:
42
43 * CID 739725: Fix a rare resource leak in libevent/listener.c.
44 * CID 1295478: Quiet a pedantic potential error from the fix for Bug 2776.
45 * CID 1296235: Fix refclock_jjy.c and correcting type of the driver40-ja.html
46 * CID 1269537: Clean up a line of dead code in getShmTime().
47 * [Bug 1060] Buffer overruns in libparse/clk_rawdcf.c.  Helge Oldach.
48 * [Bug 2590] autogen-5.18.5.
49 * [Bug 2612] restrict: Warn when 'monitor' can't be disabled because
50   of 'limited'.
51 * [Bug 2650] fix includefile processing.
52 * [Bug 2745] ntpd -x steps clock on leap second
53    Fixed an initial-value problem that caused misbehaviour in absence of
54    any leapsecond information.
55    Do leap second stepping only of the step adjustment is beyond the
56    proper jump distance limit and step correction is allowed at all.
57 * [Bug 2750] build for Win64
58   Building for 32bit of loopback ppsapi needs def file
59 * [Bug 2776] Improve ntpq's 'help keytype'.
60 * [Bug 2778] Implement "apeers"  ntpq command to include associd.
61 * [Bug 2782] Refactor refclock_shm.c, add memory barrier protection.
62 * [Bug 2792] If the IFF_RUNNING interface flag is supported then an
63   interface is ignored as long as this flag is not set since the
64   interface is not usable (e.g., no link).
65 * [Bug 2794] Clean up kernel clock status reports.
66 * [Bug 2800] refclock_true.c true_debug() can't open debug log because
67   of incompatible open/fdopen parameters.
68 * [Bug 2804] install-local-data assumes GNU 'find' semantics.
69 * [Bug 2805] ntpd fails to join multicast group.
70 * [Bug 2806] refclock_jjy.c supports the Telephone JJY.
71 * [Bug 2808] GPSD_JSON driver enhancements, step 1.
72   Fix crash during cleanup if GPS device not present and char device.
73   Increase internal token buffer to parse all JSON data, even SKY.
74   Defer logging of errors during driver init until the first unit is
75   started, so the syslog is not cluttered when the driver is not used.
76   Various improvements, see http://bugs.ntp.org/2808 for details.
77   Changed libjsmn to a more recent version.
78 * [Bug 2810] refclock_shm.c memory barrier code needs tweaks for QNX.
79 * [Bug 2813] HP-UX needs -D__STDC_VERSION__=199901L and limits.h.
80 * [Bug 2815] net-snmp before v5.4 has circular library dependencies.
81 * [Bug 2821] Add a missing NTP_PRINTF and a missing const.
82 * [Bug 2822] New leap column in sntp broke NTP::Util.pm.
83 * [Bug 2824] Convert update-leap to perl. (also see 2769)
84 * [Bug 2825] Quiet file installation in html/ .
85 * [Bug 2830] ntpd doesn't always transfer the correct TAI offset via autokey
86    NTPD transfers the current TAI (instead of an announcement) now.
87    This might still needed improvement.
88    Update autokey data ASAP when 'sys_tai' changes.
89    Fix unit test that was broken by changes for autokey update.
90    Avoid potential signature length issue and use DPRINTF where possible
91      in ntp_crypto.c.
92 * [Bug 2832] refclock_jjy.c supports the TDC-300.
93 * [Bug 2834] Correct a broken html tag in html/refclock.html
94 * [Bug 2836] DFC77 patches from Frank Kardel to make decoding more
95   robust, and require 2 consecutive timestamps to be consistent.
96 * [Bug 2837] Allow a configurable DSCP value.
97 * [Bug 2837] add test for DSCP to ntpd/complete.conf.in
98 * [Bug 2842] Glitch in ntp.conf.def documentation stanza.
99 * [Bug 2842] Bug in mdoc2man.
100 * [Bug 2843] make check fails on 4.3.36
101    Fixed compiler warnings about numeric range overflow
102    (The original topic was fixed in a byplay to bug#2830)
103 * [Bug 2845] Harden memory allocation in ntpd.
104 * [Bug 2852] 'make check' can't find unity.h.  Hal Murray.
105 * [Bug 2854] Missing brace in libntp/strdup.c.  Masanari Iida.
106 * [Bug 2855] Parser fix for conditional leap smear code.  Harlan Stenn.
107 * [Bug 2855] Report leap smear in the REFID.  Harlan Stenn.
108 * [Bug 2855] Implement conditional leap smear code.  Martin Burnicki.
109 * [Bug 2856] ntpd should wait() on terminated child processes.  Paul Green.
110 * [Bug 2857] Stratus VOS does not support SIGIO.  Paul Green.
111 * [Bug 2859] Improve raw DCF77 robustness deconding.  Frank Kardel.
112 * [Bug 2860] ntpq ifstats sanity check is too stringent.  Frank Kardel.
113 * html/drivers/driver22.html: typo fix.  Harlan Stenn.
114 * refidsmear test cleanup.  Tomasz Flendrich.
115 * refidsmear function support and tests.  Harlan Stenn.
116 * sntp/tests/Makefile.am: remove g_nameresolution.cpp as it tested
117   something that was only in the 4.2.6 sntp.  Harlan Stenn.
118 * Modified tests/bug-2803/Makefile.am so it builds Unity framework tests.
119   Damir Tomić
120 * Modified tests/libtnp/Makefile.am so it builds Unity framework tests.
121   Damir Tomić
122 * Modified sntp/tests/Makefile.am so it builds Unity framework tests.
123   Damir Tomić
124 * tests/sandbox/smeartest.c: Harlan Stenn, Damir Tomic, Juergen Perlinger.
125 * Converted from gtest to Unity: tests/bug-2803/. Damir Tomić
126 * Converted from gtest to Unity: tests/libntp/ a_md5encrypt, atoint.c,
127   atouint.c, authkeys.c, buftvtots.c, calendar.c, caljulian.c,
128   calyearstart.c, clocktime.c, hextoint.c, lfpfunc.c, modetoa.c,
129   numtoa.c, numtohost.c, refnumtoa.c, ssl_init.c, statestr.c,
130   timespecops.c, timevalops.c, uglydate.c, vi64ops.c, ymd2yd.c.
131   Damir Tomić
132 * Converted from gtest to Unity: sntp/tests/ kodDatabase.c, kodFile.c,
133   networking.c, keyFile.c, utilities.cpp, sntptest.h,
134   fileHandlingTest.h. Damir Tomić
135 * Initial support for experimental leap smear code.  Harlan Stenn.
136 * Fixes to sntp/tests/fileHandlingTest.h.in.  Harlan Stenn.
137 * Report select() debug messages at debug level 3 now.
138 * sntp/scripts/genLocInfo: treat raspbian as debian.
139 * Unity test framework fixes.
140   ** Requires ruby for changes to tests.
141 * Initial support for PACKAGE_VERSION tests.
142 * sntp/libpkgver belongs in EXTRA_DIST, not DIST_SUBDIRS.
143 * tests/bug-2803/Makefile.am must distribute bug-2803.h.
144 * Add an assert to the ntpq ifstats code.
145 * Clean up the RLIMIT_STACK code.
146 * Improve the ntpq documentation around the controlkey keyid.
147 * ntpq.c cleanup.
148 * Windows port build cleanup.
149
150 ---
151 NTP 4.2.8p2 (Harlan Stenn <stenn@ntp.org>, 2015/04/07) 
152
153 Focus: Security and Bug fixes, enhancements.
154
155 Severity: MEDIUM
156  
157 In addition to bug fixes and enhancements, this release fixes the
158 following medium-severity vulnerabilities involving private key
159 authentication:
160
161 * [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto.
162
163     References: Sec 2779 / CVE-2015-1798 / VU#374268
164     Affects: All NTP4 releases starting with ntp-4.2.5p99 up to but not
165         including ntp-4.2.8p2 where the installation uses symmetric keys
166         to authenticate remote associations.
167     CVSS: (AV:A/AC:M/Au:N/C:P/I:P/A:P) Base Score: 5.4
168     Date Resolved: Stable (4.2.8p2) 07 Apr 2015
169     Summary: When ntpd is configured to use a symmetric key to authenticate
170         a remote NTP server/peer, it checks if the NTP message
171         authentication code (MAC) in received packets is valid, but not if
172         there actually is any MAC included. Packets without a MAC are
173         accepted as if they had a valid MAC. This allows a MITM attacker to
174         send false packets that are accepted by the client/peer without
175         having to know the symmetric key. The attacker needs to know the
176         transmit timestamp of the client to match it in the forged reply
177         and the false reply needs to reach the client before the genuine
178         reply from the server. The attacker doesn't necessarily need to be
179         relaying the packets between the client and the server.
180
181         Authentication using autokey doesn't have this problem as there is
182         a check that requires the key ID to be larger than NTP_MAXKEY,
183         which fails for packets without a MAC.
184     Mitigation:
185         Upgrade to 4.2.8p2, or later, from the NTP Project Download Page
186         or the NTP Public Services Project Download Page
187         Configure ntpd with enough time sources and monitor it properly. 
188     Credit: This issue was discovered by Miroslav Lichvar, of Red Hat. 
189
190 * [Sec 2781] Authentication doesn't protect symmetric associations against
191   DoS attacks.
192
193     References: Sec 2781 / CVE-2015-1799 / VU#374268
194     Affects: All NTP releases starting with at least xntp3.3wy up to but
195         not including ntp-4.2.8p2 where the installation uses symmetric
196         key authentication.
197     CVSS: (AV:A/AC:M/Au:N/C:P/I:P/A:P) Base Score: 5.4
198     Note: the CVSS base Score for this issue could be 4.3 or lower, and
199         it could be higher than 5.4.
200     Date Resolved: Stable (4.2.8p2) 07 Apr 2015
201     Summary: An attacker knowing that NTP hosts A and B are peering with
202         each other (symmetric association) can send a packet to host A
203         with source address of B which will set the NTP state variables
204         on A to the values sent by the attacker. Host A will then send
205         on its next poll to B a packet with originate timestamp that
206         doesn't match the transmit timestamp of B and the packet will
207         be dropped. If the attacker does this periodically for both
208         hosts, they won't be able to synchronize to each other. This is
209         a known denial-of-service attack, described at
210         https://www.eecis.udel.edu/~mills/onwire.html .
211
212         According to the document the NTP authentication is supposed to
213         protect symmetric associations against this attack, but that
214         doesn't seem to be the case. The state variables are updated even
215         when authentication fails and the peers are sending packets with
216         originate timestamps that don't match the transmit timestamps on
217         the receiving side.
218
219         This seems to be a very old problem, dating back to at least
220         xntp3.3wy. It's also in the NTPv3 (RFC 1305) and NTPv4 (RFC 5905)
221         specifications, so other NTP implementations with support for
222         symmetric associations and authentication may be vulnerable too.
223         An update to the NTP RFC to correct this error is in-process.
224     Mitigation:
225         Upgrade to 4.2.8p2, or later, from the NTP Project Download Page
226         or the NTP Public Services Project Download Page
227         Note that for users of autokey, this specific style of MITM attack
228         is simply a long-known potential problem.
229         Configure ntpd with appropriate time sources and monitor ntpd.
230         Alert your staff if problems are detected. 
231     Credit: This issue was discovered by Miroslav Lichvar, of Red Hat. 
232
233 * New script: update-leap
234 The update-leap script will verify and if necessary, update the
235 leap-second definition file.
236 It requires the following commands in order to work:
237
238         wget logger tr sed shasum
239
240 Some may choose to run this from cron.  It needs more portability testing.
241
242 Bug Fixes and Improvements:
243
244 * [Bug 1787] DCF77's formerly "antenna" bit is "call bit" since 2003.
245 * [Bug 1960] setsockopt IPV6_MULTICAST_IF: Invalid argument.
246 * [Bug 2346] "graceful termination" signals do not do peer cleanup.
247 * [Bug 2728] See if C99-style structure initialization works.
248 * [Bug 2747] Upgrade libevent to 2.1.5-beta.
249 * [Bug 2749] ntp/lib/NTP/Util.pm needs update for ntpq -w, IPv6, .POOL. .
250 * [Bug 2751] jitter.h has stale copies of l_fp macros.
251 * [Bug 2756] ntpd hangs in startup with gcc 3.3.5 on ARM.
252 * [Bug 2757] Quiet compiler warnings.
253 * [Bug 2759] Expose nonvolatile/clk_wander_threshold to ntpq.
254 * [Bug 2763] Allow different thresholds for forward and backward steps.
255 * [Bug 2766] ntp-keygen output files should not be world-readable.
256 * [Bug 2767] ntp-keygen -M should symlink to ntp.keys.
257 * [Bug 2771] nonvolatile value is documented in wrong units.
258 * [Bug 2773] Early leap announcement from Palisade/Thunderbolt
259 * [Bug 2774] Unreasonably verbose printout - leap pending/warning
260 * [Bug 2775] ntp-keygen.c fails to compile under Windows.
261 * [Bug 2777] Fixed loops and decoding of Meinberg GPS satellite info.
262   Removed non-ASCII characters from some copyright comments.
263   Removed trailing whitespace.
264   Updated definitions for Meinberg clocks from current Meinberg header files.
265   Now use C99 fixed-width types and avoid non-ASCII characters in comments.
266   Account for updated definitions pulled from Meinberg header files.
267   Updated comments on Meinberg GPS receivers which are not only called GPS16x.
268   Replaced some constant numbers by defines from ntp_calendar.h
269   Modified creation of parse-specific variables for Meinberg devices
270   in gps16x_message().
271   Reworked mk_utcinfo() to avoid printing of ambiguous leap second dates.
272   Modified mbg_tm_str() which now expexts an additional parameter controlling
273   if the time status shall be printed.
274 * [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto.
275 * [Sec 2781] Authentication doesn't protect symmetric associations against
276   DoS attacks.
277 * [Bug 2783] Quiet autoconf warnings about missing AC_LANG_SOURCE.
278 * [Bug 2789] Quiet compiler warnings from libevent.
279 * [Bug 2790] If ntpd sets the Windows MM timer highest resolution
280   pause briefly before measuring system clock precision to yield
281   correct results.
282 * Comment from Juergen Perlinger in ntp_calendar.c to make the code clearer.
283 * Use predefined function types for parse driver functions
284   used to set up function pointers.
285   Account for changed prototype of parse_inp_fnc_t functions.
286   Cast parse conversion results to appropriate types to avoid
287   compiler warnings.
288   Let ioctl() for Windows accept a (void *) to avoid compiler warnings
289   when called with pointers to different types.
290
291 ---
292 NTP 4.2.8p1 (Harlan Stenn <stenn@ntp.org>, 2015/02/04) 
293
294 Focus: Security and Bug fixes, enhancements.
295
296 Severity: HIGH
297  
298 In addition to bug fixes and enhancements, this release fixes the
299 following high-severity vulnerabilities:
300
301 * vallen is not validated in several places in ntp_crypto.c, leading
302   to a potential information leak or possibly a crash
303
304     References: Sec 2671 / CVE-2014-9297 / VU#852879
305     Affects: All NTP4 releases before 4.2.8p1 that are running autokey.
306     CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
307     Date Resolved: Stable (4.2.8p1) 04 Feb 2015
308     Summary: The vallen packet value is not validated in several code
309              paths in ntp_crypto.c which can lead to information leakage
310              or perhaps a crash of the ntpd process.
311     Mitigation - any of:
312         Upgrade to 4.2.8p1, or later, from the NTP Project Download Page
313                 or the NTP Public Services Project Download Page.
314         Disable Autokey Authentication by removing, or commenting out,
315                 all configuration directives beginning with the "crypto"
316                 keyword in your ntp.conf file. 
317     Credit: This vulnerability was discovered by Stephen Roettger of the
318         Google Security Team, with additional cases found by Sebastian
319         Krahmer of the SUSE Security Team and Harlan Stenn of Network
320         Time Foundation. 
321
322 * ::1 can be spoofed on some OSes, so ACLs based on IPv6 ::1 addresses
323   can be bypassed.
324
325     References: Sec 2672 / CVE-2014-9298 / VU#852879
326     Affects: All NTP4 releases before 4.2.8p1, under at least some
327         versions of MacOS and Linux. *BSD has not been seen to be vulnerable.
328     CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:C) Base Score: 9
329     Date Resolved: Stable (4.2.8p1) 04 Feb 2014
330     Summary: While available kernels will prevent 127.0.0.1 addresses
331         from "appearing" on non-localhost IPv4 interfaces, some kernels
332         do not offer the same protection for ::1 source addresses on
333         IPv6 interfaces. Since NTP's access control is based on source
334         address and localhost addresses generally have no restrictions,
335         an attacker can send malicious control and configuration packets
336         by spoofing ::1 addresses from the outside. Note Well: This is
337         not really a bug in NTP, it's a problem with some OSes. If you
338         have one of these OSes where ::1 can be spoofed, ALL ::1 -based
339         ACL restrictions on any application can be bypassed!
340     Mitigation:
341         Upgrade to 4.2.8p1, or later, from the NTP Project Download Page
342         or the NTP Public Services Project Download Page
343         Install firewall rules to block packets claiming to come from
344         ::1 from inappropriate network interfaces. 
345     Credit: This vulnerability was discovered by Stephen Roettger of
346         the Google Security Team. 
347
348 Additionally, over 30 bugfixes and improvements were made to the codebase.
349 See the ChangeLog for more information.
350
351 ---
352 NTP 4.2.8 (Harlan Stenn <stenn@ntp.org>, 2014/12/18) 
353  
354 Focus: Security and Bug fixes, enhancements.
355  
356 Severity: HIGH
357  
358 In addition to bug fixes and enhancements, this release fixes the
359 following high-severity vulnerabilities:
360
361 ************************** vv NOTE WELL vv *****************************
362
363 The vulnerabilities listed below can be significantly mitigated by
364 following the BCP of putting
365
366  restrict default ... noquery
367
368 in the ntp.conf file.  With the exception of:
369
370    receive(): missing return on error
371    References: Sec 2670 / CVE-2014-9296 / VU#852879
372
373 below (which is a limited-risk vulnerability), none of the recent
374 vulnerabilities listed below can be exploited if the source IP is
375 restricted from sending a 'query'-class packet by your ntp.conf file.
376
377 ************************** ^^ NOTE WELL ^^ *****************************
378
379 * Weak default key in config_auth().
380
381   References: [Sec 2665] / CVE-2014-9293 / VU#852879
382   CVSS: (AV:N/AC:L/Au:M/C:P/I:P/A:C) Base Score: 7.3
383   Vulnerable Versions: all releases prior to 4.2.7p11
384   Date Resolved: 28 Jan 2010
385
386   Summary: If no 'auth' key is set in the configuration file, ntpd
387         would generate a random key on the fly.  There were two
388         problems with this: 1) the generated key was 31 bits in size,
389         and 2) it used the (now weak) ntp_random() function, which was
390         seeded with a 32-bit value and could only provide 32 bits of
391         entropy.  This was sufficient back in the late 1990s when the
392         code was written.  Not today.
393
394   Mitigation - any of:
395         - Upgrade to 4.2.7p11 or later.
396         - Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
397
398   Credit: This vulnerability was noticed in ntp-4.2.6 by Neel Mehta
399         of the Google Security Team.
400
401 * Non-cryptographic random number generator with weak seed used by
402   ntp-keygen to generate symmetric keys.
403
404   References: [Sec 2666] / CVE-2014-9294 / VU#852879
405   CVSS: (AV:N/AC:L/Au:M/C:P/I:P/A:C) Base Score: 7.3
406   Vulnerable Versions: All NTP4 releases before 4.2.7p230
407   Date Resolved: Dev (4.2.7p230) 01 Nov 2011
408
409   Summary: Prior to ntp-4.2.7p230 ntp-keygen used a weak seed to
410         prepare a random number generator that was of good quality back
411         in the late 1990s. The random numbers produced was then used to
412         generate symmetric keys. In ntp-4.2.8 we use a current-technology
413         cryptographic random number generator, either RAND_bytes from
414         OpenSSL, or arc4random(). 
415
416   Mitigation - any of:
417         - Upgrade to 4.2.7p230 or later.
418         - Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
419
420   Credit:  This vulnerability was discovered in ntp-4.2.6 by
421         Stephen Roettger of the Google Security Team.
422
423 * Buffer overflow in crypto_recv()
424
425   References: Sec 2667 / CVE-2014-9295 / VU#852879
426   CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
427   Versions: All releases before 4.2.8
428   Date Resolved: Stable (4.2.8) 18 Dec 2014
429
430   Summary: When Autokey Authentication is enabled (i.e. the ntp.conf
431         file contains a 'crypto pw ...' directive) a remote attacker
432         can send a carefully crafted packet that can overflow a stack
433         buffer and potentially allow malicious code to be executed
434         with the privilege level of the ntpd process.
435
436   Mitigation - any of:
437         - Upgrade to 4.2.8, or later, or
438         - Disable Autokey Authentication by removing, or commenting out,
439           all configuration directives beginning with the crypto keyword
440           in your ntp.conf file. 
441
442   Credit: This vulnerability was discovered by Stephen Roettger of the
443         Google Security Team. 
444
445 * Buffer overflow in ctl_putdata()
446
447   References: Sec 2668 / CVE-2014-9295 / VU#852879
448   CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
449   Versions: All NTP4 releases before 4.2.8
450   Date Resolved: Stable (4.2.8) 18 Dec 2014
451
452   Summary: A remote attacker can send a carefully crafted packet that
453         can overflow a stack buffer and potentially allow malicious
454         code to be executed with the privilege level of the ntpd process.
455
456   Mitigation - any of:
457         - Upgrade to 4.2.8, or later.
458         - Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
459
460   Credit: This vulnerability was discovered by Stephen Roettger of the
461         Google Security Team. 
462
463 * Buffer overflow in configure()
464
465   References: Sec 2669 / CVE-2014-9295 / VU#852879
466   CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
467   Versions: All NTP4 releases before 4.2.8
468   Date Resolved: Stable (4.2.8) 18 Dec 2014
469
470   Summary: A remote attacker can send a carefully crafted packet that
471         can overflow a stack buffer and potentially allow malicious
472         code to be executed with the privilege level of the ntpd process.
473
474   Mitigation - any of:
475         - Upgrade to 4.2.8, or later.
476         - Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
477
478   Credit: This vulnerability was discovered by Stephen Roettger of the
479         Google Security Team. 
480
481 * receive(): missing return on error
482
483   References: Sec 2670 / CVE-2014-9296 / VU#852879
484   CVSS: (AV:N/AC:L/Au:N/C:N/I:N/A:P) Base Score: 5.0
485   Versions: All NTP4 releases before 4.2.8
486   Date Resolved: Stable (4.2.8) 18 Dec 2014
487
488   Summary: Code in ntp_proto.c:receive() was missing a 'return;' in
489         the code path where an error was detected, which meant
490         processing did not stop when a specific rare error occurred.
491         We haven't found a way for this bug to affect system integrity.
492         If there is no way to affect system integrity the base CVSS
493         score for this bug is 0. If there is one avenue through which
494         system integrity can be partially affected, the base score
495         becomes a 5. If system integrity can be partially affected
496         via all three integrity metrics, the CVSS base score become 7.5.
497
498   Mitigation - any of:
499         - Upgrade to 4.2.8, or later,
500         - Remove or comment out all configuration directives
501           beginning with the crypto keyword in your ntp.conf file. 
502
503   Credit: This vulnerability was discovered by Stephen Roettger of the
504         Google Security Team. 
505
506 See http://support.ntp.org/security for more information.
507
508 New features / changes in this release:
509
510 Important Changes
511
512 * Internal NTP Era counters
513
514 The internal counters that track the "era" (range of years) we are in
515 rolls over every 136 years'.  The current "era" started at the stroke of
516 midnight on 1 Jan 1900, and ends just before the stroke of midnight on
517 1 Jan 2036.
518 In the past, we have used the "midpoint" of the  range to decide which
519 era we were in.  Given the longevity of some products, it became clear
520 that it would be more functional to "look back" less, and "look forward"
521 more.  We now compile a timestamp into the ntpd executable and when we
522 get a timestamp we us the "built-on" to tell us what era we are in.
523 This check "looks back" 10 years, and "looks forward" 126 years.
524
525 * ntpdc responses disabled by default
526
527 Dave Hart writes:
528
529 For a long time, ntpq and its mostly text-based mode 6 (control) 
530 protocol have been preferred over ntpdc and its mode 7 (private 
531 request) protocol for runtime queries and configuration.  There has 
532 been a goal of deprecating ntpdc, previously held back by numerous 
533 capabilities exposed by ntpdc with no ntpq equivalent.  I have been 
534 adding commands to ntpq to cover these cases, and I believe I've 
535 covered them all, though I've not compared command-by-command 
536 recently. 
537
538 As I've said previously, the binary mode 7 protocol involves a lot of 
539 hand-rolled structure layout and byte-swapping code in both ntpd and 
540 ntpdc which is hard to get right.  As ntpd grows and changes, the 
541 changes are difficult to expose via ntpdc while maintaining forward 
542 and backward compatibility between ntpdc and ntpd.  In contrast, 
543 ntpq's text-based, label=value approach involves more code reuse and 
544 allows compatible changes without extra work in most cases. 
545
546 Mode 7 has always been defined as vendor/implementation-specific while 
547 mode 6 is described in RFC 1305 and intended to be open to interoperate 
548 with other implementations.  There is an early draft of an updated 
549 mode 6 description that likely will join the other NTPv4 RFCs 
550 eventually. (http://tools.ietf.org/html/draft-odonoghue-ntpv4-control-01)
551
552 For these reasons, ntpd 4.2.7p230 by default disables processing of 
553 ntpdc queries, reducing ntpd's attack surface and functionally 
554 deprecating ntpdc.  If you are in the habit of using ntpdc for certain 
555 operations, please try the ntpq equivalent.  If there's no equivalent, 
556 please open a bug report at http://bugs.ntp.org./
557
558 In addition to the above, over 1100 issues have been resolved between
559 the 4.2.6 branch and 4.2.8.  The ChangeLog file in the distribution
560 lists these.
561
562 --- 
563 NTP 4.2.6p5 (Harlan Stenn <stenn@ntp.org>, 2011/12/24) 
564  
565 Focus: Bug fixes
566  
567 Severity: Medium 
568  
569 This is a recommended upgrade. 
570
571 This release updates sys_rootdisp and sys_jitter calculations to match the
572 RFC specification, fixes a potential IPv6 address matching error for the
573 "nic" and "interface" configuration directives, suppresses the creation of
574 extraneous ephemeral associations for certain broadcastclient and
575 multicastclient configurations, cleans up some ntpq display issues, and
576 includes improvements to orphan mode, minor bugs fixes and code clean-ups.
577
578 New features / changes in this release:
579
580 ntpd
581
582  * Updated "nic" and "interface" IPv6 address handling to prevent 
583    mismatches with localhost [::1] and wildcard [::] which resulted from
584    using the address/prefix format (e.g. fe80::/64)
585  * Fix orphan mode stratum incorrectly counting to infinity
586  * Orphan parent selection metric updated to includes missing ntohl()
587  * Non-printable stratum 16 refid no longer sent to ntp
588  * Duplicate ephemeral associations suppressed for broadcastclient and
589    multicastclient without broadcastdelay
590  * Exclude undetermined sys_refid from use in loopback TEST12
591  * Exclude MODE_SERVER responses from KoD rate limiting
592  * Include root delay in clock_update() sys_rootdisp calculations
593  * get_systime() updated to exclude sys_residual offset (which only
594    affected bits "below" sys_tick, the precision threshold)
595  * sys.peer jitter weighting corrected in sys_jitter calculation
596
597 ntpq
598
599  * -n option extended to include the billboard "server" column
600  * IPv6 addresses in the local column truncated to prevent overruns
601
602 --- 
603 NTP 4.2.6p4 (Harlan Stenn <stenn@ntp.org>, 2011/09/22) 
604  
605 Focus: Bug fixes and portability improvements 
606  
607 Severity: Medium 
608  
609 This is a recommended upgrade. 
610  
611 This release includes build infrastructure updates, code 
612 clean-ups, minor bug fixes, fixes for a number of minor 
613 ref-clock issues, and documentation revisions. 
614  
615 Portability improvements affect AIX, HP-UX, Linux, OS X and 64-bit time_t. 
616  
617 New features / changes in this release: 
618  
619 Build system 
620  
621 * Fix checking for struct rtattr 
622 * Update config.guess and config.sub for AIX 
623 * Upgrade required version of autogen and libopts for building 
624   from our source code repository 
625  
626 ntpd 
627  
628 * Back-ported several fixes for Coverity warnings from ntp-dev 
629 * Fix a rare boundary condition in UNLINK_EXPR_SLIST() 
630 * Allow "logconfig =allall" configuration directive 
631 * Bind tentative IPv6 addresses on Linux 
632 * Correct WWVB/Spectracom driver to timestamp CR instead of LF 
633 * Improved tally bit handling to prevent incorrect ntpq peer status reports 
634 * Exclude the Undisciplined Local Clock and ACTS drivers from the initial 
635   candidate list unless they are designated a "prefer peer" 
636 * Prevent the consideration of Undisciplined Local Clock or ACTS drivers for 
637   selection during the 'tos orphanwait' period 
638 * Prefer an Orphan Mode Parent over the Undisciplined Local Clock or ACTS 
639   drivers 
640 * Improved support of the Parse Refclock trusttime flag in Meinberg mode 
641 * Back-port utility routines from ntp-dev: mprintf(), emalloc_zero() 
642 * Added the NTPD_TICKADJ_PPM environment variable for specifying baseline 
643   clock slew on Microsoft Windows 
644 * Code cleanup in libntpq 
645  
646 ntpdc 
647  
648 * Fix timerstats reporting 
649  
650 ntpdate 
651  
652 * Reduce time required to set clock 
653 * Allow a timeout greater than 2 seconds 
654  
655 sntp 
656  
657 * Backward incompatible command-line option change: 
658   -l/--filelog changed -l/--logfile (to be consistent with ntpd) 
659  
660 Documentation 
661  
662 * Update html2man. Fix some tags in the .html files 
663 * Distribute ntp-wait.html 
664
665 ---
666 NTP 4.2.6p3 (Harlan Stenn <stenn@ntp.org>, 2011/01/03)
667
668 Focus: Bug fixes and portability improvements
669
670 Severity: Medium
671
672 This is a recommended upgrade.
673
674 This release includes build infrastructure updates, code
675 clean-ups, minor bug fixes, fixes for a number of minor
676 ref-clock issues, and documentation revisions.
677
678 Portability improvements in this release affect AIX, Atari FreeMiNT,
679 FreeBSD4, Linux and Microsoft Windows.
680
681 New features / changes in this release:
682
683 Build system
684 * Use lsb_release to get information about Linux distributions.
685 * 'test' is in /usr/bin (instead of /bin) on some systems.
686 * Basic sanity checks for the ChangeLog file.
687 * Source certain build files with ./filename for systems without . in PATH.
688 * IRIX portability fix.
689 * Use a single copy of the "libopts" code.
690 * autogen/libopts upgrade.
691 * configure.ac m4 quoting cleanup.
692
693 ntpd
694 * Do not bind to IN6_IFF_ANYCAST addresses.
695 * Log the reason for exiting under Windows.
696 * Multicast fixes for Windows.
697 * Interpolation fixes for Windows.
698 * IPv4 and IPv6 Multicast fixes.
699 * Manycast solicitation fixes and general repairs.
700 * JJY refclock cleanup.
701 * NMEA refclock improvements.
702 * Oncore debug message cleanup.
703 * Palisade refclock now builds under Linux.
704 * Give RAWDCF more baud rates.
705 * Support Truetime Satellite clocks under Windows.
706 * Support Arbiter 1093C Satellite clocks under Windows.
707 * Make sure that the "filegen" configuration command defaults to "enable".
708 * Range-check the status codes (plus other cleanup) in the RIPE-NCC driver.
709 * Prohibit 'includefile' directive in remote configuration command.
710 * Fix 'nic' interface bindings.
711 * Fix the way we link with openssl if openssl is installed in the base
712   system.
713
714 ntp-keygen
715 * Fix -V coredump.
716 * OpenSSL version display cleanup.
717
718 ntpdc
719 * Many counters should be treated as unsigned.
720
721 ntpdate
722 * Do not ignore replies with equal receive and transmit timestamps.
723
724 ntpq
725 * libntpq warning cleanup.
726
727 ntpsnmpd
728 * Correct SNMP type for "precision" and "resolution".
729 * Update the MIB from the draft version to RFC-5907.
730
731 sntp
732 * Display timezone offset when showing time for sntp in the local
733   timezone.
734 * Pay proper attention to RATE KoD packets.
735 * Fix a miscalculation of the offset.
736 * Properly parse empty lines in the key file.
737 * Logging cleanup.
738 * Use tv_usec correctly in set_time().
739 * Documentation cleanup.
740
741 ---
742 NTP 4.2.6p2 (Harlan Stenn <stenn@ntp.org>, 2010/07/08)
743
744 Focus: Bug fixes and portability improvements
745
746 Severity: Medium
747
748 This is a recommended upgrade.
749
750 This release includes build infrastructure updates, code
751 clean-ups, minor bug fixes, fixes for a number of minor
752 ref-clock issues, improved KOD handling, OpenSSL related
753 updates and documentation revisions.
754
755 Portability improvements in this release affect Irix, Linux,
756 Mac OS, Microsoft Windows, OpenBSD and QNX6
757
758 New features / changes in this release:
759
760 ntpd
761 * Range syntax for the trustedkey configuration directive
762 * Unified IPv4 and IPv6 restrict lists
763
764 ntpdate
765 * Rate limiting and KOD handling
766
767 ntpsnmpd
768 * default connection to net-snmpd via a unix-domain socket
769 * command-line 'socket name' option
770
771 ntpq / ntpdc
772 * support for the "passwd ..." syntax
773 * key-type specific password prompts
774
775 sntp
776 * MD5 authentication of an ntpd
777 * Broadcast and crypto
778 * OpenSSL support
779
780 ---
781 NTP 4.2.6p1 (Harlan Stenn <stenn@ntp.org>, 2010/04/09)
782
783 Focus: Bug fixes, portability fixes, and documentation improvements
784
785 Severity: Medium
786
787 This is a recommended upgrade.
788
789 ---
790 NTP 4.2.6 (Harlan Stenn <stenn@ntp.org>, 2009/12/08)
791
792 Focus: enhancements and bug fixes.
793
794 ---
795 NTP 4.2.4p8 (Harlan Stenn <stenn@ntp.org>, 2009/12/08)
796
797 Focus: Security Fixes
798
799 Severity: HIGH
800
801 This release fixes the following high-severity vulnerability:
802
803 * [Sec 1331] DoS with mode 7 packets - CVE-2009-3563.
804
805   See http://support.ntp.org/security for more information.
806
807   NTP mode 7 (MODE_PRIVATE) is used by the ntpdc query and control utility.
808   In contrast, ntpq uses NTP mode 6 (MODE_CONTROL), while routine NTP time
809   transfers use modes 1 through 5.  Upon receipt of an incorrect mode 7
810   request or a mode 7 error response from an address which is not listed
811   in a "restrict ... noquery" or "restrict ... ignore" statement, ntpd will
812   reply with a mode 7 error response (and log a message).  In this case:
813
814         * If an attacker spoofs the source address of ntpd host A in a
815           mode 7 response packet sent to ntpd host B, both A and B will
816           continuously send each other error responses, for as long as
817           those packets get through.
818
819         * If an attacker spoofs an address of ntpd host A in a mode 7
820           response packet sent to ntpd host A, A will respond to itself
821           endlessly, consuming CPU and logging excessively.
822
823   Credit for finding this vulnerability goes to Robin Park and Dmitri
824   Vinokurov of Alcatel-Lucent.
825
826 THIS IS A STRONGLY RECOMMENDED UPGRADE.
827
828 ---
829 ntpd now syncs to refclocks right away.
830
831 Backward-Incompatible changes:
832
833 ntpd no longer accepts '-v name' or '-V name' to define internal variables.
834 Use '--var name' or '--dvar name' instead. (Bug 817)
835
836 ---
837 NTP 4.2.4p7 (Harlan Stenn <stenn@ntp.org>, 2009/05/04)
838
839 Focus: Security and Bug Fixes
840
841 Severity: HIGH
842
843 This release fixes the following high-severity vulnerability:
844
845 * [Sec 1151] Remote exploit if autokey is enabled.  CVE-2009-1252
846
847   See http://support.ntp.org/security for more information.
848
849   If autokey is enabled (if ntp.conf contains a "crypto pw whatever"
850   line) then a carefully crafted packet sent to the machine will cause
851   a buffer overflow and possible execution of injected code, running
852   with the privileges of the ntpd process (often root).
853
854   Credit for finding this vulnerability goes to Chris Ries of CMU.
855
856 This release fixes the following low-severity vulnerabilities:
857
858 * [Sec 1144] limited (two byte) buffer overflow in ntpq.  CVE-2009-0159
859   Credit for finding this vulnerability goes to Geoff Keating of Apple.
860   
861 * [Sec 1149] use SO_EXCLUSIVEADDRUSE on Windows
862   Credit for finding this issue goes to Dave Hart.
863
864 This release fixes a number of bugs and adds some improvements:
865
866 * Improved logging
867 * Fix many compiler warnings
868 * Many fixes and improvements for Windows
869 * Adds support for AIX 6.1
870 * Resolves some issues under MacOS X and Solaris
871
872 THIS IS A STRONGLY RECOMMENDED UPGRADE.
873
874 ---
875 NTP 4.2.4p6 (Harlan Stenn <stenn@ntp.org>, 2009/01/07)
876
877 Focus: Security Fix
878
879 Severity: Low
880
881 This release fixes oCERT.org's CVE-2009-0021, a vulnerability affecting
882 the OpenSSL library relating to the incorrect checking of the return
883 value of EVP_VerifyFinal function.
884
885 Credit for finding this issue goes to the Google Security Team for
886 finding the original issue with OpenSSL, and to ocert.org for finding
887 the problem in NTP and telling us about it.
888
889 This is a recommended upgrade.
890 ---
891 NTP 4.2.4p5 (Harlan Stenn <stenn@ntp.org>, 2008/08/17)
892
893 Focus: Minor Bugfixes 
894
895 This release fixes a number of Windows-specific ntpd bugs and 
896 platform-independent ntpdate bugs. A logging bugfix has been applied
897 to the ONCORE driver.
898
899 The "dynamic" keyword and is now obsolete and deferred binding to local 
900 interfaces is the new default. The minimum time restriction for the 
901 interface update interval has been dropped. 
902
903 A number of minor build system and documentation fixes are included. 
904
905 This is a recommended upgrade for Windows. 
906
907 ---
908 NTP 4.2.4p4 (Harlan Stenn <stenn@ntp.org>, 2007/09/10)
909
910 Focus: Minor Bugfixes
911
912 This release updates certain copyright information, fixes several display
913 bugs in ntpdc, avoids SIGIO interrupting malloc(), cleans up file descriptor
914 shutdown in the parse refclock driver, removes some lint from the code,
915 stops accessing certain buffers immediately after they were freed, fixes
916 a problem with non-command-line specification of -6, and allows the loopback
917 interface to share addresses with other interfaces.
918
919 ---
920 NTP 4.2.4p3 (Harlan Stenn <stenn@ntp.org>, 2007/06/29)
921
922 Focus: Minor Bugfixes
923
924 This release fixes a bug in Windows that made it difficult to
925 terminate ntpd under windows.
926 This is a recommended upgrade for Windows.
927
928 ---
929 NTP 4.2.4p2 (Harlan Stenn <stenn@ntp.org>, 2007/06/19)
930
931 Focus: Minor Bugfixes
932
933 This release fixes a multicast mode authentication problem, 
934 an error in NTP packet handling on Windows that could lead to 
935 ntpd crashing, and several other minor bugs. Handling of 
936 multicast interfaces and logging configuration were improved. 
937 The required versions of autogen and libopts were incremented.
938 This is a recommended upgrade for Windows and multicast users.
939
940 ---
941 NTP 4.2.4 (Harlan Stenn <stenn@ntp.org>, 2006/12/31)
942
943 Focus: enhancements and bug fixes.
944
945 Dynamic interface rescanning was added to simplify the use of ntpd in 
946 conjunction with DHCP. GNU AutoGen is used for its command-line options 
947 processing. Separate PPS devices are supported for PARSE refclocks, MD5 
948 signatures are now provided for the release files. Drivers have been 
949 added for some new ref-clocks and have been removed for some older 
950 ref-clocks. This release also includes other improvements, documentation 
951 and bug fixes. 
952
953 K&R C is no longer supported as of NTP-4.2.4. We are now aiming for ANSI 
954 C support.
955
956 ---
957 NTP 4.2.0 (Harlan Stenn <stenn@ntp.org>, 2003/10/15)
958
959 Focus: enhancements and bug fixes.