Home | History | Annotate | Line # | Download | only in dist
NEWS revision 1.1.1.6
      1 ---
      2 NTP 4.2.8p3 (Harlan Stenn <stenn (a] 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 (a] 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 (a] 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 (a] 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 (a] 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 (a] 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 (a] 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 (a] 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 (a] 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 (a] ntp.org>, 2009/12/08)
    791 
    792 Focus: enhancements and bug fixes.
    793 
    794 ---
    795 NTP 4.2.4p8 (Harlan Stenn <stenn (a] 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 (a] 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 (a] 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 (a] 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 (a] 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 (a] 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 (a] 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 (a] 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 (a] ntp.org>, 2003/10/15)
    958 
    959 Focus: enhancements and bug fixes.
    960