Home | History | Annotate | Line # | Download | only in dist
      1 ---
      2 NTP 4.2.8p18 (Harlan Stenn <stenn (a] ntp.org>, 2024 May 24)
      3 
      4 Focus: Bug fixes
      5 
      6 Severity: Recommended
      7 
      8 This release:
      9 
     10 - changes crypto (OpenSSL or compatible) detection and default build behavior.
     11   Previously, crypto was supported if available unless the --without-crypto
     12   option was given to configure.  With this release, the prior behavior of
     13   falling back to a crypto-free build if usable libcrypto was not found has
     14   changed to instead cause configure to fail with an error.
     15   The --without-crypto option must be explicitly provided if you want a build
     16   that does not use libcrypto functionality.
     17 - Fixes 40 bugs
     18 - Includes 40 other improvements
     19 
     20 Details below:
     21 
     22 * [Bug 3918] Tweak openssl header/library handling. <stenn (a] ntp.org>
     23 * [Bug 3914] Spurious "Unexpected origin timestamp" logged after time
     24              stepped. <hart (a] ntp.org>
     25 * [Bug 3913] Avoid duplicate IPv6 link-local manycast associations.
     26              <hart (a] ntp.org>
     27 * [Bug 3912] Avoid rare math errors in ntptrace.  <brian.utterback (a] oracle.com>
     28 * [Bug 3910] Memory leak using openssl-3 <hart (a] ntp.org>
     29 * [Bug 3909] Do not select multicast local address for unicast peer.
     30              <hart (a] ntp.org>
     31 * [Bug 3903] lib/isc/win32/strerror.c NTstrerror() is not thread-safe.
     32              <hart (a] ntp.org>
     33 * [Bug 3901] LIB_GETBUF isn't thread-safe. <hart (a] ntp.org>
     34 * [Bug 3900] fast_xmit() selects wrong local addr responding to mcast on
     35              Windows. <hart (a] ntp.org>
     36 * [Bug 3888] ntpd with multiple same-subnet IPs using manycastclient creates
     37              duplicate associations. <hart (a] ntp.org>
     38 * [Bug 3872] Ignore restrict mask for hostname. <hart (a] ntp.org>
     39 * [Bug 3871] 4.2.8p17 build without hopf6021 refclock enabled fails.
     40              Reported by Hans Mayer.  Moved NONEMPTY_TRANSLATION_UNIT
     41              declaration from ntp_types.h to config.h.  <hart (a] ntp.org>
     42 * [Bug 3870] Server drops client packets with ppoll < 4.  <stenn (a] ntp.org>
     43 * [Bug 3869] Remove long-gone "calldelay" & "crypto sign" from docs.
     44              Reported by PoolMUC (a] web.de. <hart (a] ntp.org>
     45 * [Bug 3868] Cannot restrict a pool peer. <hart (a] ntp.org>  Thanks to
     46              Edward McGuire for tracking down the deficiency.
     47 * [Bug 3864] ntpd IPv6 refid different for big-endian and little-endian.
     48              <hart (a] ntp.org>
     49 * [Bug 3859] Use NotifyIpInterfaceChange on Windows ntpd. <hart (a] ntp.org>
     50 * [Bug 3856] Enable Edit & Continue debugging with Visual Studio.
     51              <hart (a] ntp.org>
     52 * [Bug 3855] ntpq lacks an equivalent to ntpdc's delrestrict. <hart (a] ntp.org>
     53 * [Bug 3854] ntpd 4.2.8p17 corrupts rawstats file with space in refid.
     54              <hart (a] ntp.org>
     55 * [Bug 3853] Clean up warnings with modern compilers. <hart (a] ntp.org>
     56 * [Bug 3852] check-libntp.mf and friends are not triggering rebuilds as
     57              intended. <hart (a] ntp.org>
     58 * [Bug 3851] Drop pool server when no local address can reach it.
     59              <hart (a] ntp.org>
     60 * [Bug 3850] ntpq -c apeers breaks column formatting s2 w/refclock refid.
     61              <hart (a] ntp.org>
     62 * [Bug 3849] ntpd --wait-sync times out. <hart (a] ntp.org>
     63 * [Bug 3847] SSL detection in configure should run-test if runpath is needed.
     64              <hart (a] ntp.org>
     65 * [Bug 3846] Use -Wno-format-truncation by default. <hart (a] ntp.org>
     66 * [Bug 3845] accelerate pool clock_sync when IPv6 has only link-local access.
     67              <hart (a] ntp.org>
     68 * [Bug 3842] Windows ntpd PPSAPI DLL load failure crashes. <hart (a] ntp.org>
     69 * [Bug 3841] 4.2.8p17 build break w/ gcc 12 -Wformat-security without -Wformat
     70              Need to remove --Wformat-security when removing -Wformat to
     71              silence numerous libopts warnings.  <hart (a] ntp.org>
     72 * [Bug 3837] NULL pointer deref crash when ntpd deletes last interface.
     73              Reported by renmingshuai.  Correct UNLINK_EXPR_SLIST() when the
     74              list is empty. <hart (a] ntp.org>
     75 * [Bug 3835] NTP_HARD_*FLAGS not used by libevent tearoff. <hart (a] ntp.org>
     76 * [Bug 3831] pollskewlist zeroed on runtime configuration. <hart (a] ntp.org>
     77 * [Bug 3830] configure libevent check intersperses output with answer. <stenn@>
     78 * [Bug 3828] BK should ignore a git repo in the same directory.
     79              <burnicki (a] ntp.org>
     80 * [Bug 3827] Fix build in case CLOCK_HOPF6021 or CLOCK_WHARTON_400A
     81              is disabled.  <burnicki (a] ntp.org>
     82 * [Bug 3825] Don't touch HTML files unless building inside a BK repo.
     83              Fix the script checkHtmlFileDates.  <burnicki (a] ntp.org>
     84 * [Bug 3756] Improve OpenSSL library/header detection.
     85 * [Bug 3753] ntpd fails to start with FIPS-enabled OpenSSL 3. <hart (a] ntp.org>
     86 * [Bug 2734] TEST3 prevents initial interleave sync.  Fix from <PoolMUC (a] web.de>
     87 * Log failures to allocate receive buffers.  <hart (a] ntp.org>
     88 * Remove extraneous */ from libparse/ieee754io.c
     89 * Fix .datecheck target line in Makefile.am.  <stenn (a] ntp.org>
     90 * Update the copyright year.  <stenn (a] ntp.org>
     91 * Update ntp.conf documentation to add "delrestrict" and correct information
     92   about KoD rate limiting.  <hart (a] ntp.org>
     93 * html/clockopt.html cleanup.  <stenn (a] ntp.org>
     94 * util/lsf-times - added.  <stenn (a] ntp.org>
     95 * Add DSA, DSA-SHA, and SHA to tests/libntp/digests.c. <hart (a] ntp.org>
     96 * Provide ntpd thread names to debugger on Windows. <hart (a] ntp.org>
     97 * Remove dead code libntp/numtohost.c and its unit tests. <hart (a] ntp.org>
     98 * Remove class A, B, C IPv4 distinctions in netof(). <hart (a] ntp.org>
     99 * Use @configure_input@ in various *.in files to include a comment that
    100   the file is generated from another pointing to the *.in. <hart (a] ntp.org>
    101 * Correct underquoting, indents in ntp_facilitynames.m4. <hart (a] ntp.org>
    102 * Clean up a few warnings seen building with older gcc. <hart (a] ntp.org>
    103 * Fix build on older FreeBSD lacking sys/procctl.h. <hart (a] ntp.org>
    104 * Disable [Bug 3627] workaround on newer FreeBSD which has the kernel fix
    105   that makes it unnecessary, re-enabling ASLR stack gap. <hart (a] ntp.org>
    106 * Use NONEMPTY_COMPILATION_UNIT in more conditionally-compiled files.
    107 * Remove useless pointer to Windows Help from system error messages.
    108 * Avoid newlines within Windows error messages. <hart (a] ntp.org>
    109 * Ensure unique association IDs if wrapped. <hart (a] ntp.org>
    110 * Simplify calc_addr_distance(). <hart (a] ntp.org>
    111 * Clamp min/maxpoll in edge cases in newpeer(). <hart (a] ntp.org>
    112 * Quiet local addr change logging when unpeering. <hart (a] ntp.org>
    113 * Correct missing arg for %s printf specifier in 
    114   send_blocking_resp_internal(). <hart (a] ntp.org>
    115 * Suppress OpenSSL 3 deprecation warning clutter. <hart (a] ntp.org>
    116 * Correct OpenSSL usage in Autokey code to avoid warnings about
    117   discarding const qualifiers with OpenSSL 3. <hart (a] ntp.org>
    118 * Display KoD refid as text in recently added message. <hart (a] ntp.org>
    119 * Avoid running checkHtmlFileDates script repeatedly when no html/*.html
    120     files have changed. <hart (a] ntp.org>
    121 * Abort configure if --enable-crypto-rand given & unavailable. <hart (a] ntp.org>
    122 * Add configure --enable-verbose-ssl to trace SSL detection. <hart (a] ntp.org>
    123 * Add build test coverage for --disable-saveconfig to flock-build script.
    124   <hart (a] ntp.org>
    125 * Remove deprecated configure --with-arlib option. <hart (a] ntp.org>
    126 * Remove configure support for ISC UNIX ca. 1998. <hart (a] ntp.org>
    127 * Move NTP_OPENSSL and NTP_CRYPTO_RAND invocations from configure.ac files
    128   to NTP_LIBNTP. <hart (a] ntp.org>
    129 * Remove dead code: HAVE_U_INT32_ONLY_WITH_DNS. <hart (a] ntp.org>
    130 * Eliminate [v]snprintf redefinition warnings on macOS. <hart (a] ntp.org>
    131 * Fix clang 14 cast increases alignment warning on Linux. <hart (a] ntp.org>
    132 * Move ENABLE_CMAC to ntp_openssl.m4, reviving sntp/tests CMAC unit tests.
    133   <hart (a] ntp.org>
    134 * Use NTP_HARD_CPPFLAGS in libopts tearoff. <hart (a] ntp.org>
    135 * wire in --enable-build-framework-help
    136 
    137 ---
    138 NTP 4.2.8p17 (Harlan Stenn <stenn (a] ntp.org>, 2023 Jun 06)
    139 
    140 Focus: Bug fixes
    141 
    142 Severity: HIGH (for people running 4.2.8p16)
    143 
    144 This release:
    145 
    146 - fixes 3 bugs, including a regression
    147 - adds new unit tests
    148 
    149 Details below:
    150 
    151 * [Bug 3824] Spurious "ntpd: daemon failed to notify parent!" logged at
    152              event_sync.  Reported by Edward McGuire.  <hart (a] ntp.org>
    153 * [Bug 3822] ntpd significantly delays first poll of servers specified by name.
    154              <hart (a] ntp.org>  Miroslav Lichvar identified regression in 4.2.8p16.
    155 * [Bug 3821] 4.2.8p16 misreads hex authentication keys, won't interop with
    156              4.2.8p15 or earlier.  Reported by Matt Nordhoff, thanks to
    157 	     Miroslav Lichvar and Matt for rapid testing and identifying the
    158 	     problem. <hart (a] ntp.org>
    159 * Add tests/libntp/digests.c to catch regressions reading keys file or with
    160   symmetric authentication digest output.
    161 
    162 ---
    163 NTP 4.2.8p16 (Harlan Stenn <stenn (a] ntp.org>, 2023 May 30)
    164 
    165 Focus: Security, Bug fixes
    166 
    167 Severity: LOW
    168 
    169 This release:
    170 
    171 - fixes 4 vulnerabilities (3 LOW and 1 None severity), 
    172 - fixes 46 bugs
    173 - includes 15 general improvements
    174 - adds support for OpenSSL-3.0
    175 
    176 Details below:
    177 
    178 * [Sec 3808] Assertion failure in ntpq on malformed RT-11 date <perlinger (a] ntp.org>
    179 * [Sec 3807] praecis_parse() in the Palisade refclock driver has a
    180              hypothetical input buffer overflow. Reported by ... stenn@
    181 * [Sec 3806] libntp/mstolfp.c needs bounds checking <perlinger (a] ntp.org>
    182   - solved numerically instead of using string manipulation
    183 * [Sec 3767] An OOB KoD RATE value triggers an assertion when debug is enabled.
    184              <stenn (a] ntp.org>
    185 * [Bug 3819] Updated libopts/Makefile.am was missing NTP_HARD_* values. <stenn@>
    186 * [Bug 3817] Bounds-check "tos floor" configuration. <hart (a] ntp.org>
    187 * [Bug 3814] First poll delay of new or cleared associations miscalculated.
    188              <hart (a] ntp.org>
    189 * [Bug 3802] ntp-keygen -I default identity modulus bits too small for
    190              OpenSSL 3.  Reported by rmsh1216 (a] 163.com <hart (a] ntp.org>
    191 * [Bug 3801] gpsdjson refclock gps_open() device name mishandled. <hart (a] ntp.org>
    192 * [Bug 3800] libopts-42.1.17 does not compile with Microsoft C. <hart (a] ntp.org>
    193 * [Bug 3799] Enable libopts noreturn compiler advice for MSC. <hart (a] ntp.org>
    194 * [Bug 3797] Windows getaddrinfo w/AI_ADDRCONFIG fails for localhost when 
    195              disconnected, breaking ntpq and ntpdc. <hart (a] ntp.org>
    196 * [Bug 3795] pollskewlist documentation uses | when it shouldn't.
    197   - ntp.conf manual page and miscopt.html corrections. <hart (a] ntp.org>
    198 * [Bug 3793] Wrong variable type passed to record_raw_stats(). <hart (a] ntp.org>
    199   - Report and patch by Yuezhen LUAN <wei6410 (a] sina.com>.
    200 * [Bug 3786] Timer starvation on high-load Windows ntpd. <hart (a] ntp.org>
    201 * [Bug 3784] high-load ntpd on Windows deaf after enough ICMP TTL exceeded.
    202              <hart (a] ntp.org>
    203 * [Bug 3781] log "Unable to listen for broadcasts" for IPv4 <hart (a] ntp.org>
    204 * [Bug 3774] mode 6 packets corrupted in rawstats file <hart (a] ntp.org>
    205   - Reported by Edward McGuire, fix identified by <wei6410 (a] sina.com>.
    206 * [Bug 3758] Provide a 'device' config statement for refclocks <perlinger (a] ntp.org> 
    207 * [Bug 3757] Improve handling of Linux-PPS in NTPD <perlinger (a] ntp.org>
    208 * [Bug 3741] 4.2.8p15 can't build with glibc 2.34 <perlinger (a] ntp.org>
    209 * [Bug 3725] Make copyright of clk_wharton.c compatible with Debian.
    210              Philippe De Muyter <phdm (a] macqel.be>
    211 * [Bug 3724] ntp-keygen with openSSL 1.1.1 fails on Windows <perlinger (a] ntp.org>
    212   - openssl applink needed again for openSSL-1.1.1
    213 * [Bug 3719] configure.ac checks for closefrom() and getdtablesize() missing.
    214              Reported by Brian Utterback, broken in 2010 by <hart (a] ntp.org>
    215 * [Bug 3699] Problems handling drift file and restoring previous drifts <perlinger (a] ntp.org>
    216   - command line options override config statements where applicable
    217   - make initial frequency settings idempotent and reversible
    218   - make sure kernel PLL gets a recovered drift componsation
    219 * [Bug 3695] Fix memory leak with ntpq on Windows Server 2019 <perlinger (a] ntp.org>
    220 * [Bug 3694] NMEA refclock seems to unnecessarily require location in messages
    221   - misleading title; essentially a request to ignore the receiver status.
    222     Added a mode bit for this. <perlinger (a] ntp.org>
    223 * [Bug 3693] Improvement of error handling key lengths <perlinger (a] ntp.org>
    224   - original patch by Richard Schmidt, with mods & unit test fixes
    225 * [Bug 3692] /dev/gpsN requirement prevents KPPS <perlinger (a] ntp.org>
    226   - implement/wrap 'realpath()' to resolve symlinks in device names
    227 * [Bug 3691] Buffer Overflow reading GPSD output
    228   - original patch by matt<ntpbr (a] mattcorallo.com>
    229   - increased max PDU size to 4k to avoid truncation
    230 * [Bug 3690] newline in ntp clock variable (parse) <perlinger (a] ntp.org>
    231   - patch by Frank Kardel
    232 * [Bug 3689] Extension for MD5, SHA-1 and other keys <perlinger (a] ntp.org>
    233   - ntp{q,dc} now use the same password processing as ntpd does in the key
    234     file, so having a binary secret >= 11 bytes is possible for all keys.
    235     (This is a different approach to the problem than suggested)
    236 * [Bug 3688] GCC 10 build errors in testsuite <perlinger (a] ntp.org>
    237 * [Bug 3687] ntp_crypto_rand RNG status not known <perlinger (a] ntp.org>
    238   - patch by Gerry Garvey
    239 * [Bug 3682] Fixes for warnings when compiled without OpenSSL <perlinger (a] ntp.org>
    240   - original patch by Gerry Garvey
    241 * [Bug 3677] additional peer events not decoded in associations listing <perlinger (a] ntp.org>
    242   - original patch by Gerry Garvey
    243 * [Bug 3676] compiler warnings (CMAC, interrupt_buf, typo, fallthrough)
    244   - applied patches by Gerry Garvey
    245 * [Bug 3675] ntpq ccmds[] stores pointer to non-persistent storage
    246 * [Bug 3674] ntpq command 'execute only' using '~' prefix <perlinger (a] ntp.org>
    247   - idea+patch by Gerry Garvey
    248 * [Bug 3672] fix biased selection in median cut <perlinger (a] ntp.org>
    249 * [Bug 3666] avoid unlimited receive buffer allocation <perlinger (a] ntp.org>
    250   - follow-up: fix inverted sense in check, reset shortfall counter
    251 * [Bug 3660] Revert 4.2.8p15 change to manycast. <hart (a] ntp.org>
    252 * [Bug 3640] document "discard monitor" and fix the code. <hart (a] ntp.org>
    253   - fixed bug identified by Edward McGuire <perlinger (a] ntp.org>
    254 * [Bug 3626] (SNTP) UTC offset calculation needs dst flag <perlinger (a] ntp.org>
    255   - applied patch by Gerry Garvey
    256 * [Bug 3432] refclocks that 'write()' should check the result <perlinger (a] ntp.org>
    257   - backport from -dev, plus some more work on warnings for unchecked results
    258 * [Bug 3428] ntpd spinning consuming CPU on Linux router with full table.
    259              Reported by Israel G. Lugo. <hart (a] ntp.org>
    260 * [Bug 3103] libopts zsave_warn format string too few arguments <bkorb (a] gnu.org>
    261 * [Bug 2990] multicastclient incorrectly causes bind to broadcast address.
    262              Integrated patch from Brian Utterback. <hart (a] ntp.org>
    263 * [Bug 2525] Turn on automake subdir-objects across the project. <hart (a] ntp.org>
    264 * [Bug 2410] syslog an error message on panic exceeded. <brian.utterback (a] oracle.com>
    265 * Use correct rounding in mstolfp(). perlinger/hart
    266 * M_ADDF should use u_int32.  <hart (a] ntp.org>
    267 * Only define tv_fmt_libbuf() if we will use it. <stenn (a] ntp.org>
    268 * Use recv_buffer instead of the longer recv_space.X_recv_buffer. hart/stenn
    269 * Make sure the value returned by refid_str() prints cleanly. <stenn (a] ntp.org>
    270 * If DEBUG is enabled, the startup banner now says that debug assertions
    271   are in force and that ntpd will abort if any are violated. <stenn (a] ntp.org>
    272 * syslog valid incoming KoDs.  <stenn (a] ntp.org>
    273 * Rename a poorly-named variable.  <stenn (a] ntp.org>
    274 * Disable "embedded NUL in string" messages in libopts, when we can. <stenn@>
    275 * Use https in the AC_INIT URLs in configure.ac.  <stenn (a] ntp.org>
    276 * Implement NTP_FUNC_REALPATH.  <stenn (a] ntp.org>
    277 * Lose a gmake construct in ntpd/Makefile.am.  <stenn (a] ntp.org>
    278 * upgrade to: autogen-5.18.16
    279 * upgrade to: libopts-42.1.17
    280 * upgrade to: autoconf-2.71
    281 * upgrade to: automake-1.16.15
    282 * Upgrade to libevent-2.1.12-stable <stenn (a] ntp.org>
    283 * Support OpenSSL-3.0
    284 
    285 ---
    286 NTP 4.2.8p15 (Harlan Stenn <stenn (a] ntp.org>, 2020 Jun 23)
    287 
    288 Focus: Security, Bug fixes
    289 
    290 Severity: MEDIUM
    291 
    292 This release fixes one vulnerability: Associations that use CMAC
    293 authentication between ntpd from versions 4.2.8p11/4.3.97 and
    294 4.2.8p14/4.3.100 will leak a small amount of memory for each packet.
    295 Eventually, ntpd will run out of memory and abort.
    296 
    297 It also fixes 13 other bugs.
    298 
    299 * [Sec 3661] memory leak with AES128CMAC keys <perlinger (a] ntp.org>
    300 * [Bug 3670] Regression from bad merger between 3592 and 3596 <perlinger@>
    301   - Thanks to Sylar Tao
    302 * [Bug 3667] decodenetnum fails with numeric port <perlinger (a] ntp.org>
    303   - rewrite 'decodenetnum()' in terms of inet_pton
    304 * [Bug 3666] avoid unlimited receive buffer allocation <perlinger (a] ntp.org>
    305   - limit number of receive buffers, with an iron reserve for refclocks
    306 * [Bug 3664] Enable openSSL CMAC support on Windows <burnicki (a] ntp.org>
    307 * [Bug 3662] Fix build errors on Windows with VS2008 <burnicki (a] ntp.org>
    308 * [Bug 3660] Manycast orphan mode startup discovery problem. <stenn (a] ntp.org>
    309   - integrated patch from Charles Claggett
    310 * [Bug 3659] Move definition of psl[] from ntp_config.h to
    311   ntp_config.h <perlinger (a] ntp.org>
    312 * [Bug 3657] Wrong "Autokey group mismatch" debug message <perlinger (a] ntp.org>
    313 * [Bug 3655] ntpdc memstats hash counts <perlinger (a] ntp.org>
    314   - fix by Gerry garvey
    315 * [Bug 3653] Refclock jitter RMS calculation <perlinger (a] ntp.org>
    316   - thanks to Gerry Garvey
    317 * [Bug 3646] Avoid sync with unsync orphan <perlinger (a] ntp.org>
    318   - patch by Gerry Garvey
    319 * [Bug 3644] Unsynchronized server [...] selected as candidate <perlinger (a] ntp.org>
    320 * [Bug 3639] refclock_jjy: TS-JJY0x can skip time sync depending on the STUS reply. <abe (a] ntp.org>
    321   - applied patch by Takao Abe
    322 
    323 ---
    324 NTP 4.2.8p14 (Harlan Stenn <stenn (a] ntp.org>, 2020 Mar 03)
    325 
    326 Focus: Security, Bug fixes, enhancements.
    327 
    328 Severity: MEDIUM
    329 
    330 This release fixes three vulnerabilities: a bug that causes causes an ntpd
    331 instance that is explicitly configured to override the default and allow
    332 ntpdc (mode 7) connections to be made to a server to read some uninitialized
    333 memory; fixes the case where an unmonitored ntpd using an unauthenticated
    334 association to its servers may be susceptible to a forged packet DoS attack;
    335 and fixes an attack against a client instance that uses a single
    336 unauthenticated time source.  It also fixes 46 other bugs and addresses
    337 4 other issues.
    338 
    339 * [Sec 3610] process_control() should bail earlier on short packets. stenn@
    340   - Reported by Philippe Antoine
    341 * [Sec 3596] Highly predictable timestamp attack. <stenn (a] ntp.org>
    342   - Reported by Miroslav Lichvar
    343 * [Sec 3592] DoS attack on client ntpd <perlinger (a] ntp.org>
    344   - Reported by Miroslav Lichvar
    345 * [Bug 3637] Emit the version of ntpd in saveconfig.  stenn@
    346 * [Bug 3636] NMEA: combine time/date from multiple sentences <perlinger (a] ntp.org>
    347 * [Bug 3635] Make leapsecond file hash check optional <perlinger (a] ntp.org>
    348 * [Bug 3634] Typo in discipline.html, reported by Jason Harrison.  stenn@
    349 * [Bug 3628] raw DCF decoding - improve robustness with Zeller's congruence
    350   - implement Zeller's congruence in libparse and libntp <perlinger (a] ntp.org>
    351 * [Bug 3627] SIGSEGV on FreeBSD-12 with stack limit and stack gap <perlinger (a] ntp.org>
    352   - integrated patch by Cy Schubert
    353 * [Bug 3620] memory leak in ntpq sysinfo <perlinger (a] ntp.org>
    354   - applied patch by Gerry Garvey
    355 * [Bug 3619] Honour drefid setting in cooked mode and sysinfo <perlinger (a] ntp.org>
    356   - applied patch by Gerry Garvey
    357 * [Bug 3617] Add support for ACE III and Copernicus II receivers <perlinger (a] ntp.org>
    358   - integrated patch by Richard Steedman
    359 * [Bug 3615] accelerate refclock startup <perlinger (a] ntp.org>
    360 * [Bug 3613] Propagate noselect to mobilized pool servers <stenn (a] ntp.org>
    361   - Reported by Martin Burnicki
    362 * [Bug 3612] Use-of-uninitialized-value in receive function <perlinger (a] ntp.org>
    363   - Reported by Philippe Antoine
    364 * [Bug 3611] NMEA time interpreted incorrectly <perlinger (a] ntp.org>
    365   - officially document new "trust date" mode bit for NMEA driver
    366   - restore the (previously undocumented) "trust date" feature lost with [bug 3577] 
    367 * [Bug 3609] Fixing wrong falseticker in case of non-statistic jitter <perlinger (a] ntp.org>
    368   - mostly based on a patch by Michael Haardt, implementing 'fudge minjitter'
    369 * [Bug 3608] libparse fails to compile on S11.4SRU13 and later <perlinger (a] ntp.org>
    370   - removed ffs() and fls() prototypes as per Brian Utterback
    371 * [Bug 3604] Wrong param byte order passing into record_raw_stats() in
    372 	ntp_io.c <perlinger (a] ntp.org>
    373   - fixed byte and paramter order as suggested by wei6410 (a] sina.com 
    374 * [Bug 3601] Tests fail to link on platforms with ntp_cv_gc_sections_runs=no <perlinger (a] ntp.org>
    375 * [Bug 3599] Build fails on linux-m68k due to alignment issues <perlinger (a] ntp.org>
    376   - added padding as suggested by John Paul Adrian Glaubitz 
    377 * [Bug 3594] ntpd discards messages coming through nmead <perlinger (a] ntp.org>
    378 * [Bug 3593] ntpd discards silently nmea messages after the 5th string <perlinger (a] ntp.org>
    379 * [Bug 3590] Update refclock_oncore.c to the new GPS date API <perlinger (a] ntp.org>
    380 * [Bug 3585] Unity tests mix buffered and unbuffered output <perlinger (a] ntp.org>
    381   - stdout+stderr are set to line buffered during test setup now
    382 * [Bug 3583] synchronization error <perlinger (a] ntp.org>
    383   - set clock to base date if system time is before that limit
    384 * [Bug 3582] gpsdjson refclock fudgetime1 adjustment is doubled <perlinger (a] ntp.org>
    385 * [Bug 3580] Possible bug ntpq-subs (NULL dereference in dogetassoc) <perlinger (a] ntp.org>
    386   - Reported by Paulo Neves
    387 * [Bug 3577] Update refclock_zyfer.c to the new GPS date API <perlinger (a] ntp.org>
    388   - also updates for refclock_nmea.c and refclock_jupiter.c
    389 * [Bug 3576] New GPS date function API <perlinger (a] ntp.org>
    390 * [Bug 3573] nptdate: missleading error message <perlinger (a] ntp.org>
    391 * [Bug 3570] NMEA driver docs: talker ID not mentioned, typo <perlinger (a] ntp.org>
    392 * [Bug 3569] cleanup MOD_NANO/STA_NANO handling for 'ntpadjtimex()' <perlinger (a] ntp.org>
    393   - sidekick: service port resolution in 'ntpdate'
    394 * [Bug 3550] Reproducible build: Respect SOURCE_DATE_EPOCH <perlinger (a] ntp.org>
    395   - applied patch by Douglas Royds
    396 * [Bug 3542] ntpdc monlist parameters cannot be set <perlinger (a] ntp.org>
    397 * [Bug 3533] ntpdc peer_info ipv6 issues <perlinger (a] ntp.org>
    398   - applied patch by Gerry Garvey
    399 * [Bug 3531] make check: test-decodenetnum fails <perlinger (a] ntp.org>
    400   - try to harden 'decodenetnum()' against 'getaddrinfo()' errors
    401   - fix wrong cond-compile tests in unit tests
    402 * [Bug 3517] Reducing build noise <perlinger (a] ntp.org>
    403 * [Bug 3516] Require tooling from this decade <perlinger (a] ntp.org>
    404   - patch by Philipp Prindeville
    405 * [Bug 3515] Refactor ntpdmain() dispatcher loop and group common code <perlinger (a] ntp.org>
    406   - patch by Philipp Prindeville
    407 * [Bug 3511] Get rid of AC_LANG_SOURCE() warnings <perlinger (a] ntp.org>
    408   - patch by Philipp Prindeville
    409 * [Bug 3510] Flatten out the #ifdef nesting in ntpdmain() <perlinger (a] ntp.org>
    410   - partial application of patch by Philipp Prindeville
    411 * [Bug 3491] Signed values of LFP datatypes should always display a sign
    412   - applied patch by Gerry Garvey & fixed unit tests <perlinger (a] ntp.org>
    413 * [Bug 3490] Patch to support Trimble Resolution Receivers <perlinger (a] ntp.org>
    414   - applied (modified) patch by Richard Steedman
    415 * [Bug 3473] RefID of refclocks should always be text format <perlinger (a] ntp.org>
    416   - applied patch by Gerry Garvey (with minor formatting changes)
    417 * [Bug 3132] Building 4.2.8p8 with disabled local libopts fails <perlinger (a] ntp.org>
    418   - applied patch by Miroslav Lichvar
    419 * [Bug 3094] ntpd trying to listen for broadcasts on a completely ipv6 network
    420   <perlinger (a] ntp.org>
    421 * [Bug 2420] ntpd doesn't run and exits with retval 0 when invalid user
    422              is specified with -u <perlinger (a] ntp.org>
    423   - monitor daemon child startup & propagate exit codes
    424 * [Bug 1433] runtime check whether the kernel really supports capabilities
    425   - (modified) patch by Kurt Roeckx <perlinger (a] ntp.org>
    426 * Clean up sntp/networking.c:sendpkt() error message.  <stenn (a] ntp.org>
    427 * Provide more detail on unrecognized config file parser tokens. <stenn (a] ntp.org>
    428 * Startup log improvements. <stenn (a] ntp.org>
    429 * Update the copyright year.
    430 
    431 ---
    432 NTP 4.2.8p13 (Harlan Stenn <stenn (a] ntp.org>, 2019 Mar 07)
    433 
    434 Focus: Security, Bug fixes, enhancements.
    435 
    436 Severity: MEDIUM
    437 
    438 This release fixes a bug that allows an attacker with access to an
    439 explicitly trusted source to send a crafted malicious mode 6 (ntpq)
    440 packet that can trigger a NULL pointer dereference, crashing ntpd.
    441 It also provides 17 other bugfixes and 1 other improvement:
    442 
    443 * [Sec 3565] Crafted null dereference attack in authenticated
    444 	     mode 6 packet <perlinger (a] ntp.org>
    445   - reported by Magnus Stubman
    446 * [Bug 3560] Fix build when HAVE_DROPROOT is not defined <perlinger (a] ntp.org>
    447   - applied patch by Ian Lepore
    448 * [Bug 3558] Crash and integer size bug <perlinger (a] ntp.org>
    449   - isolate and fix linux/windows specific code issue
    450 * [Bug 3556] ntp_loopfilter.c snprintf compilation warnings <perlinger (a] ntp.org>
    451   - provide better function for incremental string formatting
    452 * [Bug 3555] Tidy up print alignment of debug output from ntpdate <perlinger (a] ntp.org>
    453   - applied patch by Gerry Garvey
    454 * [Bug 3554] config revoke stores incorrect value <perlinger (a] ntp.org>
    455   - original finding by Gerry Garvey, additional cleanup needed
    456 * [Bug 3549] Spurious initgroups() error message <perlinger (a] ntp.org>
    457   - patch by Christous Zoulas
    458 * [Bug 3548] Signature not verified on windows system <perlinger (a] ntp.org>
    459   - finding by Chen Jiabin, plus another one by me
    460 * [Bug 3541] patch to fix STA_NANO struct timex units <perlinger (a] ntp.org>
    461   - applied patch by Maciej Szmigiero
    462 * [Bug 3540] Cannot set minsane to 0 anymore <perlinger (a] ntp.org>
    463   - applied patch by Andre Charbonneau
    464 * [Bug 3539] work_fork build fails when droproot is not supported <perlinger (a] ntp.org>
    465   - applied patch by Baruch Siach
    466 * [Bug 3538] Build fails for no-MMU targets <perlinger (a] ntp.org>
    467   - applied patch by Baruch Siach
    468 * [Bug 3535] libparse won't handle GPS week rollover <perlinger (a] ntp.org>
    469   - refactored handling of GPS era based on 'tos basedate' for
    470     parse (TSIP) and JUPITER clocks
    471 * [Bug 3529] Build failures on Mac OS X 10.13 (High Sierra) <perlinger (a] ntp.org>
    472   - patch by Daniel J. Luke; this does not fix a potential linker
    473     regression issue on MacOS.
    474 * [Bug 3527 - Backward Incompatible] mode7 clockinfo fudgeval2 packet
    475   anomaly <perlinger (a] ntp.org>, reported by GGarvey.
    476   - --enable-bug3527-fix support by HStenn
    477 * [Bug 3526] Incorrect poll interval in packet <perlinger (a] ntp.org>
    478   - applied patch by Gerry Garvey
    479 * [Bug 3471] Check for openssl/[ch]mac.h.  <perlinger (a] ntp.org>
    480   - added missing check, reported by Reinhard Max <perlinger (a] ntp.org>
    481 * [Bug 1674] runtime crashes and sync problems affecting both x86 and x86_64
    482   - this is a variant of [bug 3558] and should be fixed with it
    483 * Implement 'configure --disable-signalled-io'
    484 
    485 --
    486 NTP 4.2.8p12 (Harlan Stenn <stenn (a] ntp.org>, 2018/14/09)
    487 
    488 Focus: Security, Bug fixes, enhancements.
    489 
    490 Severity: MEDIUM
    491 
    492 This release fixes a "hole" in the noepeer capability introduced to ntpd
    493 in ntp-4.2.8p11, and a buffer overflow in the openhost() function used by
    494 ntpq and ntpdc.  It also provides 26 other bugfixes, and 4 other improvements:
    495 
    496 * [Sec 3505] Buffer overflow in the openhost() call of ntpq and ntpdc.
    497 
    498 * [Sec 3012] Fix a hole in the new "noepeer" processing.
    499 
    500 * Bug Fixes:
    501  [Bug 3521] Fix a logic bug in the INVALIDNAK checks.  <stenn (a] ntp.org>
    502  [Bug 3509] Add support for running as non-root on FreeBSD, Darwin,
    503             other TrustedBSD platforms
    504  - applied patch by Ian Lepore <perlinger (a] ntp.org>
    505  [Bug 3506] Service Control Manager interacts poorly with NTPD <perlinger (a] ntp.org>
    506  - changed interaction with SCM to signal pending startup
    507  [Bug 3486] Buffer overflow in ntpq/ntpq.c:tstflags() <perlinger (a] ntp.org>
    508  - applied patch by Gerry Garvey
    509  [Bug 3485] Undefined sockaddr used in error messages in ntp_config.c <perlinger (a] ntp.org>
    510  - applied patch by Gerry Garvey
    511  [Bug 3484] ntpq response from ntpd is incorrect when REFID is null <perlinger (a] ntp.org>
    512  - rework of ntpq 'nextvar()' key/value parsing
    513  [Bug 3482] Fixes for compilation warnings (ntp_io.c & ntpq-subs.c) <perlinger (a] ntp.org>
    514  - applied patch by Gerry Garvey (with mods)
    515  [Bug 3480] Refclock sample filter not cleared on clock STEP <perlinger (a] ntp.org>
    516  - applied patch by Gerry Garvey
    517  [Bug 3479] ctl_putrefid() allows unsafe characters through to ntpq <perlinger (a] ntp.org>
    518  - applied patch by Gerry Garvey (with mods)
    519  [Bug 3476]ctl_putstr() sends empty unquoted string [...] <perlinger (a] ntp.org>
    520  - applied patch by Gerry Garvey (with mods); not sure if that's bug or feature, though
    521  [Bug 3475] modify prettydate() to suppress output of zero time <perlinger (a] ntp.org>
    522  - applied patch by Gerry Garvey
    523  [Bug 3474] Missing pmode in mode7 peer info response <perlinger (a] ntp.org>
    524  - applied patch by Gerry Garvey
    525  [Bug 3471] Check for openssl/[ch]mac.h.  HStenn.
    526  - add #define ENABLE_CMAC support in configure.  HStenn.
    527  [Bug 3470] ntpd4.2.8p11 fails to compile without OpenSSL <perlinger (a] ntp.org>
    528  [Bug 3469] Incomplete string compare [...] in is_refclk_addr <perlinger (a] ntp.org>
    529  - patch by Stephen Friedl
    530  [Bug 3467] Potential memory fault in ntpq [...] <perlinger (a] ntp.org>
    531  - fixed IO redirection and CTRL-C handling in ntq and ntpdc
    532  [Bug 3465] Default TTL values cannot be used <perlinger (a] ntp.org>
    533  [Bug 3461] refclock_shm.c: clear error status on clock recovery <perlinger (a] ntp.org>
    534  - initial patch by Hal Murray; also fixed refclock_report() trouble
    535  [Bug 3460] Fix typo in ntpq.texi, reported by Kenyon Ralph.  <stenn (a] ntp.org>
    536  [Bug 3456] Use uintptr_t rather than size_t to store an integer in a pointer
    537  - According to Brooks Davis, there was only one location <perlinger (a] ntp.org>
    538  [Bug 3449] ntpq - display "loop" instead of refid [...] <perlinger (a] ntp.org>
    539  - applied patch by Gerry Garvey
    540  [Bug 3445] Symmetric peer won't sync on startup <perlinger (a] ntp.org>
    541  - applied patch by Gerry Garvey
    542  [Bug 3442] Fixes for ntpdate as suggested by Gerry Garvey,
    543  with modifications
    544  New macro REFID_ISTEXT() which is also used in ntpd/ntp_control.c.
    545  [Bug 3434] ntpd clears STA_UNSYNC on start <perlinger (a] ntp.org>
    546  - applied patch by Miroslav Lichvar
    547  [Bug 3426] ntpdate.html -t default is 2 seconds.  Leonid Evdokimov.
    548  [Bug 3121] Drop root privileges for the forked DNS worker <perlinger (a] ntp.org>
    549  - integrated patch by  Reinhard Max
    550  [Bug 2821] minor build issues <perlinger (a] ntp.org>
    551  - applied patches by Christos Zoulas, including real bug fixes
    552  html/authopt.html: cleanup, from <stenn (a] ntp.org>
    553  ntpd/ntpd.c: DROPROOT cleanup.  <stenn (a] ntp.org>
    554  Symmetric key range is 1-65535.  Update docs.   <stenn (a] ntp.org>
    555 
    556 --
    557 NTP 4.2.8p11 (Harlan Stenn <stenn (a] ntp.org>, 2018/02/27)
    558 
    559 Focus: Security, Bug fixes, enhancements.
    560 
    561 Severity: MEDIUM
    562 
    563 This release fixes 2 low-/medium-, 1 informational/medum-, and 2 low-severity
    564 vulnerabilities in ntpd, one medium-severity vulernability in ntpq, and
    565 provides 65 other non-security fixes and improvements:
    566 
    567 * NTP Bug 3454: Unauthenticated packet can reset authenticated interleaved
    568 	association (LOW/MED)
    569    Date Resolved: Stable (4.2.8p11) 27 Feb 2018
    570    References: Sec 3454 / CVE-2018-7185 / VU#961909
    571    Affects: ntp-4.2.6, up to but not including ntp-4.2.8p11.
    572    CVSS2: MED 4.3 (AV:N/AC:M/Au:N/C:N/I:N/A:P) This could score between
    573 	2.9 and 6.8.
    574    CVSS3: LOW 3.1 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L This could
    575 	score between 2.6 and 3.1
    576    Summary:
    577 	The NTP Protocol allows for both non-authenticated and
    578 	authenticated associations, in client/server, symmetric (peer),
    579 	and several broadcast modes. In addition to the basic NTP
    580 	operational modes, symmetric mode and broadcast servers can
    581 	support an interleaved mode of operation. In ntp-4.2.8p4 a bug
    582 	was inadvertently introduced into the protocol engine that
    583 	allows a non-authenticated zero-origin (reset) packet to reset
    584 	an authenticated interleaved peer association. If an attacker
    585 	can send a packet with a zero-origin timestamp and the source
    586 	IP address of the "other side" of an interleaved association,
    587 	the 'victim' ntpd will reset its association. The attacker must
    588 	continue sending these packets in order to maintain the
    589 	disruption of the association. In ntp-4.0.0 thru ntp-4.2.8p6,
    590 	interleave mode could be entered dynamically. As of ntp-4.2.8p7,
    591 	interleaved mode must be explicitly configured/enabled.
    592    Mitigation:
    593 	Implement BCP-38.
    594 	Upgrade to 4.2.8p11, or later, from the NTP Project Download Page
    595 	    or the NTP Public Services Project Download Page.
    596 	If you are unable to upgrade to 4.2.8p11 or later and have
    597 	    'peer HOST xleave' lines in your ntp.conf file, remove the
    598 	    'xleave' option.
    599 	Have enough sources of time.
    600 	Properly monitor your ntpd instances.
    601 	If ntpd stops running, auto-restart it without -g .
    602    Credit:
    603    	This weakness was discovered by Miroslav Lichvar of Red Hat.
    604 
    605 * NTP Bug 3453: Interleaved symmetric mode cannot recover from bad
    606 	state (LOW/MED)
    607    Date Resolved: Stable (4.2.8p11) 27 Feb 2018
    608    References: Sec 3453 / CVE-2018-7184 / VU#961909
    609    Affects: ntpd in ntp-4.2.8p4, up to but not including ntp-4.2.8p11.
    610    CVSS2: MED 4.3 (AV:N/AC:M/Au:N/C:P/I:N/A:N)
    611 	Could score between 2.9 and 6.8.
    612    CVSS3: LOW 3.1 - CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L
    613 	Could score between 2.6 and 6.0.
    614    Summary:
    615    	The fix for NtpBug2952 was incomplete, and while it fixed one
    616 	problem it created another.  Specifically, it drops bad packets
    617 	before updating the "received" timestamp.  This means a
    618 	third-party can inject a packet with a zero-origin timestamp,
    619 	meaning the sender wants to reset the association, and the
    620 	transmit timestamp in this bogus packet will be saved as the
    621 	most recent "received" timestamp.  The real remote peer does
    622 	not know this value and this will disrupt the association until
    623 	the association resets.
    624    Mitigation:
    625 	Implement BCP-38.
    626 	Upgrade to ntp-4.2.8p11 or later from the NTP Project Download Page
    627 	    or the NTP Public Services Project Download Page.
    628 	Use authentication with 'peer' mode.
    629 	Have enough sources of time.
    630 	Properly monitor your ntpd instances.
    631 	If ntpd stops running, auto-restart it without -g .
    632    Credit:
    633    	This weakness was discovered by Miroslav Lichvar of Red Hat.
    634 
    635 * NTP Bug 3415: Provide a way to prevent authenticated symmetric passive
    636 	peering (LOW)
    637    Date Resolved: Stable (4.2.8p11) 27 Feb 2018
    638    References: Sec 3415 / CVE-2018-7170 / VU#961909
    639    	       Sec 3012 / CVE-2016-1549 / VU#718152
    640    Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
    641    	4.3.0 up to, but not including 4.3.92.  Resolved in 4.2.8p11.
    642    CVSS2: LOW 3.5 - (AV:N/AC:M/Au:S/C:N/I:P/A:N)
    643    CVSS3: LOW 3.1 - CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N
    644    Summary:
    645 	ntpd can be vulnerable to Sybil attacks.  If a system is set up to
    646 	use a trustedkey and if one is not using the feature introduced in
    647 	ntp-4.2.8p6 allowing an optional 4th field in the ntp.keys file to
    648 	specify which IPs can serve time, a malicious authenticated peer
    649 	-- i.e. one where the attacker knows the private symmetric key --
    650 	can create arbitrarily-many ephemeral associations in order to win
    651 	the clock selection of ntpd and modify a victim's clock.  Three
    652 	additional protections are offered in ntp-4.2.8p11.  One is the
    653 	new 'noepeer' directive, which disables symmetric passive
    654 	ephemeral peering. Another is the new 'ippeerlimit' directive,
    655 	which limits the number of peers that can be created from an IP.
    656 	The third extends the functionality of the 4th field in the
    657 	ntp.keys file to include specifying a subnet range.
    658    Mitigation:
    659 	Implement BCP-38.
    660 	Upgrade to ntp-4.2.8p11 or later from the NTP Project Download Page
    661 	    or the NTP Public Services Project Download Page.
    662 	Use the 'noepeer' directive to prohibit symmetric passive
    663 	    ephemeral associations.
    664 	Use the 'ippeerlimit' directive to limit the number of peers
    665 	    that can be created from an IP.
    666 	Use the 4th argument in the ntp.keys file to limit the IPs and
    667 	    subnets that can be time servers.
    668 	Have enough sources of time.
    669 	Properly monitor your ntpd instances.
    670 	If ntpd stops running, auto-restart it without -g .
    671    Credit:
    672 	This weakness was reported as Bug 3012 by Matthew Van Gundy of
    673 	Cisco ASIG, and separately by Stefan Moser as Bug 3415.
    674 
    675 * ntpq Bug 3414: decodearr() can write beyond its 'buf' limits (Medium)
    676    Date Resolved: 27 Feb 2018
    677    References: Sec 3414 / CVE-2018-7183 / VU#961909
    678    Affects: ntpq in ntp-4.2.8p6, up to but not including ntp-4.2.8p11.
    679    CVSS2: MED 6.8 (AV:N/AC:M/Au:N/C:P/I:P/A:P)
    680    CVSS3: MED 5.0 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L
    681    Summary:
    682    	ntpq is a monitoring and control program for ntpd.  decodearr()
    683 	is an internal function of ntpq that is used to -- wait for it --
    684 	decode an array in a response string when formatted data is being
    685 	displayed.  This is a problem in affected versions of ntpq if a
    686 	maliciously-altered ntpd returns an array result that will trip this
    687 	bug, or if a bad actor is able to read an ntpq request on its way to
    688 	a remote ntpd server and forge and send a response before the remote
    689 	ntpd sends its response.  It's potentially possible that the
    690 	malicious data could become injectable/executable code.
    691    Mitigation:
    692 	Implement BCP-38.
    693 	Upgrade to ntp-4.2.8p11 or later from the NTP Project Download Page
    694 	    or the NTP Public Services Project Download Page.
    695    Credit:
    696 	This weakness was discovered by Michael Macnair of Thales e-Security.
    697 
    698 * NTP Bug 3412: ctl_getitem(): buffer read overrun leads to undefined
    699 	behavior and information leak (Info/Medium)
    700    Date Resolved: 27 Feb 2018
    701    References: Sec 3412 / CVE-2018-7182 / VU#961909
    702    Affects: ntp-4.2.8p6, up to but not including ntp-4.2.8p11.
    703    CVSS2: INFO 0.0 - MED 5.0 (AV:N/AC:L/Au:N/C:P/I:N/A:N) 0.0 if C:N
    704    CVSS3: NONE 0.0 - MED 5.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
    705 	0.0 if C:N
    706    Summary:
    707 	ctl_getitem()  is used by ntpd to process incoming mode 6 packets.
    708 	A malicious mode 6 packet can be sent to an ntpd instance, and
    709 	if the ntpd instance is from 4.2.8p6 thru 4.2.8p10, that will
    710 	cause ctl_getitem() to read past the end of its buffer.
    711    Mitigation:
    712 	Implement BCP-38.
    713 	Upgrade to ntp-4.2.8p11 or later from the NTP Project Download Page
    714 	    or the NTP Public Services Project Download Page.
    715 	Have enough sources of time.
    716 	Properly monitor your ntpd instances.
    717 	If ntpd stops running, auto-restart it without -g .
    718    Credit:
    719    	This weakness was discovered by Yihan Lian of Qihoo 360.
    720 
    721 * NTP Bug 3012: Sybil vulnerability: ephemeral association attack
    722    Also see Bug 3415, above.
    723    Date Mitigated: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
    724    Date Resolved: Stable (4.2.8p11) 27 Feb 2018
    725    References: Sec 3012 / CVE-2016-1549 / VU#718152
    726    Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
    727 	4.3.0 up to, but not including 4.3.92.  Resolved in 4.2.8p11.
    728    CVSS2: LOW 3.5 - (AV:N/AC:M/Au:S/C:N/I:P/A:N)
    729    CVSS3: MED 5.3 - CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N
    730    Summary:
    731 	ntpd can be vulnerable to Sybil attacks.  If a system is set up
    732 	to use a trustedkey and if one is not using the feature
    733 	introduced in ntp-4.2.8p6 allowing an optional 4th field in the
    734 	ntp.keys file to specify which IPs can serve time, a malicious
    735 	authenticated peer -- i.e. one where the attacker knows the
    736 	private symmetric key -- can create arbitrarily-many ephemeral
    737 	associations in order to win the clock selection of ntpd and
    738 	modify a victim's clock.  Two additional protections are
    739 	offered in ntp-4.2.8p11.  One is the 'noepeer' directive, which
    740 	disables symmetric passive ephemeral peering. The other extends
    741 	the functionality of the 4th field in the ntp.keys file to
    742 	include specifying a subnet range.
    743    Mitigation:
    744 	Implement BCP-38.
    745 	Upgrade to 4.2.8p11, or later, from the NTP Project Download Page or
    746 	    the NTP Public Services Project Download Page.
    747 	Use the 'noepeer' directive to prohibit symmetric passive
    748 	    ephemeral associations.
    749 	Use the 'ippeerlimit' directive to limit the number of peer
    750 	    associations from an IP.
    751 	Use the 4th argument in the ntp.keys file to limit the IPs
    752 	    and subnets that can be time servers.
    753 	Properly monitor your ntpd instances.
    754    Credit:
    755    	This weakness was discovered by Matthew Van Gundy of Cisco ASIG.
    756 
    757 * Bug fixes:
    758  [Bug 3457] OpenSSL FIPS mode regression <perlinger (a] ntp.org>
    759  [Bug 3455] ntpd doesn't use scope id when binding multicast <perlinger (a] ntp.org>
    760  - applied patch by Sean Haugh 
    761  [Bug 3452] PARSE driver prints uninitialized memory. <perlinger (a] ntp.org>
    762  [Bug 3450] Dubious error messages from plausibility checks in get_systime()
    763  - removed error log caused by rounding/slew, ensured postcondition <perlinger (a] ntp.org>
    764  [Bug 3447] AES-128-CMAC (fixes) <perlinger (a] ntp.org>
    765  - refactoring the MAC code, too
    766  [Bug 3441] Validate the assumption that AF_UNSPEC is 0.  stenn (a] ntp.org
    767  [Bug 3439] When running multiple commands / hosts in ntpq... <perlinger (a] ntp.org>
    768  - applied patch by ggarvey
    769  [Bug 3438] Negative values and values > 999 days in... <perlinger (a] ntp.org>
    770  - applied patch by ggarvey (with minor mods)
    771  [Bug 3437] ntpd tries to open socket with AF_UNSPEC domain
    772  - applied patch (with mods) by Miroslav Lichvar <perlinger (a] ntp.org>
    773  [Bug 3435] anchor NTP era alignment <perlinger (a] ntp.org>
    774  [Bug 3433] sntp crashes when run with -a.  <stenn (a] ntp.org>
    775  [Bug 3430] ntpq dumps core (SIGSEGV) for "keytype md2"
    776  - fixed several issues with hash algos in ntpd, sntp, ntpq,
    777    ntpdc and the test suites <perlinger (a] ntp.org>
    778  [Bug 3424] Trimble Thunderbolt 1024 week millenium bug <perlinger (a] ntp.org>
    779  - initial patch by Daniel Pouzzner
    780  [Bug 3423] QNX adjtime() implementation error checking is
    781  wrong <perlinger (a] ntp.org>
    782  [Bug 3417] ntpq ifstats packet counters can be negative
    783  made IFSTATS counter quantities unsigned <perlinger (a] ntp.org>
    784  [Bug 3411] problem about SIGN(6) packet handling for ntp-4.2.8p10
    785  - raised receive buffer size to 1200 <perlinger (a] ntp.org>
    786  [Bug 3408] refclock_jjy.c: Avoid a wrong report of the coverity static
    787  analysis tool. <abe (a] ntp.org>
    788  [Bug 3405] update-leap.in: general cleanup, HTTPS support.  Paul McMath.
    789  [Bug 3404] Fix openSSL DLL usage under Windows <perlinger (a] ntp.org>
    790  - fix/drop assumptions on OpenSSL libs directory layout
    791  [Bug 3399] NTP: linker error in 4.2.8p10 during Linux cross-compilation
    792  - initial patch by timeflies (a] mail2tor.com  <perlinger (a] ntp.org>
    793  [Bug 3398] tests fail with core dump <perlinger (a] ntp.org>
    794  - patch contributed by Alexander Bluhm
    795  [Bug 3397] ctl_putstr() asserts that data fits in its buffer
    796  rework of formatting & data transfer stuff in 'ntp_control.c'
    797  avoids unecessary buffers and size limitations. <perlinger (a] ntp.org>
    798  [Bug 3394] Leap second deletion does not work on ntpd clients
    799  - fixed handling of dynamic deletion w/o leap file <perlinger (a] ntp.org>
    800  [Bug 3391] ntpd segfaults on startup due to small warmup thread stack size
    801  - increased mimimum stack size to 32kB <perlinger (a] ntp.org>
    802  [Bug 3367] Faulty LinuxPPS NMEA clock support in 4.2.8 <perlinger (a] ntp.org>
    803  - reverted handling of PPS kernel consumer to 4.2.6 behavior
    804  [Bug 3365] Updates driver40(-ja).html and miscopt.html <abe (a] ntp.org>
    805  [Bug 3358] Spurious KoD log messages in .INIT. phase.  HStenn.
    806  [Bug 3016] wrong error position reported for bad ":config pool"
    807  - fixed location counter & ntpq output <perlinger (a] ntp.org>
    808  [Bug 2900] libntp build order problem.  HStenn.
    809  [Bug 2878] Tests are cluttering up syslog <perlinger (a] ntp.org>
    810  [Bug 2737] Wrong phone number listed for USNO. ntp-bugs (a] bodosom.net,
    811  perlinger (a] ntp.org
    812  [Bug 2557] Fix Thunderbolt init. ntp-bugs (a] bodosom.net, perlinger@ntp.
    813  [Bug 948] Trustedkey config directive leaks memory. <perlinger (a] ntp.org>
    814  Use strlcpy() to copy strings, not memcpy().  HStenn.
    815  Typos.  HStenn.
    816  test_ntp_scanner_LDADD needs ntpd/ntp_io.o.  HStenn.
    817  refclock_jjy.c: Add missing "%s" to an msyslog() call.  HStenn.
    818  Build ntpq and libntpq.a with NTP_HARD_*FLAGS.  perlinger (a] ntp.org
    819  Fix trivial warnings from 'make check'. perlinger (a] ntp.org
    820  Fix bug in the override portion of the compiler hardening macro. HStenn.
    821  record_raw_stats(): Log entire packet.  Log writes.  HStenn.
    822  AES-128-CMAC support.  BInglis, HStenn, JPerlinger.
    823  sntp: tweak key file logging.  HStenn.
    824  sntp: pkt_output(): Improve debug output.  HStenn.
    825  update-leap: updates from Paul McMath.
    826  When using pkg-config, report --modversion.  HStenn.
    827  Clean up libevent configure checks.  HStenn.
    828  sntp: show the IP of who sent us a crypto-NAK.  HStenn.
    829  Allow .../N to specify subnet bits for IPs in ntp.keys.  HStenn, JPerlinger.
    830  authistrustedip() - use it in more places.  HStenn, JPerlinger.
    831  New sysstats: sys_lamport, sys_tsrounding.  HStenn.
    832  Update ntp.keys .../N documentation.  HStenn.
    833  Distribute testconf.yml.  HStenn.
    834  Add DPRINTF(2,...) lines to receive() for packet drops.  HStenn.
    835  Rename the configuration flag fifo variables.  HStenn.
    836  Improve saveconfig output.  HStenn.
    837  Decode restrict flags on receive() debug output.  HStenn.
    838  Decode interface flags on receive() debug output.  HStenn.
    839  Warn the user if deprecated "driftfile name WanderThreshold" is used.  HStenn.
    840  Update the documentation in ntp.conf.def .  HStenn.
    841  restrictions() must return restrict flags and ippeerlimit.  HStenn.
    842  Update ntpq peer documentation to describe the 'p' type.  HStenn.
    843  Rename restrict 'flags' to 'rflags.  Use an enum for the values.  HStenn.
    844  Provide dump_restricts() for debugging.  HStenn.
    845  Use consistent 4th arg type for [gs]etsockopt.  JPerlinger.
    846 
    847 * Other items:
    848 
    849 * update-leap needs the following perl modules:
    850 	Net::SSLeay
    851 	IO::Socket::SSL
    852 
    853 * New sysstats variables: sys_lamport, sys_tsrounding
    854 See them with: ntpq -c "rv 0 ss_lamport,ss_tsrounding"
    855 sys_lamport counts the number of observed Lamport violations, while
    856 sys_tsrounding counts observed timestamp rounding events.
    857 
    858 * New ntp.conf items:
    859 
    860 - restrict ... noepeer
    861 - restrict ... ippeerlimit N
    862 
    863 The 'noepeer' directive will disallow all ephemeral/passive peer
    864 requests.
    865 
    866 The 'ippeerlimit' directive limits the number of time associations
    867 for each IP in the designated set of addresses.  This limit does not
    868 apply to explicitly-configured associations.  A value of -1, the current
    869 default, means an unlimited number of associations may connect from a
    870 single IP.  0 means "none", etc.  Ordinarily the only way multiple
    871 associations would come from the same IP would be if the remote side
    872 was using a proxy.  But a trusted machine might become compromised,
    873 in which case an attacker might spin up multiple authenticated sessions
    874 from different ports.  This directive should be helpful in this case.
    875 
    876 * New ntp.keys feature: Each IP in the optional list of IPs in the 4th
    877 field may contain a /subnetbits specification, which identifies  the
    878 scope of IPs that may use this key.  This IP/subnet restriction can be
    879 used to limit the IPs that may use the key in most all situations where
    880 a key is used.
    881 --
    882 NTP 4.2.8p10 (Harlan Stenn <stenn (a] ntp.org>, 2017/03/21) 
    883 
    884 Focus: Security, Bug fixes, enhancements.
    885 
    886 Severity: MEDIUM
    887 
    888 This release fixes 5 medium-, 6 low-, and 4 informational-severity
    889 vulnerabilities, and provides 15 other non-security fixes and improvements:
    890 
    891 * NTP-01-016 NTP: Denial of Service via Malformed Config (Medium)
    892    Date Resolved: 21 Mar 2017
    893    References: Sec 3389 / CVE-2017-6464 / VU#325339
    894    Affects: All versions of NTP-4, up to but not including ntp-4.2.8p10, and
    895 	ntp-4.3.0 up to, but not including ntp-4.3.94.
    896    CVSS2: MED 4.6 (AV:N/AC:H/Au:M/C:N/I:N/A:C)
    897    CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
    898    Summary:
    899 	A vulnerability found in the NTP server makes it possible for an
    900 	authenticated remote user to crash ntpd via a malformed mode
    901 	configuration directive.
    902    Mitigation:
    903 	Implement BCP-38.
    904 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page or
    905 	    the NTP Public Services Project Download Page
    906 	Properly monitor your ntpd instances, and auto-restart
    907 	    ntpd (without -g) if it stops running. 
    908    Credit:
    909 	This weakness was discovered by Cure53. 
    910 
    911 * NTP-01-014 NTP: Buffer Overflow in DPTS Clock (Low)
    912     Date Resolved: 21 Mar 2017
    913     References: Sec 3388 / CVE-2017-6462 / VU#325339
    914     Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and ntp-4.3.0 up to, but not including ntp-4.3.94.
    915     CVSS2: Low 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P)
    916     CVSS3: Low 1.6 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
    917     Summary:
    918 	There is a potential for a buffer overflow in the legacy Datum
    919 	Programmable Time Server refclock driver.  Here the packets are
    920 	processed from the /dev/datum device and handled in
    921 	datum_pts_receive().  Since an attacker would be required to
    922 	somehow control a malicious /dev/datum device, this does not
    923 	appear to be a practical attack and renders this issue "Low" in
    924 	terms of severity.
    925    Mitigation:
    926 	If you have a Datum reference clock installed and think somebody
    927 	    may maliciously change the device, upgrade to 4.2.8p10, or
    928 	    later, from the NTP Project Download Page or the NTP Public
    929 	    Services Project Download Page
    930 	Properly monitor your ntpd instances, and auto-restart
    931 	    ntpd (without -g) if it stops running. 
    932    Credit:
    933 	This weakness was discovered by Cure53. 
    934 
    935 * NTP-01-012 NTP: Authenticated DoS via Malicious Config Option (Medium)
    936    Date Resolved: 21 Mar 2017
    937    References: Sec 3387 / CVE-2017-6463 / VU#325339
    938    Affects: All versions of ntp, up to but not including ntp-4.2.8p10, and
    939 	ntp-4.3.0 up to, but not including ntp-4.3.94.
    940    CVSS2: MED 4.6 (AV:N/AC:H/Au:M/C:N/I:N/A:C)
    941    CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
    942    Summary:
    943 	A vulnerability found in the NTP server allows an authenticated
    944 	remote attacker to crash the daemon by sending an invalid setting
    945 	via the :config directive.  The unpeer option expects a number or
    946 	an address as an argument.  In case the value is "0", a
    947 	segmentation fault occurs.
    948    Mitigation:
    949 	Implement BCP-38.
    950 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
    951 	    or the NTP Public Services Project Download Page 
    952 	Properly monitor your ntpd instances, and auto-restart
    953 	    ntpd (without -g) if it stops running. 
    954    Credit:
    955 	This weakness was discovered by Cure53. 
    956 
    957 * NTP-01-011 NTP: ntpq_stripquotes() returns incorrect value (Informational)
    958    Date Resolved: 21 Mar 2017
    959    References: Sec 3386
    960    Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
    961 	ntp-4.3.0 up to, but not including ntp-4.3.94.
    962    CVSS2: None 0.0 (AV:N/AC:H/Au:N/C:N/I:N/A:N)
    963    CVSS3: None 0.0 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:N
    964    Summary:
    965 	The NTP Mode 6 monitoring and control client, ntpq, uses the
    966 	function ntpq_stripquotes() to remove quotes and escape characters
    967 	from a given string.  According to the documentation, the function
    968 	is supposed to return the number of copied bytes but due to
    969 	incorrect pointer usage this value is always zero.  Although the
    970 	return value of this function is never used in the code, this
    971 	flaw could lead to a vulnerability in the future.  Since relying
    972 	on wrong return values when performing memory operations is a
    973 	dangerous practice, it is recommended to return the correct value
    974 	in accordance with the documentation pertinent to the code.
    975    Mitigation:
    976 	Implement BCP-38.
    977 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
    978 	    or the NTP Public Services Project Download Page
    979 	Properly monitor your ntpd instances, and auto-restart
    980 	    ntpd (without -g) if it stops running. 
    981    Credit:
    982 	This weakness was discovered by Cure53. 
    983 
    984 * NTP-01-010 NTP: ereallocarray()/eallocarray() underused (Info)
    985    Date Resolved: 21 Mar 2017
    986    References: Sec 3385
    987    Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
    988 	ntp-4.3.0 up to, but not including ntp-4.3.94.
    989    Summary:
    990 	NTP makes use of several wrappers around the standard heap memory
    991 	allocation functions that are provided by libc.  This is mainly
    992 	done to introduce additional safety checks concentrated on
    993 	several goals.  First, they seek to ensure that memory is not
    994 	accidentally freed, secondly they verify that a correct amount
    995 	is always allocated and, thirdly, that allocation failures are
    996 	correctly handled.  There is an additional implementation for
    997 	scenarios where memory for a specific amount of items of the
    998 	same size needs to be allocated.  The handling can be found in
    999 	the oreallocarray() function for which a further number-of-elements
   1000 	parameter needs to be provided.  Although no considerable threat
   1001 	was identified as tied to a lack of use of this function, it is
   1002 	recommended to correctly apply oreallocarray() as a preferred
   1003 	option across all of the locations where it is possible.
   1004    Mitigation:
   1005 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
   1006 	    or the NTP Public Services Project Download Page 
   1007    Credit:
   1008 	This weakness was discovered by Cure53. 
   1009 
   1010 * NTP-01-009 NTP: Privileged execution of User Library code (WINDOWS
   1011 	PPSAPI ONLY) (Low)
   1012    Date Resolved: 21 Mar 2017
   1013    References: Sec 3384 / CVE-2017-6455 / VU#325339
   1014    Affects: All Windows versions of ntp-4 that use the PPSAPI, up to but
   1015 	not including ntp-4.2.8p10, and ntp-4.3.0 up to, but not
   1016 	including ntp-4.3.94.
   1017    CVSS2: MED 3.8 (AV:L/AC:H/Au:S/C:N/I:N/A:C)
   1018    CVSS3: MED 4.0 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
   1019    Summary:
   1020 	The Windows NT port has the added capability to preload DLLs
   1021 	defined in the inherited global local environment variable
   1022 	PPSAPI_DLLS.  The code contained within those libraries is then
   1023 	called from the NTPD service, usually running with elevated
   1024 	privileges. Depending on how securely the machine is setup and
   1025 	configured, if ntpd is configured to use the PPSAPI under Windows
   1026 	this can easily lead to a code injection.
   1027    Mitigation:
   1028 	Implement BCP-38.
   1029 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
   1030 	    or the NTP Public Services Project Download Page 
   1031    Credit:
   1032    This weakness was discovered by Cure53. 
   1033 
   1034 * NTP-01-008 NTP: Stack Buffer Overflow from Command Line (WINDOWS
   1035 	installer ONLY) (Low)
   1036    Date Resolved: 21 Mar 2017
   1037    References: Sec 3383 / CVE-2017-6452 / VU#325339
   1038    Affects: WINDOWS installer ONLY: All versions of the ntp-4 Windows
   1039 	installer, up to but not including ntp-4.2.8p10, and ntp-4.3.0 up
   1040 	to, but not including ntp-4.3.94.
   1041    CVSS2: Low 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P)
   1042    CVSS3: Low 1.8 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
   1043    Summary:
   1044 	The Windows installer for NTP calls strcat(), blindly appending
   1045 	the string passed to the stack buffer in the addSourceToRegistry()
   1046 	function.  The stack buffer is 70 bytes smaller than the buffer
   1047 	in the calling main() function.  Together with the initially
   1048 	copied Registry path, the combination causes a stack buffer
   1049 	overflow and effectively overwrites the stack frame.  The
   1050 	passed application path is actually limited to 256 bytes by the
   1051 	operating system, but this is not sufficient to assure that the
   1052 	affected stack buffer is consistently protected against
   1053 	overflowing at all times.
   1054    Mitigation:
   1055 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
   1056 	or the NTP Public Services Project Download Page 
   1057    Credit:
   1058 	This weakness was discovered by Cure53. 
   1059 
   1060 * NTP-01-007 NTP: Data Structure terminated insufficiently (WINDOWS
   1061 	installer ONLY) (Low)
   1062    Date Resolved: 21 Mar 2017
   1063    References: Sec 3382 / CVE-2017-6459 / VU#325339
   1064    Affects: WINDOWS installer ONLY: All ntp-4 versions of the Windows
   1065 	installer, up to but not including ntp-4.2.8p10, and ntp-4.3.0
   1066 	up to, but not including ntp-4.3.94.
   1067    CVSS2: Low 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P)
   1068    CVSS3: Low 1.8 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
   1069    Summary:
   1070 	The Windows installer for NTP calls strcpy() with an argument
   1071 	that specifically contains multiple null bytes.  strcpy() only
   1072 	copies a single terminating null character into the target
   1073 	buffer instead of copying the required double null bytes in the
   1074 	addKeysToRegistry() function.  As a consequence, a garbage
   1075 	registry entry can be created.  The additional arsize parameter
   1076 	is erroneously set to contain two null bytes and the following
   1077 	call to RegSetValueEx() claims to be passing in a multi-string
   1078 	value, though this may not be true.
   1079    Mitigation:
   1080 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
   1081 	    or the NTP Public Services Project Download Page 
   1082    Credit:
   1083 	This weakness was discovered by Cure53. 
   1084 
   1085 * NTP-01-006 NTP: Copious amounts of Unused Code (Informational)
   1086    References: Sec 3381
   1087    Summary:
   1088 	The report says: Statically included external projects
   1089 	potentially introduce several problems and the issue of having
   1090 	extensive amounts of code that is "dead" in the resulting binary
   1091 	must clearly be pointed out.  The unnecessary unused code may or
   1092 	may not contain bugs and, quite possibly, might be leveraged for
   1093 	code-gadget-based branch-flow redirection exploits.  Analogically,
   1094 	having source trees statically included as well means a failure
   1095 	in taking advantage of the free feature for periodical updates.
   1096 	This solution is offered by the system's Package Manager. The
   1097 	three libraries identified are libisc, libevent, and libopts.
   1098    Resolution:
   1099 	For libisc, we already only use a portion of the original library.
   1100 	We've found and fixed bugs in the original implementation (and
   1101 	offered the patches to ISC), and plan to see what has changed
   1102 	since we last upgraded the code.  libisc is generally not
   1103 	installed, and when it it we usually only see the static libisc.a
   1104 	file installed.  Until we know for sure that the bugs we've found
   1105 	and fixed are fixed upstream, we're better off with the copy we
   1106 	are using.
   1107 
   1108         Version 1 of libevent was the only production version available
   1109 	until recently, and we've been requiring version 2 for a long time.
   1110 	But if the build system has at least version 2 of libevent
   1111 	installed, we'll use the version that is installed on the system.
   1112 	Otherwise, we provide a copy of libevent that we know works.
   1113 
   1114         libopts is provided by GNU AutoGen, and that library and package
   1115 	undergoes frequent API version updates.  The version of autogen
   1116 	used to generate the tables for the code must match the API
   1117 	version in libopts.  AutoGen can be ... difficult to build and
   1118 	install, and very few developers really need it.  So we have it
   1119 	on our build and development machines, and we provide the
   1120 	specific version of the libopts code in the distribution to make
   1121 	sure that the proper API version of libopts is available.
   1122 
   1123         As for the point about there being code in these libraries that
   1124 	NTP doesn't use, OK.  But other packages used these libraries as
   1125 	well, and it is reasonable to assume that other people are paying
   1126 	attention to security and code quality issues for the overall
   1127 	libraries.  It takes significant resources to analyze and
   1128 	customize these libraries to only include what we need, and to
   1129 	date we believe the cost of this effort does not justify the benefit. 
   1130    Credit:
   1131 	This issue was discovered by Cure53. 
   1132 
   1133 * NTP-01-005 NTP: Off-by-one in Oncore GPS Receiver (Low)
   1134    Date Resolved: 21 Mar 2017
   1135    References: Sec 3380
   1136    Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
   1137    	ntp-4.3.0 up to, but not including ntp-4.3.94.
   1138    CVSS2: None 0.0 (AV:L/AC:H/Au:N/C:N/I:N/A:N)
   1139    CVSS3: None 0.0 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N
   1140    Summary:
   1141 	There is a fencepost error in a "recovery branch" of the code for
   1142 	the Oncore GPS receiver if the communication link to the ONCORE
   1143 	is weak / distorted and the decoding doesn't work.
   1144    Mitigation:
   1145         Upgrade to 4.2.8p10, or later, from the NTP Project Download Page or
   1146 	    the NTP Public Services Project Download Page
   1147         Properly monitor your ntpd instances, and auto-restart
   1148 	    ntpd (without -g) if it stops running. 
   1149    Credit:
   1150 	This weakness was discovered by Cure53. 
   1151 
   1152 * NTP-01-004 NTP: Potential Overflows in ctl_put() functions (Medium)
   1153    Date Resolved: 21 Mar 2017
   1154    References: Sec 3379 / CVE-2017-6458 / VU#325339
   1155    Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
   1156 	ntp-4.3.0 up to, but not including ntp-4.3.94.
   1157    CVSS2: MED 4.6 (AV:N/AC:H/Au:M/C:N/I:N/A:C)
   1158    CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
   1159    Summary:
   1160 	ntpd makes use of different wrappers around ctl_putdata() to
   1161 	create name/value ntpq (mode 6) response strings.  For example,
   1162 	ctl_putstr() is usually used to send string data (variable names
   1163 	or string data).  The formatting code was missing a length check
   1164 	for variable names.  If somebody explicitly created any unusually
   1165 	long variable names in ntpd (longer than 200-512 bytes, depending
   1166 	on the type of variable), then if any of these variables are
   1167 	added to the response list it would overflow a buffer.
   1168    Mitigation:
   1169 	Implement BCP-38.
   1170 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
   1171 	    or the NTP Public Services Project Download Page
   1172 	If you don't want to upgrade, then don't setvar variable names
   1173 	    longer than 200-512 bytes in your ntp.conf file.
   1174 	Properly monitor your ntpd instances, and auto-restart
   1175 	    ntpd (without -g) if it stops running. 
   1176    Credit:
   1177 	This weakness was discovered by Cure53. 
   1178 
   1179 * NTP-01-003 NTP: Improper use of snprintf() in mx4200_send() (Low)
   1180    Date Resolved: 21 Mar 2017
   1181    References: Sec 3378 / CVE-2017-6451 / VU#325339
   1182    Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
   1183 	ntp-4.3.0 up to, but not including ntp-4.3.94.
   1184    CVSS2: LOW 0.8 (AV:L/AC:H/Au:M/C:N/I:N/A:P)
   1185    CVSS3: LOW 1.8 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N
   1186    Summary:
   1187 	The legacy MX4200 refclock is only built if is specifically
   1188 	enabled, and furthermore additional code changes are required to
   1189 	compile and use it.  But it uses the libc functions snprintf()
   1190 	and vsnprintf() incorrectly, which can lead to an out-of-bounds
   1191 	memory write due to an improper handling of the return value of
   1192 	snprintf()/vsnprintf().  Since the return value is used as an
   1193 	iterator and it can be larger than the buffer's size, it is
   1194 	possible for the iterator to point somewhere outside of the
   1195 	allocated buffer space.  This results in an out-of-bound memory
   1196 	write.  This behavior can be leveraged to overwrite a saved
   1197 	instruction pointer on the stack and gain control over the
   1198 	execution flow.  During testing it was not possible to identify
   1199 	any malicious usage for this vulnerability.  Specifically, no
   1200 	way for an attacker to exploit this vulnerability was ultimately
   1201 	unveiled.  However, it has the potential to be exploited, so the
   1202 	code should be fixed.
   1203    Mitigation, if you have a Magnavox MX4200 refclock:
   1204 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
   1205 	    or the NTP Public Services Project Download Page.
   1206 	Properly monitor your ntpd instances, and auto-restart
   1207 	    ntpd (without -g) if it stops running. 
   1208    Credit:
   1209 	This weakness was discovered by Cure53. 
   1210 
   1211 * NTP-01-002 NTP: Buffer Overflow in ntpq when fetching reslist from a
   1212 	malicious ntpd (Medium)
   1213    Date Resolved: 21 Mar 2017
   1214    References: Sec 3377 / CVE-2017-6460 / VU#325339
   1215    Affects: All versions of ntpq, up to but not including ntp-4.2.8p10, and
   1216 	ntp-4.3.0 up to, but not including ntp-4.3.94.
   1217    CVSS2: MED 4.9 (AV:N/AC:H/Au:S/C:N/I:N/A:C)
   1218    CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
   1219    Summary:
   1220 	A stack buffer overflow in ntpq can be triggered by a malicious
   1221 	ntpd server when ntpq requests the restriction list from the server.
   1222 	This is due to a missing length check in the reslist() function.
   1223 	It occurs whenever the function parses the server's response and
   1224 	encounters a flagstr variable of an excessive length.  The string
   1225 	will be copied into a fixed-size buffer, leading to an overflow on
   1226 	the function's stack-frame.  Note well that this problem requires
   1227 	a malicious server, and affects ntpq, not ntpd.
   1228    Mitigation:
   1229 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
   1230 	    or the NTP Public Services Project Download Page
   1231 	If you can't upgrade your version of ntpq then if you want to know
   1232 	    the reslist of an instance of ntpd that you do not control,
   1233 	    know that if the target ntpd is malicious that it can send back
   1234 	    a response that intends to crash your ntpq process. 
   1235    Credit:
   1236 	This weakness was discovered by Cure53. 
   1237 
   1238 * NTP-01-001 NTP: Makefile does not enforce Security Flags (Informational)
   1239    Date Resolved: 21 Mar 2017
   1240    References: Sec 3376
   1241    Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
   1242 	ntp-4.3.0 up to, but not including ntp-4.3.94.
   1243    CVSS2: N/A
   1244    CVSS3: N/A
   1245    Summary:
   1246 	The build process for NTP has not, by default, provided compile
   1247 	or link flags to offer "hardened" security options.  Package
   1248 	maintainers have always been able to provide hardening security
   1249 	flags for their builds.  As of ntp-4.2.8p10, the NTP build
   1250 	system has a way to provide OS-specific hardening flags.  Please
   1251 	note that this is still not a really great solution because it
   1252 	is specific to NTP builds.  It's inefficient to have every
   1253 	package supply, track and maintain this information for every
   1254 	target build.  It would be much better if there was a common way
   1255 	for OSes to provide this information in a way that arbitrary
   1256 	packages could benefit from it.
   1257    Mitigation:
   1258 	Implement BCP-38.
   1259 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
   1260 	    or the NTP Public Services Project Download Page
   1261 	Properly monitor your ntpd instances, and auto-restart
   1262 	    ntpd (without -g) if it stops running. 
   1263    Credit:
   1264 	This weakness was reported by Cure53. 
   1265 
   1266 * 0rigin DoS (Medium)
   1267    Date Resolved: 21 Mar 2017
   1268    References: Sec 3361 / CVE-2016-9042 / VU#325339
   1269    Affects: ntp-4.2.8p9 (21 Nov 2016), up to but not including ntp-4.2.8p10
   1270    CVSS2: MED 4.9 (AV:N/AC:H/Au:N/C:N/I:N/A:C) (worst case)
   1271    CVSS3: MED 4.4 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H (worst case)
   1272    Summary:
   1273 	An exploitable denial of service vulnerability exists in the
   1274 	origin timestamp check functionality of ntpd 4.2.8p9.  A specially
   1275 	crafted unauthenticated network packet can be used to reset the
   1276 	expected origin timestamp for target peers.  Legitimate replies
   1277 	from targeted peers will fail the origin timestamp check (TEST2)
   1278 	causing the reply to be dropped and creating a denial of service
   1279 	condition.  This vulnerability can only be exploited if the
   1280 	attacker can spoof all of the servers.
   1281    Mitigation:
   1282 	Implement BCP-38.
   1283 	Configure enough servers/peers that an attacker cannot target
   1284 	    all of your time sources.
   1285 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
   1286 	    or the NTP Public Services Project Download Page
   1287 	Properly monitor your ntpd instances, and auto-restart
   1288 	    ntpd (without -g) if it stops running. 
   1289    Credit:
   1290 	This weakness was discovered by Matthew Van Gundy of Cisco. 
   1291 
   1292 Other fixes:
   1293 
   1294 * [Bug 3393] clang scan-build findings <perlinger (a] ntp.org>
   1295 * [Bug 3363] Support for openssl-1.1.0 without compatibility modes
   1296   - rework of patch set from <ntp.org (a] eroen.eu>. <perlinger (a] ntp.org>
   1297 * [Bug 3356] Bugfix 3072 breaks multicastclient <perlinger (a] ntp.org>
   1298 * [Bug 3216] libntp audio ioctl() args incorrectly cast to int
   1299   on 4.4BSD-Lite derived platforms <perlinger (a] ntp.org>
   1300   - original patch by Majdi S. Abbas
   1301 * [Bug 3215] 'make distcheck' fails with new BK repo format <perlinger (a] ntp.org>
   1302 * [Bug 3173] forking async worker: interrupted pipe I/O <perlinger (a] ntp.org>
   1303   - initial patch by Christos Zoulas
   1304 * [Bug 3139] (...) time_pps_create: Exec format error <perlinger (a] ntp.org>
   1305   - move loader API from 'inline' to proper source
   1306   - augment pathless dlls with absolute path to NTPD
   1307   - use 'msyslog()' instead of 'printf() 'for reporting trouble
   1308 * [Bug 3107] Incorrect Logic for Peer Event Limiting <perlinger (a] ntp.org>
   1309   - applied patch by Matthew Van Gundy
   1310 * [Bug 3065] Quiet warnings on NetBSD <perlinger (a] ntp.org>
   1311   - applied some of the patches provided by Havard. Not all of them
   1312     still match the current code base, and I did not touch libopt.
   1313 * [Bug 3062] Change the process name of forked DNS worker <perlinger (a] ntp.org>
   1314   - applied patch by Reinhard Max. See bugzilla for limitations.
   1315 * [Bug 2923] Trap Configuration Fail <perlinger (a] ntp.org>
   1316   - fixed dependency inversion from [Bug 2837]
   1317 * [Bug 2896] Nothing happens if minsane < maxclock < minclock
   1318   - produce ERROR log message about dysfunctional daemon. <perlinger (a] ntp.org>
   1319 * [Bug 2851] allow -4/-6 on restrict line with mask <perlinger (a] ntp.org>
   1320   - applied patch by Miroslav Lichvar for ntp4.2.6 compat
   1321 * [Bug 2645] out-of-bound pointers in ctl_putsys and decode_bitflags
   1322   - Fixed these and some more locations of this pattern.
   1323     Probably din't get them all, though. <perlinger (a] ntp.org>
   1324 * Update copyright year.
   1325 
   1326 --
   1327 (4.2.8p9-win) 2017/02/01 Released by Harlan Stenn <stenn (a] ntp.org>
   1328 
   1329 * [Bug 3144] NTP does not build without openSSL. <perlinger (a] ntp.org>
   1330   - added missed changeset for automatic openssl lib detection
   1331   - fixed some minor warning issues
   1332 * [Bug 3095]  More compatibility with openssl 1.1. <perlinger (a] ntp.org>
   1333 * configure.ac cleanup.  stenn (a] ntp.org
   1334 * openssl configure cleanup.  stenn (a] ntp.org
   1335 
   1336 --
   1337 NTP 4.2.8p9 (Harlan Stenn <stenn (a] ntp.org>, 2016/11/21) 
   1338 
   1339 Focus: Security, Bug fixes, enhancements.
   1340 
   1341 Severity: HIGH
   1342 
   1343 In addition to bug fixes and enhancements, this release fixes the
   1344 following 1 high- (Windows only), 2 medium-, 2 medium-/low, and
   1345 5 low-severity vulnerabilities, and provides 28 other non-security
   1346 fixes and improvements:
   1347 
   1348 * Trap crash
   1349    Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
   1350    References: Sec 3119 / CVE-2016-9311 / VU#633847
   1351    Affects: ntp-4.0.90 (21 July 1999), possibly earlier, up to but not
   1352    	including 4.2.8p9, and ntp-4.3.0 up to but not including ntp-4.3.94.
   1353    CVSS2: MED 4.9 (AV:N/AC:H/Au:N/C:N/I:N/A:C)
   1354    CVSS3: MED 4.4 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H
   1355    Summary: 
   1356 	ntpd does not enable trap service by default. If trap service
   1357 	has been explicitly enabled, an attacker can send a specially
   1358 	crafted packet to cause a null pointer dereference that will
   1359 	crash ntpd, resulting in a denial of service. 
   1360    Mitigation:
   1361         Implement BCP-38.
   1362 	Use "restrict default noquery ..." in your ntp.conf file. Only
   1363 	    allow mode 6 queries from trusted networks and hosts. 
   1364         Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
   1365 	    or the NTP Public Services Project Download Page
   1366         Properly monitor your ntpd instances, and auto-restart ntpd
   1367 	    (without -g) if it stops running. 
   1368    Credit: This weakness was discovered by Matthew Van Gundy of Cisco.
   1369 
   1370 * Mode 6 information disclosure and DDoS vector
   1371    Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
   1372    References: Sec 3118 / CVE-2016-9310 / VU#633847
   1373    Affects: ntp-4.0.90 (21 July 1999), possibly earlier, up to but not
   1374 	including 4.2.8p9, and ntp-4.3.0 up to but not including ntp-4.3.94.
   1375    CVSS2: MED 6.4 (AV:A/AC:L/Au:N/C:N/I:N/A:P)
   1376    CVSS3: MED 6.5 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
   1377    Summary: 
   1378 	An exploitable configuration modification vulnerability exists
   1379 	in the control mode (mode 6) functionality of ntpd. If, against
   1380 	long-standing BCP recommendations, "restrict default noquery ..."
   1381 	is not specified, a specially crafted control mode packet can set
   1382 	ntpd traps, providing information disclosure and DDoS
   1383 	amplification, and unset ntpd traps, disabling legitimate
   1384 	monitoring. A remote, unauthenticated, network attacker can
   1385 	trigger this vulnerability. 
   1386    Mitigation:
   1387         Implement BCP-38.
   1388 	Use "restrict default noquery ..." in your ntp.conf file.
   1389         Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
   1390 	    or the NTP Public Services Project Download Page
   1391         Properly monitor your ntpd instances, and auto-restart ntpd
   1392 	    (without -g) if it stops running. 
   1393    Credit: This weakness was discovered by Matthew Van Gundy of Cisco.
   1394 
   1395 * Broadcast Mode Replay Prevention DoS
   1396    Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
   1397    References: Sec 3114 / CVE-2016-7427 / VU#633847
   1398    Affects: ntp-4.2.8p6, up to but not including ntp-4.2.8p9, and 
   1399 	ntp-4.3.90 up to, but not including ntp-4.3.94.
   1400    CVSS2: LOW 3.3 (AV:A/AC:L/Au:N/C:N/I:N/A:P)
   1401    CVSS3: MED 4.3 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
   1402    Summary: 
   1403 	The broadcast mode of NTP is expected to only be used in a
   1404 	trusted network. If the broadcast network is accessible to an
   1405 	attacker, a potentially exploitable denial of service
   1406 	vulnerability in ntpd's broadcast mode replay prevention
   1407 	functionality can be abused. An attacker with access to the NTP
   1408 	broadcast domain can periodically inject specially crafted
   1409 	broadcast mode NTP packets into the broadcast domain which,
   1410 	while being logged by ntpd, can cause ntpd to reject broadcast
   1411 	mode packets from legitimate NTP broadcast servers. 
   1412    Mitigation:
   1413         Implement BCP-38.
   1414         Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
   1415 	    or the NTP Public Services Project Download Page
   1416         Properly monitor your ntpd instances, and auto-restart ntpd
   1417 	    (without -g) if it stops running. 
   1418    Credit: This weakness was discovered by Matthew Van Gundy of Cisco.
   1419 
   1420 * Broadcast Mode Poll Interval Enforcement DoS
   1421    Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
   1422    References: Sec 3113 / CVE-2016-7428 / VU#633847
   1423    Affects: ntp-4.2.8p6, up to but not including ntp-4.2.8p9, and
   1424 	ntp-4.3.90 up to, but not including ntp-4.3.94
   1425    CVSS2: LOW 3.3 (AV:A/AC:L/Au:N/C:N/I:N/A:P)
   1426    CVSS3: MED 4.3 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
   1427    Summary: 
   1428 	The broadcast mode of NTP is expected to only be used in a
   1429 	trusted network. If the broadcast network is accessible to an
   1430 	attacker, a potentially exploitable denial of service
   1431 	vulnerability in ntpd's broadcast mode poll interval enforcement
   1432 	functionality can be abused. To limit abuse, ntpd restricts the
   1433 	rate at which each broadcast association will process incoming
   1434 	packets. ntpd will reject broadcast mode packets that arrive
   1435 	before the poll interval specified in the preceding broadcast
   1436 	packet expires. An attacker with access to the NTP broadcast
   1437 	domain can send specially crafted broadcast mode NTP packets to
   1438 	the broadcast domain which, while being logged by ntpd, will
   1439 	cause ntpd to reject broadcast mode packets from legitimate NTP
   1440 	broadcast servers. 
   1441    Mitigation:
   1442         Implement BCP-38.
   1443         Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
   1444 	    or the NTP Public Services Project Download Page
   1445         Properly monitor your ntpd instances, and auto-restart ntpd
   1446 	    (without -g) if it stops running. 
   1447    Credit: This weakness was discovered by Matthew Van Gundy of Cisco.
   1448 
   1449 * Windows: ntpd DoS by oversized UDP packet
   1450    Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
   1451    References: Sec 3110 / CVE-2016-9312 / VU#633847
   1452    Affects Windows only: ntp-4.?.?, up to but not including ntp-4.2.8p9,
   1453 	and ntp-4.3.0 up to, but not including ntp-4.3.94. 
   1454    CVSS2: HIGH 7.8 (AV:N/AC:L/Au:N/C:N/I:N/A:C)
   1455    CVSS3: HIGH 7.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
   1456    Summary: 
   1457 	If a vulnerable instance of ntpd on Windows receives a crafted
   1458 	malicious packet that is "too big", ntpd will stop working. 
   1459    Mitigation:
   1460         Implement BCP-38.
   1461         Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
   1462 	    or the NTP Public Services Project Download Page
   1463         Properly monitor your ntpd instances, and auto-restart ntpd
   1464 	    (without -g) if it stops running. 
   1465    Credit: This weakness was discovered by Robert Pajak of ABB.
   1466 
   1467 * 0rigin (zero origin) issues
   1468    Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
   1469    References: Sec 3102 / CVE-2016-7431 / VU#633847
   1470    Affects: ntp-4.2.8p8, and ntp-4.3.93.
   1471    CVSS2: MED 5.0 (AV:N/AC:L/Au:N/C:N/I:P/A:N)
   1472    CVSS3: MED 5.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
   1473    Summary: 
   1474 	Zero Origin timestamp problems were fixed by Bug 2945 in
   1475 	ntp-4.2.8p6. However, subsequent timestamp validation checks
   1476 	introduced a regression in the handling of some Zero origin
   1477 	timestamp checks.
   1478    Mitigation:
   1479         Implement BCP-38.
   1480         Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
   1481 	    or the NTP Public Services Project Download Page
   1482         Properly monitor your ntpd instances, and auto-restart ntpd
   1483 	    (without -g) if it stops running. 
   1484    Credit: This weakness was discovered by Sharon Goldberg and Aanchal
   1485 	Malhotra of Boston University.
   1486 
   1487 * read_mru_list() does inadequate incoming packet checks
   1488    Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
   1489    References: Sec 3082 / CVE-2016-7434 / VU#633847
   1490    Affects: ntp-4.2.7p22, up to but not including ntp-4.2.8p9, and
   1491 	ntp-4.3.0 up to, but not including ntp-4.3.94.
   1492    CVSS2: LOW 3.8 (AV:L/AC:H/Au:S/C:N/I:N/A:C)
   1493    CVSS3: LOW 3.8 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
   1494    Summary: 
   1495 	If ntpd is configured to allow mrulist query requests from a
   1496 	server that sends a crafted malicious packet, ntpd will crash
   1497 	on receipt of that crafted malicious mrulist query packet.
   1498    Mitigation:
   1499 	Only allow mrulist query packets from trusted hosts.
   1500         Implement BCP-38.
   1501         Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
   1502 	    or the NTP Public Services Project Download Page
   1503         Properly monitor your ntpd instances, and auto-restart ntpd
   1504 	    (without -g) if it stops running. 
   1505    Credit: This weakness was discovered by Magnus Stubman.
   1506 
   1507 * Attack on interface selection
   1508    Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
   1509    References: Sec 3072 / CVE-2016-7429 / VU#633847
   1510    Affects: ntp-4.2.7p385, up to but not including ntp-4.2.8p9, and
   1511 	ntp-4.3.0 up to, but not including ntp-4.3.94
   1512    CVSS2: LOW 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P)
   1513    CVSS3: LOW 1.6 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
   1514    Summary: 
   1515 	When ntpd receives a server response on a socket that corresponds
   1516 	to a different interface than was used for the request, the peer
   1517 	structure is updated to use the interface for new requests. If
   1518 	ntpd is running on a host with multiple interfaces in separate
   1519 	networks and the operating system doesn't check source address in
   1520 	received packets (e.g. rp_filter on Linux is set to 0), an
   1521 	attacker that knows the address of the source can send a packet
   1522 	with spoofed source address which will cause ntpd to select wrong
   1523 	interface for the source and prevent it from sending new requests
   1524 	until the list of interfaces is refreshed, which happens on
   1525 	routing changes or every 5 minutes by default. If the attack is
   1526 	repeated often enough (once per second), ntpd will not be able to
   1527 	synchronize with the source.
   1528    Mitigation:
   1529         Implement BCP-38.
   1530         Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
   1531 	    or the NTP Public Services Project Download Page
   1532 	If you are going to configure your OS to disable source address
   1533 	    checks, also configure your firewall configuration to control
   1534 	    what interfaces can receive packets from what networks.
   1535         Properly monitor your ntpd instances, and auto-restart ntpd
   1536 	    (without -g) if it stops running. 
   1537    Credit: This weakness was discovered by Miroslav Lichvar of Red Hat.
   1538 
   1539 * Client rate limiting and server responses
   1540    Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
   1541    References: Sec 3071 / CVE-2016-7426 / VU#633847
   1542    Affects: ntp-4.2.5p203, up to but not including ntp-4.2.8p9, and
   1543 	ntp-4.3.0 up to, but not including ntp-4.3.94
   1544    CVSS2: LOW 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P)
   1545    CVSS3: LOW 1.6 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
   1546    Summary: 
   1547 	When ntpd is configured with rate limiting for all associations
   1548 	(restrict default limited in ntp.conf), the limits are applied
   1549 	also to responses received from its configured sources. An
   1550 	attacker who knows the sources (e.g., from an IPv4 refid in
   1551 	server response) and knows the system is (mis)configured in this
   1552 	way can periodically send packets with spoofed source address to
   1553 	keep the rate limiting activated and prevent ntpd from accepting
   1554 	valid responses from its sources. 
   1555 
   1556 	While this blanket rate limiting can be useful to prevent
   1557 	brute-force attacks on the origin timestamp, it allows this DoS
   1558 	attack. Similarly, it allows the attacker to prevent mobilization
   1559 	of ephemeral associations.  
   1560    Mitigation:
   1561         Implement BCP-38.
   1562         Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
   1563 	    or the NTP Public Services Project Download Page
   1564         Properly monitor your ntpd instances, and auto-restart ntpd
   1565 	    (without -g) if it stops running. 
   1566    Credit: This weakness was discovered by Miroslav Lichvar of Red Hat.
   1567 
   1568 * Fix for bug 2085 broke initial sync calculations 
   1569    Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
   1570    References: Sec 3067 / CVE-2016-7433 / VU#633847
   1571    Affects: ntp-4.2.7p385, up to but not including ntp-4.2.8p9, and
   1572 	ntp-4.3.0 up to, but not including ntp-4.3.94. But the
   1573 	root-distance calculation in general is incorrect in all versions
   1574 	of ntp-4 until this release. 
   1575    CVSS2: LOW 1.2 (AV:L/AC:H/Au:N/C:N/I:N/A:P)
   1576    CVSS3: LOW 1.6 CVSS:3.0/AV:P/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:L
   1577    Summary: 
   1578 	Bug 2085 described a condition where the root delay was included
   1579 	twice, causing the jitter value to be higher than expected. Due
   1580 	to a misinterpretation of a small-print variable in The Book, the
   1581 	fix for this problem was incorrect, resulting in a root distance
   1582 	that did not include the peer dispersion. The calculations and
   1583 	formulae have been reviewed and reconciled, and the code has been
   1584 	updated accordingly. 
   1585    Mitigation:
   1586         Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
   1587 	    or the NTP Public Services Project Download Page
   1588         Properly monitor your ntpd instances, and auto-restart ntpd
   1589 	    (without -g) if it stops running. 
   1590    Credit: This weakness was discovered independently by Brian Utterback of
   1591 	Oracle, and Sharon Goldberg and Aanchal Malhotra of Boston University. 
   1592 
   1593 Other fixes:
   1594 
   1595 * [Bug 3142] bug in netmask prefix length detection <perlinger (a] ntp.org>
   1596 * [Bug 3138] gpsdjson refclock should honor fudgetime1. stenn (a] ntp.org
   1597 * [Bug 3129] Unknown hosts can put resolver thread into a hard loop
   1598   - moved retry decision where it belongs. <perlinger (a] ntp.org>
   1599 * [Bug 3125] NTPD doesn't fully start when ntp.conf entries are out of order
   1600   using the loopback-ppsapi-provider.dll <perlinger (a] ntp.org>
   1601 * [Bug 3116] unit tests for NTP time stamp expansion. <perlinger (a] ntp.org>
   1602 * [Bug 3100] ntpq can't retrieve daemon_version <perlinger (a] ntp.org>
   1603   - fixed extended sysvar lookup (bug introduced with bug 3008 fix)
   1604 * [Bug 3095] Compatibility with openssl 1.1 <perlinger (a] ntp.org>
   1605   - applied patches by Kurt Roeckx <kurt (a] roeckx.be> to source
   1606   - added shim layer for SSL API calls with issues (both directions)
   1607 * [Bug 3089] Serial Parser does not work anymore for hopfser like device
   1608   - simplified / refactored hex-decoding in driver. <perlinger (a] ntp.org>
   1609 * [Bug 3084] update-leap mis-parses the leapfile name.  HStenn.
   1610 * [Bug 3068] Linker warnings when building on Solaris. perlinger (a] ntp.org
   1611   - applied patch thanks to Andrew Stormont <andyjstormont (a] gmail.com>
   1612 * [Bug 3067] Root distance calculation needs improvement.  HStenn
   1613 * [Bug 3066] NMEA clock ignores pps. perlinger (a] ntp.org
   1614   - PPS-HACK works again.
   1615 * [Bug 3059] Potential buffer overrun from oversized hash <perlinger (a] ntp.org>
   1616   - applied patch by Brian Utterback <brian.utterback (a] oracle.com>
   1617 * [Bug 3053] ntp_loopfilter.c frequency calc precedence error.  Sarah White.
   1618 * [Bug 3050] Fix for bug #2960 causes [...] spurious error message.
   1619   <perlinger (a] ntp.org>
   1620   - patches by Reinhard Max <max (a] suse.com> and Havard Eidnes <he (a] uninett.no>
   1621 * [Bug 3047] Fix refclock_jjy C-DEX JST2000. abe (a] ntp.org
   1622   - Patch provided by Kuramatsu.
   1623 * [Bug 3021] unity_fixture.c needs pragma weak <perlinger (a] ntp.org>
   1624   - removed unnecessary & harmful decls of 'setUp()' & 'tearDown()'
   1625 * [Bug 3019] Windows: ERROR_HOST_UNREACHABLE block packet processing. DMayer
   1626 * [Bug 2998] sntp/tests/packetProcessing.c broken without openssl. JPerlinger
   1627 * [Bug 2961] sntp/tests/packetProcessing.c assumes AUTOKEY.  HStenn.
   1628 * [Bug 2959] refclock_jupiter: gps week correction <perlinger (a] ntp.org>
   1629   - fixed GPS week expansion to work based on build date. Special thanks
   1630     to Craig Leres for initial patch and testing.
   1631 * [Bug 2951] ntpd tests fail: multiple definition of `send_via_ntp_signd'
   1632   - fixed Makefile.am <perlinger (a] ntp.org>
   1633 * [Bug 2689] ATOM driver processes last PPS pulse at startup,
   1634              even if it is very old <perlinger (a] ntp.org>
   1635   - make sure PPS source is alive before processing samples
   1636   - improve stability close to the 500ms phase jump (phase gate)
   1637 * Fix typos in include/ntp.h.
   1638 * Shim X509_get_signature_nid() if needed
   1639 * git author attribution cleanup
   1640 * bk ignore file cleanup
   1641 * remove locks in Windows IO, use rpc-like thread synchronisation instead
   1642 
   1643 ---
   1644 NTP 4.2.8p8 (Harlan Stenn <stenn (a] ntp.org>, 2016/06/02) 
   1645 
   1646 Focus: Security, Bug fixes, enhancements.
   1647 
   1648 Severity: HIGH
   1649 
   1650 In addition to bug fixes and enhancements, this release fixes the
   1651 following 1 high- and 4 low-severity vulnerabilities:
   1652 
   1653 * CRYPTO_NAK crash
   1654    Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
   1655    References: Sec 3046 / CVE-2016-4957 / VU#321640
   1656    Affects: ntp-4.2.8p7, and ntp-4.3.92.
   1657    CVSS2: HIGH 7.8 (AV:N/AC:L/Au:N/C:N/I:N/A:C)
   1658    CVSS3: HIGH 7.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
   1659    Summary: The fix for Sec 3007 in ntp-4.2.8p7 contained a bug that
   1660 	could cause ntpd to crash.
   1661    Mitigation:
   1662         Implement BCP-38.
   1663         Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
   1664 	    or the NTP Public Services Project Download Page
   1665         If you cannot upgrade from 4.2.8p7, the only other alternatives
   1666 	    are to patch your code or filter CRYPTO_NAK packets.
   1667         Properly monitor your ntpd instances, and auto-restart ntpd
   1668 	    (without -g) if it stops running. 
   1669    Credit: This weakness was discovered by Nicolas Edet of Cisco. 
   1670 
   1671 * Bad authentication demobilizes ephemeral associations
   1672    Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
   1673    References: Sec 3045 / CVE-2016-4953 / VU#321640
   1674    Affects: ntp-4, up to but not including ntp-4.2.8p8, and
   1675 	ntp-4.3.0 up to, but not including ntp-4.3.93.
   1676    CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P)
   1677    CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
   1678    Summary: An attacker who knows the origin timestamp and can send a
   1679 	spoofed packet containing a CRYPTO-NAK to an ephemeral peer
   1680 	target before any other response is sent can demobilize that
   1681 	association.
   1682    Mitigation:
   1683 	Implement BCP-38.
   1684 	Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
   1685 	    or the NTP Public Services Project Download Page
   1686 	Properly monitor your ntpd instances. 
   1687 	Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 
   1688 
   1689 * Processing spoofed server packets
   1690    Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
   1691    References: Sec 3044 / CVE-2016-4954 / VU#321640
   1692    Affects: ntp-4, up to but not including ntp-4.2.8p8, and
   1693 	ntp-4.3.0 up to, but not including ntp-4.3.93.
   1694    CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P)
   1695    CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
   1696    Summary: An attacker who is able to spoof packets with correct origin
   1697 	timestamps from enough servers before the expected response
   1698 	packets arrive at the target machine can affect some peer
   1699 	variables and, for example, cause a false leap indication to be set.
   1700    Mitigation:
   1701 	Implement BCP-38.
   1702 	Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
   1703 	    or the NTP Public Services Project Download Page
   1704 	Properly monitor your ntpd instances. 
   1705    Credit: This weakness was discovered by Jakub Prokes of Red Hat. 
   1706 
   1707 * Autokey association reset
   1708    Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
   1709    References: Sec 3043 / CVE-2016-4955 / VU#321640
   1710    Affects: ntp-4, up to but not including ntp-4.2.8p8, and
   1711 	ntp-4.3.0 up to, but not including ntp-4.3.93.
   1712    CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P)
   1713    CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
   1714    Summary: An attacker who is able to spoof a packet with a correct
   1715 	origin timestamp before the expected response packet arrives at
   1716 	the target machine can send a CRYPTO_NAK or a bad MAC and cause
   1717 	the association's peer variables to be cleared. If this can be
   1718 	done often enough, it will prevent that association from working.
   1719    Mitigation:
   1720 	Implement BCP-38.
   1721 	Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
   1722 	    or the NTP Public Services Project Download Page
   1723 	Properly monitor your ntpd instances. 
   1724    Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 
   1725  
   1726 * Broadcast interleave
   1727    Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
   1728    References: Sec 3042 / CVE-2016-4956 / VU#321640
   1729    Affects: ntp-4, up to but not including ntp-4.2.8p8, and
   1730    	ntp-4.3.0 up to, but not including ntp-4.3.93.
   1731    CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P)
   1732    CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
   1733    Summary: The fix for NtpBug2978 does not cover broadcast associations,
   1734    	so broadcast clients can be triggered to flip into interleave mode.
   1735    Mitigation:
   1736 	Implement BCP-38.
   1737 	Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
   1738 	    or the NTP Public Services Project Download Page
   1739 	Properly monitor your ntpd instances. 
   1740    Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 
   1741 
   1742 Other fixes:
   1743 * [Bug 3038] NTP fails to build in VS2015. perlinger (a] ntp.org
   1744   - provide build environment
   1745   - 'wint_t' and 'struct timespec' defined by VS2015
   1746   - fixed print()/scanf() format issues
   1747 * [Bug 3052] Add a .gitignore file.  Edmund Wong.
   1748 * [Bug 3054] miscopt.html documents the allan intercept in seconds. SWhite.
   1749 * [Bug 3058] fetch_timestamp() mishandles 64-bit alignment. Brian Utterback,
   1750   JPerlinger, HStenn.
   1751 * Fix typo in ntp-wait and plot_summary.  HStenn.
   1752 * Make sure we have an "author" file for git imports.  HStenn.
   1753 * Update the sntp problem tests for MacOS.  HStenn.
   1754 
   1755 ---
   1756 NTP 4.2.8p7 (Harlan Stenn <stenn (a] ntp.org>, 2016/04/26) 
   1757 
   1758 Focus: Security, Bug fixes, enhancements.
   1759 
   1760 Severity: MEDIUM
   1761 
   1762 When building NTP from source, there is a new configure option
   1763 available, --enable-dynamic-interleave.  More information on this below.
   1764 
   1765 Also note that ntp-4.2.8p7 logs more "unexpected events" than previous
   1766 versions of ntp.  These events have almost certainly happened in the
   1767 past, it's just that they were silently counted and not logged.  With
   1768 the increasing awareness around security, we feel it's better to clearly
   1769 log these events to help detect abusive behavior.  This increased
   1770 logging can also help detect other problems, too.
   1771 
   1772 In addition to bug fixes and enhancements, this release fixes the
   1773 following 9 low- and medium-severity vulnerabilities:
   1774 
   1775 * Improve NTP security against buffer comparison timing attacks,
   1776   AKA: authdecrypt-timing
   1777    Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
   1778    References: Sec 2879 / CVE-2016-1550
   1779    Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
   1780 	4.3.0 up to, but not including 4.3.92
   1781    CVSSv2: LOW 2.6 - (AV:L/AC:H/Au:N/C:P/I:P/A:N)
   1782    CVSSv3: MED 4.0 - CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
   1783    Summary: Packet authentication tests have been performed using
   1784 	memcmp() or possibly bcmp(), and it is potentially possible
   1785 	for a local or perhaps LAN-based attacker to send a packet with
   1786 	an authentication payload and indirectly observe how much of
   1787 	the digest has matched.
   1788    Mitigation:
   1789 	Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
   1790 	    or the NTP Public Services Project Download Page.
   1791 	Properly monitor your ntpd instances.
   1792    Credit: This weakness was discovered independently by Loganaden
   1793    	Velvindron, and Matthew Van Gundy and Stephen Gray of Cisco ASIG.
   1794 
   1795 * Zero origin timestamp bypass: Additional KoD checks.
   1796    References: Sec 2945 / Sec 2901 / CVE-2015-8138
   1797    Affects: All ntp-4 releases up to, but not including 4.2.8p7,
   1798    Summary: Improvements to the fixes incorporated in t 4.2.8p6 and 4.3.92.
   1799 
   1800 * peer associations were broken by the fix for NtpBug2899
   1801    Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
   1802    References: Sec 2952 / CVE-2015-7704
   1803    Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
   1804    	4.3.0 up to, but not including 4.3.92
   1805    CVSSv2: MED 4.3 - (AV:N/AC:M/Au:N/C:N/I:N/A:P)
   1806    Summary: The fix for NtpBug2952 in ntp-4.2.8p5 to address broken peer
   1807    	associations did not address all of the issues.
   1808    Mitigation:
   1809         Implement BCP-38.
   1810         Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
   1811 	    or the NTP Public Services Project Download Page
   1812         If you can't upgrade, use "server" associations instead of
   1813 	    "peer" associations.
   1814         Monitor your ntpd instances. 
   1815    Credit: This problem was discovered by Michael Tatarinov.
   1816 
   1817 * Validate crypto-NAKs, AKA: CRYPTO-NAK DoS
   1818    Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
   1819    References: Sec 3007 / CVE-2016-1547 / VU#718152
   1820    Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
   1821 	4.3.0 up to, but not including 4.3.92
   1822    CVSS2: MED 4.3 - (AV:N/AC:M/Au:N/C:N/I:N/A:P)
   1823    CVSS3: MED 3.7 - CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
   1824    Summary: For ntp-4 versions up to but not including ntp-4.2.8p7, an
   1825 	off-path attacker can cause a preemptable client association to
   1826 	be demobilized by sending a crypto NAK packet to a victim client
   1827 	with a spoofed source address of an existing associated peer.
   1828 	This is true even if authentication is enabled.
   1829 
   1830 	Furthermore, if the attacker keeps sending crypto NAK packets,
   1831 	for example one every second, the victim never has a chance to
   1832 	reestablish the association and synchronize time with that
   1833 	legitimate server.
   1834 
   1835 	For ntp-4.2.8 thru ntp-4.2.8p6 there is less risk because more
   1836 	stringent checks are performed on incoming packets, but there
   1837 	are still ways to exploit this vulnerability in versions before
   1838 	ntp-4.2.8p7.
   1839    Mitigation:
   1840 	Implement BCP-38.
   1841 	Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
   1842 	    or the NTP Public Services Project Download Page
   1843 	Properly monitor your ntpd instances
   1844    Credit: This weakness was discovered by Stephen Gray and
   1845    	Matthew Van Gundy of Cisco ASIG.
   1846 
   1847 * ctl_getitem() return value not always checked
   1848    Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
   1849    References: Sec 3008 / CVE-2016-2519
   1850    Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
   1851 	4.3.0 up to, but not including 4.3.92
   1852    CVSSv2: MED 4.9 - (AV:N/AC:H/Au:S/C:N/I:N/A:C)
   1853    CVSSv3: MED 4.2 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
   1854    Summary: ntpq and ntpdc can be used to store and retrieve information
   1855    	in ntpd. It is possible to store a data value that is larger
   1856 	than the size of the buffer that the ctl_getitem() function of
   1857 	ntpd uses to report the return value. If the length of the
   1858 	requested data value returned by ctl_getitem() is too large,
   1859 	the value NULL is returned instead. There are 2 cases where the
   1860 	return value from ctl_getitem() was not directly checked to make
   1861 	sure it's not NULL, but there are subsequent INSIST() checks
   1862 	that make sure the return value is not NULL. There are no data
   1863 	values ordinarily stored in ntpd that would exceed this buffer
   1864 	length. But if one has permission to store values and one stores
   1865 	a value that is "too large", then ntpd will abort if an attempt
   1866 	is made to read that oversized value.
   1867     Mitigation:
   1868         Implement BCP-38.
   1869         Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
   1870 	    or the NTP Public Services Project Download Page
   1871         Properly monitor your ntpd instances.
   1872     Credit: This weakness was discovered by Yihan Lian of the Cloud
   1873     	Security Team, Qihoo 360. 
   1874 
   1875 * Crafted addpeer with hmode > 7 causes array wraparound with MATCH_ASSOC 
   1876    Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
   1877    References: Sec 3009 / CVE-2016-2518 / VU#718152
   1878    Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
   1879 	4.3.0 up to, but not including 4.3.92
   1880    CVSS2: LOW 2.1 - (AV:N/AC:H/Au:S/C:N/I:N/A:P)
   1881    CVSS3: LOW 2.0 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
   1882    Summary: Using a crafted packet to create a peer association with
   1883    	hmode > 7 causes the MATCH_ASSOC() lookup to make an
   1884 	out-of-bounds reference.
   1885    Mitigation:
   1886 	Implement BCP-38.
   1887 	Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
   1888 	    or the NTP Public Services Project Download Page
   1889 	Properly monitor your ntpd instances
   1890    Credit: This weakness was discovered by Yihan Lian of the Cloud
   1891    	Security Team, Qihoo 360.
   1892 
   1893 * remote configuration trustedkey/requestkey/controlkey values are not
   1894 	properly validated
   1895    Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
   1896    References: Sec 3010 / CVE-2016-2517 / VU#718152
   1897    Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
   1898 	4.3.0 up to, but not including 4.3.92
   1899    CVSS2: MED 4.9 - (AV:N/AC:H/Au:S/C:N/I:N/A:C)
   1900    CVSS3: MED 4.2 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
   1901    Summary: If ntpd was expressly configured to allow for remote
   1902    	configuration, a malicious user who knows the controlkey for
   1903 	ntpq or the requestkey for ntpdc (if mode7 is expressly enabled)
   1904 	can create a session with ntpd and then send a crafted packet to
   1905 	ntpd that will change the value of the trustedkey, controlkey,
   1906 	or requestkey to a value that will prevent any subsequent
   1907 	authentication with ntpd until ntpd is restarted.
   1908    Mitigation:
   1909 	Implement BCP-38.
   1910 	Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
   1911 	    or the NTP Public Services Project Download Page
   1912 	Properly monitor your ntpd instances
   1913    Credit: This weakness was discovered by Yihan Lian of the Cloud
   1914    	Security Team, Qihoo 360.
   1915 
   1916 * Duplicate IPs on unconfig directives will cause an assertion botch in ntpd
   1917    Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
   1918    References: Sec 3011 / CVE-2016-2516 / VU#718152
   1919    Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
   1920    	4.3.0 up to, but not including 4.3.92
   1921    CVSS2: MED 6.3 - (AV:N/AC:M/Au:S/C:N/I:N/A:C)
   1922    CVSS3: MED 4.2 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
   1923    Summary: If ntpd was expressly configured to allow for remote
   1924    	configuration, a malicious user who knows the controlkey for
   1925 	ntpq or the requestkey for ntpdc (if mode7 is expressly enabled)
   1926 	can create a session with ntpd and if an existing association is
   1927 	unconfigured using the same IP twice on the unconfig directive
   1928 	line, ntpd will abort.
   1929    Mitigation:
   1930 	Implement BCP-38.
   1931 	Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
   1932 	    or the NTP Public Services Project Download Page
   1933 	Properly monitor your ntpd instances
   1934    Credit: This weakness was discovered by Yihan Lian of the Cloud
   1935    	Security Team, Qihoo 360.
   1936 
   1937 * Refclock impersonation vulnerability
   1938    Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
   1939    References: Sec 3020 / CVE-2016-1551
   1940    Affects: On a very limited number of OSes, all NTP releases up to but
   1941 	not including 4.2.8p7, and 4.3.0 up to but not including 4.3.92.
   1942 	By "very limited number of OSes" we mean no general-purpose OSes
   1943 	have yet been identified that have this vulnerability.
   1944    CVSSv2: LOW 2.6 - (AV:N/AC:H/Au:N/C:N/I:P/A:N)
   1945    CVSSv3: LOW 3.7 - CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
   1946    Summary: While most OSes implement martian packet filtering in their
   1947    	network stack, at least regarding 127.0.0.0/8, some will allow
   1948 	packets claiming to be from 127.0.0.0/8 that arrive over a
   1949 	physical network. On these OSes, if ntpd is configured to use a
   1950 	reference clock an attacker can inject packets over the network
   1951 	that look like they are coming from that reference clock.
   1952    Mitigation:
   1953         Implement martian packet filtering and BCP-38.
   1954         Configure ntpd to use an adequate number of time sources.
   1955         Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
   1956 	    or the NTP Public Services Project Download Page
   1957         If you are unable to upgrade and if you are running an OS that
   1958 	    has this vulnerability, implement martian packet filters and
   1959 	    lobby your OS vendor to fix this problem, or run your
   1960 	    refclocks on computers that use OSes that are not vulnerable
   1961 	    to these attacks and have your vulnerable machines get their
   1962 	    time from protected resources.
   1963         Properly monitor your ntpd instances.
   1964    Credit: This weakness was discovered by Matt Street and others of
   1965    	Cisco ASIG. 
   1966 
   1967 The following issues were fixed in earlier releases and contain
   1968 improvements in 4.2.8p7:
   1969 
   1970 * Clients that receive a KoD should validate the origin timestamp field.
   1971    References: Sec 2901 / CVE-2015-7704, CVE-2015-7705
   1972    Affects: All ntp-4 releases up to, but not including 4.2.8p7,
   1973    Summary: Improvements to the fixes incorporated into 4.2.8p4 and 4.3.77.
   1974 
   1975 * Skeleton key: passive server with trusted key can serve time.
   1976    References: Sec 2936 / CVE-2015-7974
   1977    Affects: All ntp-4 releases up to, but not including 4.2.8p7,
   1978    Summary: Improvements to the fixes incorporated in t 4.2.8p6 and 4.3.90.
   1979 
   1980 Two other vulnerabilities have been reported, and the mitigations
   1981 for these are as follows:
   1982 
   1983 * Interleave-pivot
   1984    Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
   1985    References: Sec 2978 / CVE-2016-1548
   1986    Affects: All ntp-4 releases.
   1987    CVSSv2: MED 6.4 - (AV:N/AC:L/Au:N/C:N/I:P/A:P)
   1988    CVSSv3: MED 7.2 - CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:L
   1989    Summary: It is possible to change the time of an ntpd client or deny
   1990    	service to an ntpd client by forcing it to change from basic
   1991 	client/server mode to interleaved symmetric mode. An attacker
   1992 	can spoof a packet from a legitimate ntpd server with an origin
   1993 	timestamp that matches the peer->dst timestamp recorded for that
   1994 	server. After making this switch, the client will reject all
   1995 	future legitimate server responses. It is possible to force the
   1996 	victim client to move time after the mode has been changed.
   1997 	ntpq gives no indication that the mode has been switched.
   1998    Mitigation:
   1999         Implement BCP-38.
   2000         Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
   2001 	    or the NTP Public Services Project Download Page.  These
   2002 	    versions will not dynamically "flip" into interleave mode
   2003 	    unless configured to do so.
   2004         Properly monitor your ntpd instances.
   2005    Credit: This weakness was discovered by Miroslav Lichvar of RedHat
   2006    	and separately by Jonathan Gardner of Cisco ASIG.
   2007 
   2008 * Sybil vulnerability: ephemeral association attack
   2009    Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
   2010    References: Sec 3012 / CVE-2016-1549
   2011    Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
   2012    	4.3.0 up to, but not including 4.3.92
   2013    CVSSv2: LOW 3.5 - (AV:N/AC:M/Au:S/C:N/I:P/A:N)
   2014    CVSS3v: MED 5.3 - CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N
   2015    Summary: ntpd can be vulnerable to Sybil attacks. If one is not using
   2016    	the feature introduced in ntp-4.2.8p6 allowing an optional 4th
   2017 	field in the ntp.keys file to specify which IPs can serve time,
   2018 	a malicious authenticated peer can create arbitrarily-many
   2019 	ephemeral associations in order to win the clock selection of
   2020 	ntpd and modify a victim's clock.
   2021    Mitigation:
   2022         Implement BCP-38.
   2023         Use the 4th field in the ntp.keys file to specify which IPs
   2024 	    can be time servers.
   2025         Properly monitor your ntpd instances.
   2026    Credit: This weakness was discovered by Matthew Van Gundy of Cisco ASIG. 
   2027 
   2028 Other fixes:
   2029 
   2030 * [Bug 2831]  Segmentation Fault in DNS lookup during startup. perlinger (a] ntp.org
   2031   - fixed yet another race condition in the threaded resolver code.
   2032 * [Bug 2858] bool support.  Use stdbool.h when available.  HStenn.
   2033 * [Bug 2879] Improve NTP security against timing attacks. perlinger (a] ntp.org
   2034   - integrated patches by Loganaden Velvidron <logan (a] ntp.org>
   2035     with some modifications & unit tests
   2036 * [Bug 2960] async name resolution fixes for chroot() environments.
   2037   Reinhard Max.
   2038 * [Bug 2994] Systems with HAVE_SIGNALED_IO fail to compile. perlinger (a] ntp.org
   2039 * [Bug 2995] Fixes to compile on Windows
   2040 * [Bug 2999] out-of-bounds access in 'is_safe_filename()'. perlinger (a] ntp.org
   2041 * [Bug 3013] Fix for ssl_init.c SHA1 test. perlinger (a] ntp.org
   2042   - Patch provided by Ch. Weisgerber
   2043 * [Bug 3015] ntpq: config-from-file: "request contains an unprintable character"
   2044   - A change related to [Bug 2853] forbids trailing white space in
   2045     remote config commands. perlinger (a] ntp.org
   2046 * [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE
   2047   - report and patch from Aleksandr Kostikov.
   2048   - Overhaul of Windows IO completion port handling. perlinger (a] ntp.org
   2049 * [Bug 3022] authkeys.c should be refactored. perlinger (a] ntp.org
   2050   - fixed memory leak in access list (auth[read]keys.c)
   2051   - refactored handling of key access lists (auth[read]keys.c)
   2052   - reduced number of error branches (authreadkeys.c)
   2053 * [Bug 3023] ntpdate cannot correct dates in the future. perlinger (a] ntp.org
   2054 * [Bug 3030] ntpq needs a general way to specify refid output format.  HStenn.
   2055 * [Bug 3031] ntp broadcastclient unable to synchronize to an server
   2056              when the time of server changed. perlinger (a] ntp.org
   2057   - Check the initial delay calculation and reject/unpeer the broadcast
   2058     server if the delay exceeds 50ms. Retry again after the next
   2059     broadcast packet.
   2060 * [Bug 3036] autokey trips an INSIST in authistrustedip().  Harlan Stenn.
   2061 * Document ntp.key's optional IP list in authenetic.html.  Harlan Stenn.
   2062 * Update html/xleave.html documentation.  Harlan Stenn.
   2063 * Update ntp.conf documentation.  Harlan Stenn.
   2064 * Fix some Credit: attributions in the NEWS file.  Harlan Stenn.
   2065 * Fix typo in html/monopt.html.  Harlan Stenn.
   2066 * Add README.pullrequests.  Harlan Stenn.
   2067 * Cleanup to include/ntp.h.  Harlan Stenn.
   2068 
   2069 New option to 'configure':
   2070 
   2071 While looking in to the issues around Bug 2978, the "interleave pivot"
   2072 issue, it became clear that there are some intricate and unresolved
   2073 issues with interleave operations.  We also realized that the interleave
   2074 protocol was never added to the NTPv4 Standard, and it should have been.
   2075 
   2076 Interleave mode was first released in July of 2008, and can be engaged
   2077 in two ways.  Any 'peer' and 'broadcast' lines in the ntp.conf file may
   2078 contain the 'xleave' option, which will expressly enable interlave mode
   2079 for that association.  Additionally, if a time packet arrives and is
   2080 found inconsistent with normal protocol behavior but has certain
   2081 characteristics that are compatible with interleave mode, NTP will
   2082 dynamically switch to interleave mode.  With sufficient knowledge, an
   2083 attacker can send a crafted forged packet to an NTP instance that
   2084 triggers only one side to enter interleaved mode.
   2085 
   2086 To prevent this attack until we can thoroughly document, describe,
   2087 fix, and test the dynamic interleave mode, we've added a new
   2088 'configure' option to the build process:
   2089 
   2090  --enable-dynamic-interleave
   2091 
   2092 This option controls whether or not NTP will, if conditions are right,
   2093 engage dynamic interleave mode.  Dynamic interleave mode is disabled by
   2094 default in ntp-4.2.8p7.
   2095 
   2096 ---
   2097 NTP 4.2.8p6 (Harlan Stenn <stenn (a] ntp.org>, 2016/01/20) 
   2098 
   2099 Focus: Security, Bug fixes, enhancements.
   2100 
   2101 Severity: MEDIUM
   2102 
   2103 In addition to bug fixes and enhancements, this release fixes the
   2104 following 1 low- and 8 medium-severity vulnerabilities:
   2105 
   2106 * Potential Infinite Loop in 'ntpq'
   2107    Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
   2108    References: Sec 2548 / CVE-2015-8158
   2109    Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
   2110 	4.3.0 up to, but not including 4.3.90
   2111    CVSS2: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3 - MEDIUM
   2112    CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N Base Score: 5.3 - MEDIUM
   2113    Summary: 'ntpq' processes incoming packets in a loop in 'getresponse()'.
   2114 	The loop's only stopping conditions are receiving a complete and
   2115 	correct response or hitting a small number of error conditions.
   2116 	If the packet contains incorrect values that don't trigger one of
   2117 	the error conditions, the loop continues to receive new packets.
   2118 	Note well, this is an attack against an instance of 'ntpq', not
   2119 	'ntpd', and this attack requires the attacker to do one of the
   2120 	following:
   2121 	* Own a malicious NTP server that the client trusts
   2122 	* Prevent a legitimate NTP server from sending packets to
   2123 	    the 'ntpq' client
   2124 	* MITM the 'ntpq' communications between the 'ntpq' client
   2125 	    and the NTP server
   2126    Mitigation:
   2127 	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
   2128 	or the NTP Public Services Project Download Page
   2129    Credit: This weakness was discovered by Jonathan Gardner of Cisco ASIG.
   2130 
   2131 * 0rigin: Zero Origin Timestamp Bypass
   2132    Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
   2133    References: Sec 2945 / CVE-2015-8138
   2134    Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
   2135 	4.3.0 up to, but not including 4.3.90
   2136    CVSS2: (AV:N/AC:L/Au:N/C:N/I:P/A:N) Base Score: 5.0 - MEDIUM
   2137    CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N Base Score: 5.3 - MEDIUM
   2138 	(3.7 - LOW if you score AC:L)
   2139    Summary: To distinguish legitimate peer responses from forgeries, a
   2140 	client attempts to verify a response packet by ensuring that the
   2141 	origin timestamp in the packet matches the origin timestamp it
   2142 	transmitted in its last request.  A logic error exists that
   2143 	allows packets with an origin timestamp of zero to bypass this
   2144 	check whenever there is not an outstanding request to the server.
   2145    Mitigation:
   2146 	Configure 'ntpd' to get time from multiple sources.
   2147 	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
   2148 	    or the NTP Public Services Project Download Page.
   2149 	Monitor your 'ntpd' instances.
   2150    Credit: This weakness was discovered by Matthey Van Gundy and
   2151 	Jonathan Gardner of Cisco ASIG.
   2152 
   2153 * Stack exhaustion in recursive traversal of restriction list
   2154    Date Resolved: Stable (4.2.8p6) 19 Jan 2016
   2155    References: Sec 2940 / CVE-2015-7978
   2156    Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
   2157 	4.3.0 up to, but not including 4.3.90
   2158    CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3 - MEDIUM
   2159    Summary: An unauthenticated 'ntpdc reslist' command can cause a
   2160    	segmentation fault in ntpd by exhausting the call stack.
   2161    Mitigation:
   2162 	Implement BCP-38.
   2163 	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
   2164 	    or the NTP Public Services Project Download Page.
   2165 	If you are unable to upgrade:
   2166             In ntp-4.2.8, mode 7 is disabled by default. Don't enable it.
   2167 	    If you must enable mode 7:
   2168 		configure the use of a 'requestkey' to control who can
   2169 		    issue mode 7 requests.
   2170 		configure 'restrict noquery' to further limit mode 7
   2171 		    requests to trusted sources.
   2172 		Monitor your ntpd instances.
   2173    Credit: This weakness was discovered by Stephen Gray at Cisco ASIG.
   2174 
   2175 * Off-path Denial of Service (!DoS) attack on authenticated broadcast mode
   2176    Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
   2177    References: Sec 2942 / CVE-2015-7979
   2178    Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
   2179 	4.3.0 up to, but not including 4.3.90
   2180    CVSS: (AV:N/AC:M/Au:N/C:N/I:P/A:P) Base Score: 5.8
   2181    Summary: An off-path attacker can send broadcast packets with bad
   2182 	authentication (wrong key, mismatched key, incorrect MAC, etc)
   2183 	to broadcast clients. It is observed that the broadcast client
   2184 	tears down the association with the broadcast server upon
   2185 	receiving just one bad packet.
   2186    Mitigation:
   2187 	Implement BCP-38.
   2188 	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
   2189 	or the NTP Public Services Project Download Page.
   2190 	Monitor your 'ntpd' instances.
   2191 	If this sort of attack is an active problem for you, you have
   2192 	    deeper problems to investigate.  In this case also consider
   2193 	    having smaller NTP broadcast domains.
   2194    Credit: This weakness was discovered by Aanchal Malhotra of Boston
   2195    	University.
   2196 
   2197 * reslist NULL pointer dereference
   2198    Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
   2199    References: Sec 2939 / CVE-2015-7977
   2200    Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
   2201 	4.3.0 up to, but not including 4.3.90
   2202    CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3 - MEDIUM
   2203    Summary: An unauthenticated 'ntpdc reslist' command can cause a
   2204 	segmentation fault in ntpd by causing a NULL pointer dereference.
   2205    Mitigation:
   2206 	Implement BCP-38.
   2207 	Upgrade to 4.2.8p6, or later, from NTP Project Download Page or
   2208 	the NTP Public Services Project Download Page.
   2209 	If you are unable to upgrade:
   2210 	    mode 7 is disabled by default.  Don't enable it.
   2211 	    If you must enable mode 7:
   2212 		configure the use of a 'requestkey' to control who can
   2213 		    issue mode 7 requests.
   2214 		configure 'restrict noquery' to further limit mode 7
   2215 		    requests to trusted sources. 
   2216 	Monitor your ntpd instances.
   2217    Credit: This weakness was discovered by Stephen Gray of Cisco ASIG.
   2218 
   2219 * 'ntpq saveconfig' command allows dangerous characters in filenames.
   2220    Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
   2221    References: Sec 2938 / CVE-2015-7976
   2222    Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
   2223 	4.3.0 up to, but not including 4.3.90
   2224    CVSS: (AV:N/AC:L/Au:S/C:N/I:P/A:N) Base Score: 4.0 - MEDIUM
   2225    Summary: The ntpq saveconfig command does not do adequate filtering
   2226    	of special characters from the supplied filename.
   2227 	Note well: The ability to use the saveconfig command is controlled
   2228 	by the 'restrict nomodify' directive, and the recommended default
   2229 	configuration is to disable this capability.  If the ability to
   2230 	execute a 'saveconfig' is required, it can easily (and should) be
   2231 	limited and restricted to a known small number of IP addresses.
   2232    Mitigation:
   2233 	Implement BCP-38.
   2234 	use 'restrict default nomodify' in your 'ntp.conf' file.
   2235 	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page.
   2236 	If you are unable to upgrade:
   2237 	    build NTP with 'configure --disable-saveconfig' if you will
   2238 	    	never need this capability, or
   2239 	    use 'restrict default nomodify' in your 'ntp.conf' file.  Be
   2240 		careful about what IPs have the ability to send 'modify'
   2241 		requests to 'ntpd'.
   2242 	Monitor your ntpd instances.
   2243 	'saveconfig' requests are logged to syslog - monitor your syslog files.
   2244    Credit: This weakness was discovered by Jonathan Gardner of Cisco ASIG.
   2245 
   2246 * nextvar() missing length check in ntpq
   2247    Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
   2248    References: Sec 2937 / CVE-2015-7975
   2249    Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
   2250 	4.3.0 up to, but not including 4.3.90
   2251    CVSS: (AV:L/AC:H/Au:N/C:N/I:N/A:P) Base Score: 1.2 - LOW
   2252 	If you score A:C, this becomes 4.0.
   2253    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
   2254    Summary: ntpq may call nextvar() which executes a memcpy() into the
   2255 	name buffer without a proper length check against its maximum
   2256 	length of 256 bytes. Note well that we're taking about ntpq here.
   2257 	The usual worst-case effect of this vulnerability is that the
   2258 	specific instance of ntpq will crash and the person or process
   2259 	that did this will have stopped themselves.
   2260    Mitigation:
   2261 	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
   2262 	    or the NTP Public Services Project Download Page.
   2263 	If you are unable to upgrade:
   2264 	    If you have scripts that feed input to ntpq make sure there are
   2265 		some sanity checks on the input received from the "outside".
   2266 	    This is potentially more dangerous if ntpq is run as root. 
   2267    Credit: This weakness was discovered by Jonathan Gardner at Cisco ASIG.
   2268 
   2269 * Skeleton Key: Any trusted key system can serve time
   2270    Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
   2271    References: Sec 2936 / CVE-2015-7974
   2272    Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
   2273 	4.3.0 up to, but not including 4.3.90
   2274    CVSS: (AV:N/AC:H/Au:S/C:N/I:C/A:N) Base Score: 4.9
   2275    Summary: Symmetric key encryption uses a shared trusted key. The
   2276 	reported title for this issue was "Missing key check allows
   2277 	impersonation between authenticated peers" and the report claimed
   2278 	"A key specified only for one server should only work to
   2279 	authenticate that server, other trusted keys should be refused."
   2280 	Except there has never been any correlation between this trusted
   2281 	key and server v. clients machines and there has never been any
   2282 	way to specify a key only for one server. We have treated this as
   2283 	an enhancement request, and ntp-4.2.8p6 includes other checks and
   2284 	tests to strengthen clients against attacks coming from broadcast
   2285 	servers.
   2286    Mitigation:
   2287 	Implement BCP-38.
   2288 	If this scenario represents a real or a potential issue for you,
   2289 	    upgrade to 4.2.8p6, or later, from the NTP Project Download
   2290 	    Page or the NTP Public Services Project Download Page, and
   2291 	    use the new field in the ntp.keys file that specifies the list
   2292 	    of IPs that are allowed to serve time. Note that this alone
   2293 	    will not protect against time packets with forged source IP
   2294 	    addresses, however other changes in ntp-4.2.8p6 provide
   2295 	    significant mitigation against broadcast attacks. MITM attacks
   2296 	    are a different story.
   2297 	If you are unable to upgrade:
   2298 	    Don't use broadcast mode if you cannot monitor your client
   2299 	    	servers.
   2300 	    If you choose to use symmetric keys to authenticate time
   2301 	    	packets in a hostile environment where ephemeral time
   2302 		servers can be created, or if it is expected that malicious
   2303 		time servers will participate in an NTP broadcast domain,
   2304 		limit the number of participating systems that participate
   2305 		in the shared-key group. 
   2306 	Monitor your ntpd instances. 
   2307    Credit: This weakness was discovered by Matt Street of Cisco ASIG. 
   2308 
   2309 * Deja Vu: Replay attack on authenticated broadcast mode
   2310    Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
   2311    References: Sec 2935 / CVE-2015-7973
   2312    Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
   2313    	4.3.0 up to, but not including 4.3.90
   2314    CVSS: (AV:A/AC:M/Au:N/C:N/I:P/A:P) Base Score: 4.3 - MEDIUM
   2315    Summary: If an NTP network is configured for broadcast operations then
   2316    	either a man-in-the-middle attacker or a malicious participant
   2317 	that has the same trusted keys as the victim can replay time packets.
   2318    Mitigation:
   2319 	Implement BCP-38.
   2320 	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
   2321 	    or the NTP Public Services Project Download Page.
   2322 	If you are unable to upgrade:
   2323 	    Don't use broadcast mode if you cannot monitor your client servers.
   2324 	Monitor your ntpd instances.
   2325    Credit: This weakness was discovered by Aanchal Malhotra of Boston
   2326 	University.
   2327 
   2328 Other fixes:
   2329 
   2330 * [Bug 2772] adj_systime overflows tv_usec. perlinger (a] ntp.org
   2331 * [Bug 2814] msyslog deadlock when signaled. perlinger (a] ntp.org
   2332   - applied patch by shenpeng11 (a] huawei.com with minor adjustments
   2333 * [Bug 2882] Look at ntp_request.c:list_peers_sum(). perlinger (a] ntp.org
   2334 * [Bug 2891] Deadlock in deferred DNS lookup framework. perlinger (a] ntp.org
   2335 * [Bug 2892] Several test cases assume IPv6 capabilities even when
   2336              IPv6 is disabled in the build. perlinger (a] ntp.org
   2337   - Found this already fixed, but validation led to cleanup actions.
   2338 * [Bug 2905] DNS lookups broken. perlinger (a] ntp.org
   2339   - added limits to stack consumption, fixed some return code handling
   2340 * [Bug 2971] ntpq bails on ^C: select fails: Interrupted system call
   2341   - changed stacked/nested handling of CTRL-C. perlinger (a] ntp.org
   2342   - make CTRL-C work for retrieval and printing od MRU list. perlinger (a] ntp.org
   2343 * [Bug 2980] reduce number of warnings. perlinger (a] ntp.org
   2344   - integrated several patches from Havard Eidnes (he (a] uninett.no)
   2345 * [Bug 2985] bogus calculation in authkeys.c perlinger (a] ntp.org
   2346   - implement 'auth_log2()' using integer bithack instead of float calculation
   2347 * Make leapsec_query debug messages less verbose.  Harlan Stenn.
   2348 
   2349 ---
   2350 NTP 4.2.8p5 (Harlan Stenn <stenn (a] ntp.org>, 2016/01/07) 
   2351 
   2352 Focus: Security, Bug fixes, enhancements.
   2353 
   2354 Severity: MEDIUM
   2355 
   2356 In addition to bug fixes and enhancements, this release fixes the
   2357 following medium-severity vulnerability:
   2358 
   2359 * Small-step/big-step.  Close the panic gate earlier.
   2360     References: Sec 2956, CVE-2015-5300
   2361     Affects: All ntp-4 releases up to, but not including 4.2.8p5, and
   2362 	4.3.0 up to, but not including 4.3.78
   2363     CVSS3: (AV:N/AC:H/PR:H/UI:R/S:C/C:L/I:N/A:L) Base Score: 4.0, MEDIUM
   2364     Summary: If ntpd is always started with the -g option, which is
   2365 	common and against long-standing recommendation, and if at the
   2366 	moment ntpd is restarted an attacker can immediately respond to
   2367 	enough requests from enough sources trusted by the target, which
   2368 	is difficult and not common, there is a window of opportunity
   2369 	where the attacker can cause ntpd to set the time to an
   2370 	arbitrary value. Similarly, if an attacker is able to respond
   2371 	to enough requests from enough sources trusted by the target,
   2372 	the attacker can cause ntpd to abort and restart, at which
   2373 	point it can tell the target to set the time to an arbitrary
   2374 	value if and only if ntpd was re-started against long-standing
   2375 	recommendation with the -g flag, or if ntpd was not given the
   2376 	-g flag, the attacker can move the target system's time by at
   2377 	most 900 seconds' time per attack.
   2378     Mitigation:
   2379 	Configure ntpd to get time from multiple sources.
   2380 	Upgrade to 4.2.8p5, or later, from the NTP Project Download
   2381 	    Page or the NTP Public Services Project Download Page
   2382 	As we've long documented, only use the -g option to ntpd in
   2383 	    cold-start situations.
   2384 	Monitor your ntpd instances. 
   2385     Credit: This weakness was discovered by Aanchal Malhotra,
   2386 	Isaac E. Cohen, and Sharon Goldberg at Boston University. 
   2387 
   2388     NOTE WELL: The -g flag disables the limit check on the panic_gate
   2389 	in ntpd, which is 900 seconds by default. The bug identified by
   2390 	the researchers at Boston University is that the panic_gate
   2391 	check was only re-enabled after the first change to the system
   2392 	clock that was greater than 128 milliseconds, by default. The
   2393 	correct behavior is that the panic_gate check should be
   2394 	re-enabled after any initial time correction.
   2395 
   2396 	If an attacker is able to inject consistent but erroneous time
   2397 	responses to your systems via the network or "over the air",
   2398 	perhaps by spoofing radio, cellphone, or navigation satellite
   2399 	transmissions, they are in a great position to affect your
   2400 	system's clock. There comes a point where your very best
   2401 	defenses include:
   2402 
   2403 	    Configure ntpd to get time from multiple sources.
   2404 	    Monitor your ntpd instances. 
   2405 
   2406 Other fixes:
   2407 
   2408 * Coverity submission process updated from Coverity 5 to Coverity 7.
   2409   The NTP codebase has been undergoing regular Coverity scans on an
   2410   ongoing basis since 2006.  As part of our recent upgrade from
   2411   Coverity 5 to Coverity 7, Coverity identified 16 nits in some of
   2412   the newly-written Unity test programs.  These were fixed.
   2413 * [Bug 2829] Clean up pipe_fds in ntpd.c  perlinger (a] ntp.org
   2414 * [Bug 2887] stratum -1 config results as showing value 99
   2415   - fudge stratum should only accept values [0..16]. perlinger (a] ntp.org
   2416 * [Bug 2932] Update leapsecond file info in miscopt.html.  CWoodbury, HStenn.
   2417 * [Bug 2934] tests/ntpd/t-ntp_scanner.c has a magic constant wired in.  HMurray
   2418 * [Bug 2944] errno is not preserved properly in ntpdate after sendto call.
   2419   - applied patch by Christos Zoulas.  perlinger (a] ntp.org
   2420 * [Bug 2952] Peer associations broken by fix for Bug 2901/CVE-2015-7704.
   2421 * [Bug 2954] Version 4.2.8p4 crashes on startup on some OSes.
   2422   - fixed data race conditions in threaded DNS worker. perlinger (a] ntp.org
   2423   - limit threading warm-up to linux; FreeBSD bombs on it. perlinger (a] ntp.org
   2424 * [Bug 2957] 'unsigned int' vs 'size_t' format clash. perlinger (a] ntp.org
   2425   - accept key file only if there are no parsing errors
   2426   - fixed size_t/u_int format clash
   2427   - fixed wrong use of 'strlcpy'
   2428 * [Bug 2958] ntpq: fatal error messages need a final newline. Craig Leres.
   2429 * [Bug 2962] truncation of size_t/ptrdiff_t on 64bit targets. perlinger (a] ntp.org
   2430   - fixed several other warnings (cast-alignment, missing const, missing prototypes)
   2431   - promote use of 'size_t' for values that express a size
   2432   - use ptr-to-const for read-only arguments
   2433   - make sure SOCKET values are not truncated (win32-specific)
   2434   - format string fixes
   2435 * [Bug 2965] Local clock didn't work since 4.2.8p4.  Martin Burnicki.
   2436 * [Bug 2967] ntpdate command suffers an assertion failure
   2437   - fixed ntp_rfc2553.c to return proper address length. perlinger (a] ntp.org
   2438 * [Bug 2969]  Seg fault from ntpq/mrulist when looking at server with
   2439               lots of clients. perlinger (a] ntp.org
   2440 * [Bug 2971] ntpq bails on ^C: select fails: Interrupted system call
   2441   - changed stacked/nested handling of CTRL-C. perlinger (a] ntp.org
   2442 * Unity cleanup for FreeBSD-6.4.  Harlan Stenn.
   2443 * Unity test cleanup.  Harlan Stenn.
   2444 * Libevent autoconf pthread fixes for FreeBSD-10.  Harlan Stenn.
   2445 * Header cleanup in tests/sandbox/uglydate.c.  Harlan Stenn.
   2446 * Header cleanup in tests/libntp/sfptostr.c.  Harlan Stenn.
   2447 * Quiet a warning from clang.  Harlan Stenn.
   2448 
   2449 ---
   2450 NTP 4.2.8p4 (Harlan Stenn <stenn (a] ntp.org>, 2015/10/21) 
   2451 
   2452 Focus: Security, Bug fixes, enhancements.
   2453 
   2454 Severity: MEDIUM
   2455 
   2456 In addition to bug fixes and enhancements, this release fixes the
   2457 following 13 low- and medium-severity vulnerabilities:
   2458 
   2459 * Incomplete vallen (value length) checks in ntp_crypto.c, leading
   2460   to potential crashes or potential code injection/information leakage.
   2461 
   2462     References: Sec 2899, Sec 2671, CVE-2015-7691, CVE-2015-7692, CVE-2015-7702
   2463     Affects: All ntp-4 releases up to, but not including 4.2.8p4,
   2464     	and 4.3.0 up to, but not including 4.3.77
   2465     CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6
   2466     Summary: The fix for CVE-2014-9750 was incomplete in that there were
   2467     	certain code paths where a packet with particular autokey operations
   2468 	that contained malicious data was not always being completely
   2469 	validated. Receipt of these packets can cause ntpd to crash.
   2470     Mitigation:
   2471         Don't use autokey.
   2472 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   2473 	    Page or the NTP Public Services Project Download Page
   2474 	Monitor your ntpd instances. 
   2475 	Credit: This weakness was discovered by Tenable Network Security. 
   2476 
   2477 * Clients that receive a KoD should validate the origin timestamp field.
   2478 
   2479     References: Sec 2901 / CVE-2015-7704, CVE-2015-7705
   2480     Affects: All ntp-4 releases up to, but not including 4.2.8p4,
   2481 	and 4.3.0 up to, but not including 4.3.77
   2482     CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3-5.0 at worst
   2483     Summary: An ntpd client that honors Kiss-of-Death responses will honor
   2484     	KoD messages that have been forged by an attacker, causing it to
   2485 	delay or stop querying its servers for time updates. Also, an
   2486 	attacker can forge packets that claim to be from the target and
   2487 	send them to servers often enough that a server that implements
   2488 	KoD rate limiting will send the target machine a KoD response to
   2489 	attempt to reduce the rate of incoming packets, or it may also
   2490 	trigger a firewall block at the server for packets from the target
   2491 	machine. For either of these attacks to succeed, the attacker must
   2492 	know what servers the target is communicating with. An attacker
   2493 	can be anywhere on the Internet and can frequently learn the
   2494 	identity of the target's time source by sending the target a
   2495 	time query.
   2496     Mitigation:
   2497         Implement BCP-38.
   2498 	Upgrade to 4.2.8p4, or later, from the NTP Project Download Page
   2499 	    or the NTP Public Services Project Download Page
   2500 	If you can't upgrade, restrict who can query ntpd to learn who
   2501 	    its servers are, and what IPs are allowed to ask your system
   2502 	    for the time. This mitigation is heavy-handed.
   2503 	Monitor your ntpd instances. 
   2504     Note:
   2505     	4.2.8p4 protects against the first attack. For the second attack,
   2506     	all we can do is warn when it is happening, which we do in 4.2.8p4.
   2507     Credit: This weakness was discovered by Aanchal Malhotra,
   2508     	Issac E. Cohen, and Sharon Goldberg of Boston University. 
   2509 
   2510 * configuration directives to change "pidfile" and "driftfile" should
   2511   only be allowed locally. 
   2512 
   2513   References: Sec 2902 / CVE-2015-5196
   2514   Affects: All ntp-4 releases up to, but not including 4.2.8p4,
   2515 	and 4.3.0 up to, but not including 4.3.77
   2516    CVSS: (AV:N/AC:H/Au:M/C:N/I:C/A:C) Base Score: 6.2 worst case
   2517    Summary: If ntpd is configured to allow for remote configuration,
   2518 	and if the (possibly spoofed) source IP address is allowed to
   2519 	send remote configuration requests, and if the attacker knows
   2520 	the remote configuration password, it's possible for an attacker
   2521 	to use the "pidfile" or "driftfile" directives to potentially
   2522 	overwrite other files.
   2523    Mitigation:
   2524 	Implement BCP-38.
   2525 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   2526 	    Page or the NTP Public Services Project Download Page
   2527 	If you cannot upgrade, don't enable remote configuration.
   2528 	If you must enable remote configuration and cannot upgrade,
   2529 	    remote configuration of NTF's ntpd requires:
   2530 	    - an explicitly configured trustedkey, and you should also
   2531 	    	configure a controlkey.
   2532 	    - access from a permitted IP. You choose the IPs.
   2533 	    - authentication. Don't disable it. Practice secure key safety. 
   2534 	Monitor your ntpd instances. 
   2535    Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 
   2536 
   2537 * Slow memory leak in CRYPTO_ASSOC 
   2538 
   2539   References: Sec 2909 / CVE-2015-7701
   2540   Affects: All ntp-4 releases that use autokey up to, but not
   2541     including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77
   2542   CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 0.0 best/usual case,
   2543   	4.6 otherwise
   2544   Summary: If ntpd is configured to use autokey, then an attacker can
   2545 	send packets to ntpd that will, after several days of ongoing
   2546 	attack, cause it to run out of memory.
   2547   Mitigation:
   2548 	Don't use autokey.
   2549 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   2550 	    Page or the NTP Public Services Project Download Page
   2551 	Monitor your ntpd instances. 
   2552   Credit: This weakness was discovered by Tenable Network Security. 
   2553 
   2554 * mode 7 loop counter underrun
   2555 
   2556   References:  Sec 2913 / CVE-2015-7848 / TALOS-CAN-0052
   2557   Affects: All ntp-4 releases up to, but not including 4.2.8p4,
   2558   	and 4.3.0 up to, but not including 4.3.77
   2559   CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6
   2560   Summary: If ntpd is configured to enable mode 7 packets, and if the
   2561 	use of mode 7 packets is not properly protected thru the use of
   2562 	the available mode 7 authentication and restriction mechanisms,
   2563 	and if the (possibly spoofed) source IP address is allowed to
   2564 	send mode 7 queries, then an attacker can send a crafted packet
   2565 	to ntpd that will cause it to crash.
   2566   Mitigation:
   2567 	Implement BCP-38.
   2568 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   2569 	    Page or the NTP Public Services Project Download Page.
   2570 	      If you are unable to upgrade:
   2571 	In ntp-4.2.8, mode 7 is disabled by default. Don't enable it.
   2572 	If you must enable mode 7:
   2573 	    configure the use of a requestkey to control who can issue
   2574 		mode 7 requests.
   2575 	    configure restrict noquery to further limit mode 7 requests
   2576 		to trusted sources. 
   2577 	Monitor your ntpd instances. 
   2578 Credit: This weakness was discovered by Aleksandar Nikolic of Cisco Talos. 
   2579 
   2580 * memory corruption in password store
   2581 
   2582   References: Sec 2916 / CVE-2015-7849 / TALOS-CAN-0054
   2583   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
   2584   CVSS: (AV:N/AC:H/Au:M/C:N/I:C/A:C) Base Score: 6.8, worst case
   2585   Summary: If ntpd is configured to allow remote configuration, and if
   2586 	the (possibly spoofed) source IP address is allowed to send
   2587 	remote configuration requests, and if the attacker knows the
   2588 	remote configuration password or if ntpd was configured to
   2589 	disable authentication, then an attacker can send a set of
   2590 	packets to ntpd that may cause a crash or theoretically
   2591 	perform a code injection attack.
   2592   Mitigation:
   2593 	Implement BCP-38.
   2594 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   2595 	    Page or the NTP Public Services Project Download Page.
   2596 	If you are unable to upgrade, remote configuration of NTF's
   2597 	    ntpd requires:
   2598 		an explicitly configured "trusted" key. Only configure
   2599 			this if you need it.
   2600 		access from a permitted IP address. You choose the IPs.
   2601 		authentication. Don't disable it. Practice secure key safety. 
   2602 	Monitor your ntpd instances. 
   2603   Credit: This weakness was discovered by Yves Younan of Cisco Talos. 
   2604 
   2605 * Infinite loop if extended logging enabled and the logfile and
   2606   keyfile are the same.
   2607 
   2608     References: Sec 2917 / CVE-2015-7850 / TALOS-CAN-0055
   2609     Affects: All ntp-4 releases up to, but not including 4.2.8p4,
   2610 	and 4.3.0 up to, but not including 4.3.77
   2611     CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6, worst case
   2612     Summary: If ntpd is configured to allow remote configuration, and if
   2613 	the (possibly spoofed) source IP address is allowed to send
   2614 	remote configuration requests, and if the attacker knows the
   2615 	remote configuration password or if ntpd was configured to
   2616 	disable authentication, then an attacker can send a set of
   2617 	packets to ntpd that will cause it to crash and/or create a
   2618 	potentially huge log file. Specifically, the attacker could
   2619 	enable extended logging, point the key file at the log file,
   2620 	and cause what amounts to an infinite loop.
   2621     Mitigation:
   2622 	Implement BCP-38.
   2623 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   2624 	    Page or the NTP Public Services Project Download Page.
   2625 	If you are unable to upgrade, remote configuration of NTF's ntpd
   2626 	  requires:
   2627             an explicitly configured "trusted" key. Only configure this
   2628 	    	if you need it.
   2629             access from a permitted IP address. You choose the IPs.
   2630             authentication. Don't disable it. Practice secure key safety. 
   2631         Monitor your ntpd instances. 
   2632     Credit: This weakness was discovered by Yves Younan of Cisco Talos. 
   2633 
   2634 * Potential path traversal vulnerability in the config file saving of
   2635   ntpd on VMS.
   2636 
   2637   References: Sec 2918 / CVE-2015-7851 / TALOS-CAN-0062
   2638   Affects: All ntp-4 releases running under VMS up to, but not
   2639 	including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77
   2640   CVSS: (AV:N/AC:H/Au:M/C:N/I:P/A:C) Base Score: 5.2, worst case
   2641   Summary: If ntpd is configured to allow remote configuration, and if
   2642 	the (possibly spoofed) IP address is allowed to send remote
   2643 	configuration requests, and if the attacker knows the remote
   2644 	configuration password or if ntpd was configured to disable
   2645 	authentication, then an attacker can send a set of packets to
   2646 	ntpd that may cause ntpd to overwrite files.
   2647   Mitigation:
   2648 	Implement BCP-38.
   2649 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   2650 	    Page or the NTP Public Services Project Download Page.
   2651 	If you are unable to upgrade, remote configuration of NTF's ntpd
   2652 	    requires:
   2653 		an explicitly configured "trusted" key. Only configure
   2654 			this if you need it.
   2655 		access from permitted IP addresses. You choose the IPs.
   2656 		authentication. Don't disable it. Practice key security safety. 
   2657         Monitor your ntpd instances. 
   2658     Credit: This weakness was discovered by Yves Younan of Cisco Talos. 
   2659 
   2660 * ntpq atoascii() potential memory corruption
   2661 
   2662   References: Sec 2919 / CVE-2015-7852 / TALOS-CAN-0063
   2663   Affects: All ntp-4 releases running up to, but not including 4.2.8p4,
   2664 	and 4.3.0 up to, but not including 4.3.77
   2665   CVSS: (AV:N/AC:H/Au:N/C:N/I:P/A:P) Base Score: 4.0, worst case
   2666   Summary: If an attacker can figure out the precise moment that ntpq
   2667 	is listening for data and the port number it is listening on or
   2668 	if the attacker can provide a malicious instance ntpd that
   2669 	victims will connect to then an attacker can send a set of
   2670 	crafted mode 6 response packets that, if received by ntpq,
   2671 	can cause ntpq to crash.
   2672   Mitigation:
   2673 	Implement BCP-38.
   2674 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   2675 	    Page or the NTP Public Services Project Download Page.
   2676 	If you are unable to upgrade and you run ntpq against a server
   2677 	    and ntpq crashes, try again using raw mode. Build or get a
   2678 	    patched ntpq and see if that fixes the problem. Report new
   2679 	    bugs in ntpq or abusive servers appropriately.
   2680 	If you use ntpq in scripts, make sure ntpq does what you expect
   2681 	    in your scripts. 
   2682   Credit: This weakness was discovered by Yves Younan and
   2683   	Aleksander Nikolich of Cisco Talos. 
   2684 
   2685 * Invalid length data provided by a custom refclock driver could cause
   2686   a buffer overflow. 
   2687 
   2688   References: Sec 2920 / CVE-2015-7853 / TALOS-CAN-0064
   2689   Affects: Potentially all ntp-4 releases running up to, but not
   2690 	including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77
   2691 	that have custom refclocks
   2692   CVSS: (AV:L/AC:H/Au:M/C:C/I:C/A:C) Base Score: 0.0 usual case,
   2693 	5.9 unusual worst case
   2694   Summary: A negative value for the datalen parameter will overflow a
   2695 	data buffer. NTF's ntpd driver implementations always set this
   2696 	value to 0 and are therefore not vulnerable to this weakness.
   2697 	If you are running a custom refclock driver in ntpd and that
   2698 	driver supplies a negative value for datalen (no custom driver
   2699 	of even minimal competence would do this) then ntpd would
   2700 	overflow a data buffer. It is even hypothetically possible
   2701 	in this case that instead of simply crashing ntpd the attacker
   2702 	could effect a code injection attack.
   2703   Mitigation:
   2704 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   2705 	    Page or the NTP Public Services Project Download Page.
   2706 	If you are unable to upgrade:
   2707 		If you are running custom refclock drivers, make sure
   2708 			the signed datalen value is either zero or positive. 
   2709 	Monitor your ntpd instances. 
   2710   Credit: This weakness was discovered by Yves Younan of Cisco Talos. 
   2711 
   2712 * Password Length Memory Corruption Vulnerability
   2713 
   2714   References: Sec 2921 / CVE-2015-7854 / TALOS-CAN-0065
   2715   Affects: All ntp-4 releases up to, but not including 4.2.8p4, and
   2716   	4.3.0 up to, but not including 4.3.77
   2717   CVSS: (AV:N/AC:H/Au:M/C:C/I:C/A:C) Base Score: 0.0 best case,
   2718   	1.7 usual case, 6.8, worst case
   2719   Summary: If ntpd is configured to allow remote configuration, and if
   2720 	the (possibly spoofed) source IP address is allowed to send
   2721 	remote configuration requests, and if the attacker knows the
   2722 	remote configuration password or if ntpd was (foolishly)
   2723 	configured to disable authentication, then an attacker can
   2724 	send a set of packets to ntpd that may cause it to crash,
   2725 	with the hypothetical possibility of a small code injection.
   2726   Mitigation:
   2727 	Implement BCP-38.
   2728 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   2729 	    Page or the NTP Public Services Project Download Page.
   2730 	If you are unable to upgrade, remote configuration of NTF's
   2731 	    ntpd requires:
   2732 		an explicitly configured "trusted" key. Only configure
   2733 			this if you need it.
   2734 		access from a permitted IP address. You choose the IPs.
   2735 		authentication. Don't disable it. Practice secure key safety. 
   2736 	Monitor your ntpd instances. 
   2737   Credit: This weakness was discovered by Yves Younan and
   2738   	Aleksander Nikolich of Cisco Talos. 
   2739 
   2740 * decodenetnum() will ASSERT botch instead of returning FAIL on some
   2741   bogus values.
   2742 
   2743   References: Sec 2922 / CVE-2015-7855
   2744   Affects: All ntp-4 releases up to, but not including 4.2.8p4, and
   2745 	4.3.0 up to, but not including 4.3.77
   2746   CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6, worst case
   2747   Summary: If ntpd is fed a crafted mode 6 or mode 7 packet containing
   2748 	an unusually long data value where a network address is expected,
   2749 	the decodenetnum() function will abort with an assertion failure
   2750 	instead of simply returning a failure condition.
   2751   Mitigation:
   2752 	Implement BCP-38.
   2753 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   2754 	    Page or the NTP Public Services Project Download Page.
   2755 	If you are unable to upgrade:
   2756 		mode 7 is disabled by default. Don't enable it.
   2757 		Use restrict noquery to limit who can send mode 6
   2758 			and mode 7 requests.
   2759 		Configure and use the controlkey and requestkey
   2760 			authentication directives to limit who can
   2761 			send mode 6 and mode 7 requests. 
   2762 	Monitor your ntpd instances. 
   2763   Credit: This weakness was discovered by John D "Doug" Birdwell of IDA.org. 
   2764 
   2765 * NAK to the Future: Symmetric association authentication bypass via
   2766   crypto-NAK.
   2767 
   2768   References: Sec 2941 / CVE-2015-7871
   2769   Affects: All ntp-4 releases between 4.2.5p186 up to but not including
   2770   	4.2.8p4, and 4.3.0 up to but not including 4.3.77
   2771   CVSS: (AV:N/AC:L/Au:N/C:N/I:P/A:P) Base Score: 6.4
   2772   Summary: Crypto-NAK packets can be used to cause ntpd to accept time
   2773 	from unauthenticated ephemeral symmetric peers by bypassing the
   2774 	authentication required to mobilize peer associations. This
   2775 	vulnerability appears to have been introduced in ntp-4.2.5p186
   2776 	when the code handling mobilization of new passive symmetric
   2777 	associations (lines 1103-1165) was refactored.
   2778   Mitigation:
   2779 	Implement BCP-38.
   2780 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   2781 	    Page or the NTP Public Services Project Download Page.
   2782 	If you are unable to upgrade:
   2783 		Apply the patch to the bottom of the "authentic" check
   2784 			block around line 1136 of ntp_proto.c. 
   2785 	Monitor your ntpd instances. 
   2786   Credit: This weakness was discovered by Matthew Van Gundy of Cisco ASIG. 
   2787 
   2788 Backward-Incompatible changes:
   2789 * [Bug 2817] Default on Linux is now "rlimit memlock -1".
   2790   While the general default of 32M is still the case, under Linux
   2791   the default value has been changed to -1 (do not lock ntpd into
   2792   memory).  A value of 0 means "lock ntpd into memory with whatever
   2793   memory it needs." If your ntp.conf file has an explicit "rlimit memlock"
   2794   value in it, that value will continue to be used.
   2795 
   2796 * [Bug 2886] Misspelling: "outlyer" should be "outlier".
   2797   If you've written a script that looks for this case in, say, the
   2798   output of ntpq, you probably want to change your regex matches
   2799   from 'outlyer' to 'outl[iy]er'.
   2800 
   2801 New features in this release:
   2802 * 'rlimit memlock' now has finer-grained control.  A value of -1 means
   2803   "don't lock ntpd into memore".  This is the default for Linux boxes.
   2804   A value of 0 means "lock ntpd into memory" with no limits.  Otherwise
   2805   the value is the number of megabytes of memory to lock.  The default
   2806   is 32 megabytes.
   2807 
   2808 * The old Google Test framework has been replaced with a new framework,
   2809   based on http://www.throwtheswitch.org/unity/ .
   2810 
   2811 Bug Fixes and Improvements:
   2812 * [Bug 2332] (reopened) Exercise thread cancellation once before dropping
   2813   privileges and limiting resources in NTPD removes the need to link
   2814   forcefully against 'libgcc_s' which does not always work. J.Perlinger
   2815 * [Bug 2595] ntpdate man page quirks.  Hal Murray, Harlan Stenn.
   2816 * [Bug 2625] Deprecate flag1 in local refclock.  Hal Murray, Harlan Stenn.
   2817 * [Bug 2817] Stop locking ntpd into memory by default under Linux.  H.Stenn.
   2818 * [Bug 2821] minor build issues: fixed refclock_gpsdjson.c.  perlinger (a] ntp.org
   2819 * [Bug 2823] ntpsweep with recursive peers option doesn't work.  H.Stenn.
   2820 * [Bug 2849] Systems with more than one default route may never
   2821   synchronize.  Brian Utterback.  Note that this patch might need to
   2822   be reverted once Bug 2043 has been fixed.
   2823 * [Bug 2864] 4.2.8p3 fails to compile on Windows. Juergen Perlinger
   2824 * [Bug 2866] segmentation fault at initgroups().  Harlan Stenn.
   2825 * [Bug 2867] ntpd with autokey active crashed by 'ntpq -crv'. J.Perlinger
   2826 * [Bug 2873] libevent should not include .deps/ in the tarball.  H.Stenn
   2827 * [Bug 2874] Don't distribute generated sntp/tests/fileHandlingTest.h. H.Stenn
   2828 * [Bug 2875] sntp/Makefile.am: Get rid of DIST_SUBDIRS.  libevent must
   2829   be configured for the distribution targets.  Harlan Stenn.
   2830 * [Bug 2883] ntpd crashes on exit with empty driftfile.  Miroslav Lichvar.
   2831 * [Bug 2886] Mis-spelling: "outlyer" should be "outlier".  dave (a] horsfall.org
   2832 * [Bug 2888] streamline calendar functions.  perlinger (a] ntp.org
   2833 * [Bug 2889] ntp-dev-4.3.67 does not build on Windows.  perlinger (a] ntp.org
   2834 * [Bug 2890] Ignore ENOBUFS on routing netlink socket.  Konstantin Khlebnikov.
   2835 * [Bug 2906] make check needs better support for pthreads.  Harlan Stenn.
   2836 * [Bug 2907] dist* build targets require our libevent/ to be enabled.  HStenn.
   2837 * [Bug 2912] no munlockall() under Windows.  David Taylor, Harlan Stenn.
   2838 * libntp/emalloc.c: Remove explicit include of stdint.h.  Harlan Stenn.
   2839 * Put Unity CPPFLAGS items in unity_config.h.  Harlan Stenn.
   2840 * tests/ntpd/g_leapsec.cpp typo fix.  Harlan Stenn.
   2841 * Phase 1 deprecation of google test in sntp/tests/.  Harlan Stenn.
   2842 * On some versions of HP-UX, inttypes.h does not include stdint.h.  H.Stenn.
   2843 * top_srcdir can change based on ntp v. sntp.  Harlan Stenn.
   2844 * sntp/tests/ function parameter list cleanup.  Damir Tomi.
   2845 * tests/libntp/ function parameter list cleanup.  Damir Tomi.
   2846 * tests/ntpd/ function parameter list cleanup.  Damir Tomi.
   2847 * sntp/unity/unity_config.h: handle stdint.h.  Harlan Stenn.
   2848 * sntp/unity/unity_internals.h: handle *INTPTR_MAX on old Solaris.  H.Stenn.
   2849 * tests/libntp/timevalops.c and timespecops.c fixed error printing.  D.Tomi.
   2850 * tests/libntp/ improvements in code and fixed error printing.  Damir Tomi.
   2851 * tests/libntp: a_md5encrypt.c, authkeys.c, buftvtots.c, calendar.c, caljulian.c,
   2852   caltontp.c, clocktime.c, humandate.c, hextolfp.c, decodenetnum.c - fixed
   2853   formatting; first declaration, then code (C90); deleted unnecessary comments;
   2854   changed from sprintf to snprintf; fixed order of includes. Tomasz Flendrich
   2855 * tests/libntp/lfpfunc.c remove unnecessary include, remove old comments,
   2856   fix formatting, cleanup. Tomasz Flendrich
   2857 * tests/libntp/lfptostr.c remove unnecessary include, add consts, fix formatting.
   2858   Tomasz Flendrich
   2859 * tests/libntp/statestr.c remove empty functions, remove unnecessary include,
   2860   fix formatting. Tomasz Flendrich
   2861 * tests/libntp/modetoa.c fixed formatting. Tomasz Flendrich
   2862 * tests/libntp/msyslog.c fixed formatting. Tomasz Flendrich
   2863 * tests/libntp/numtoa.c deleted unnecessary empty functions, fixed formatting.
   2864   Tomasz Flendrich
   2865 * tests/libntp/numtohost.c added const, fixed formatting. Tomasz Flendrich
   2866 * tests/libntp/refnumtoa.c fixed formatting. Tomasz Flendrich
   2867 * tests/libntp/ssl_init.c fixed formatting. Tomasz Flendrich
   2868 * tests/libntp/tvtots.c fixed a bug, fixed formatting. Tomasz Flendrich
   2869 * tests/libntp/uglydate.c removed an unnecessary include. Tomasz Flendrich
   2870 * tests/libntp/vi64ops.c removed an unnecessary comment, fixed formatting.
   2871 * tests/libntp/ymd3yd.c removed an empty function and an unnecessary include,
   2872 fixed formatting. Tomasz Flendrich
   2873 * tests/libntp/timespecops.c fixed formatting, fixed the order of includes,
   2874   removed unnecessary comments, cleanup. Tomasz Flendrich
   2875 * tests/libntp/timevalops.c fixed the order of includes, deleted unnecessary
   2876   comments, cleanup. Tomasz Flendrich
   2877 * tests/libntp/sockaddrtest.h making it agree to NTP's conventions of formatting.
   2878   Tomasz Flendrich
   2879 * tests/libntp/lfptest.h cleanup. Tomasz Flendrich
   2880 * tests/libntp/test-libntp.c fix formatting. Tomasz Flendrich
   2881 * sntp/tests/crypto.c is now using proper Unity's assertions, fixed formatting.
   2882   Tomasz Flendrich
   2883 * sntp/tests/kodDatabase.c added consts, deleted empty function,
   2884   fixed formatting. Tomasz Flendrich
   2885 * sntp/tests/kodFile.c cleanup, fixed formatting. Tomasz Flendrich
   2886 * sntp/tests/packetHandling.c is now using proper Unity's assertions,
   2887   fixed formatting, deleted unused variable. Tomasz Flendrich
   2888 * sntp/tests/keyFile.c is now using proper Unity's assertions, fixed formatting.
   2889   Tomasz Flendrich
   2890 * sntp/tests/packetProcessing.c changed from sprintf to snprintf,
   2891   fixed formatting. Tomasz Flendrich
   2892 * sntp/tests/utilities.c is now using proper Unity's assertions, changed
   2893   the order of includes, fixed formatting, removed unnecessary comments.
   2894   Tomasz Flendrich
   2895 * sntp/tests/sntptest.h fixed formatting. Tomasz Flendrich
   2896 * sntp/tests/fileHandlingTest.h.in fixed a possible buffer overflow problem,
   2897   made one function do its job, deleted unnecessary prints, fixed formatting.
   2898   Tomasz Flendrich
   2899 * sntp/unity/Makefile.am added a missing header. Tomasz Flendrich
   2900 * sntp/unity/unity_config.h: Distribute it.  Harlan Stenn.
   2901 * sntp/libevent/evconfig-private.h: remove generated filefrom SCM.  H.Stenn.
   2902 * sntp/unity/Makefile.am: fix some broken paths.  Harlan Stenn.
   2903 * sntp/unity/unity.c: Clean up a printf().  Harlan Stenn.
   2904 * Phase 1 deprecation of google test in tests/libntp/.  Harlan Stenn.
   2905 * Don't build sntp/libevent/sample/.  Harlan Stenn.
   2906 * tests/libntp/test_caltontp needs -lpthread.  Harlan Stenn.
   2907 * br-flock: --enable-local-libevent.  Harlan Stenn.
   2908 * Wrote tests for ntpd/ntp_prio_q.c. Tomasz Flendrich
   2909 * scripts/lib/NTP/Util.pm: stratum output is version-dependent.  Harlan Stenn.
   2910 * Get rid of the NTP_ prefix on our assertion macros.  Harlan Stenn.
   2911 * Code cleanup.  Harlan Stenn.
   2912 * libntp/icom.c: Typo fix.  Harlan Stenn.
   2913 * util/ntptime.c: initialization nit.  Harlan Stenn.
   2914 * ntpd/ntp_peer.c:newpeer(): added a DEBUG_REQUIRE(srcadr).  Harlan Stenn.
   2915 * Add std_unity_tests to various Makefile.am files.  Harlan Stenn.
   2916 * ntpd/ntp_restrict.c: added a few assertions, created tests for this file.
   2917   Tomasz Flendrich
   2918 * Changed progname to be const in many files - now it's consistent. Tomasz
   2919   Flendrich
   2920 * Typo fix for GCC warning suppression.  Harlan Stenn.
   2921 * Added tests/ntpd/ntp_scanner.c test. Damir Tomi.
   2922 * Added declarations to all Unity tests, and did minor fixes to them.
   2923   Reduced the number of warnings by half. Damir Tomi.
   2924 * Updated generate_test_runner.rb and updated the sntp/unity/auto directory
   2925   with the latest Unity updates from Mark. Damir Tomi.
   2926 * Retire google test - phase I.  Harlan Stenn.
   2927 * Unity test cleanup: move declaration of 'initializing'.  Harlan Stenn.
   2928 * Update the NEWS file.  Harlan Stenn.
   2929 * Autoconf cleanup.  Harlan Stenn.
   2930 * Unit test dist cleanup. Harlan Stenn.
   2931 * Cleanup various test Makefile.am files.  Harlan Stenn.
   2932 * Pthread autoconf macro cleanup.  Harlan Stenn.
   2933 * Fix progname definition in unity runner scripts.  Harlan Stenn.
   2934 * Clean trailing whitespace in tests/ntpd/Makefile.am.  Harlan Stenn.
   2935 * Update the patch for bug 2817.  Harlan Stenn.
   2936 * More updates for bug 2817.  Harlan Stenn.
   2937 * Fix bugs in tests/ntpd/ntp_prio_q.c.  Harlan Stenn.
   2938 * gcc on older HPUX may need +allowdups.  Harlan Stenn.
   2939 * Adding missing MCAST protection.  Harlan Stenn.
   2940 * Disable certain test programs on certain platforms.  Harlan Stenn.
   2941 * Implement --enable-problem-tests (on by default).  Harlan Stenn.
   2942 * build system tweaks.  Harlan Stenn.
   2943 
   2944 ---
   2945 NTP 4.2.8p3 (Harlan Stenn <stenn (a] ntp.org>, 2015/06/29) 
   2946 
   2947 Focus: 1 Security fix.  Bug fixes and enhancements.  Leap-second improvements.
   2948 
   2949 Severity: MEDIUM
   2950 
   2951 Security Fix:
   2952 
   2953 * [Sec 2853] Crafted remote config packet can crash some versions of
   2954   ntpd.  Aleksis Kauppinen, Juergen Perlinger, Harlan Stenn.
   2955 
   2956 Under specific circumstances an attacker can send a crafted packet to
   2957 cause a vulnerable ntpd instance to crash. This requires each of the
   2958 following to be true:
   2959 
   2960 1) ntpd set up to allow remote configuration (not allowed by default), and
   2961 2) knowledge of the configuration password, and
   2962 3) access to a computer entrusted to perform remote configuration. 
   2963 
   2964 This vulnerability is considered low-risk.
   2965 
   2966 New features in this release:
   2967 
   2968 Optional (disabled by default) support to have ntpd provide smeared
   2969 leap second time.  A specially built and configured ntpd will only
   2970 offer smeared time in response to client packets.  These response
   2971 packets will also contain a "refid" of 254.a.b.c, where the 24 bits
   2972 of a, b, and c encode the amount of smear in a 2:22 integer:fraction 
   2973 format.  See README.leapsmear and http://bugs.ntp.org/2855 for more
   2974 information.
   2975 
   2976    *IF YOU CHOOSE TO CONFIGURE NTPD TO PROVIDE LEAP SMEAR TIME*
   2977    *BE SURE YOU DO NOT OFFER THAT TIME ON PUBLIC TIMESERVERS.*
   2978 
   2979 We've imported the Unity test framework, and have begun converting
   2980 the existing google-test items to this new framework.  If you want
   2981 to write new tests or change old ones, you'll need to have ruby
   2982 installed.  You don't need ruby to run the test suite.
   2983 
   2984 Bug Fixes and Improvements:
   2985 
   2986 * CID 739725: Fix a rare resource leak in libevent/listener.c.
   2987 * CID 1295478: Quiet a pedantic potential error from the fix for Bug 2776.
   2988 * CID 1296235: Fix refclock_jjy.c and correcting type of the driver40-ja.html
   2989 * CID 1269537: Clean up a line of dead code in getShmTime().
   2990 * [Bug 1060] Buffer overruns in libparse/clk_rawdcf.c.  Helge Oldach.
   2991 * [Bug 2590] autogen-5.18.5.
   2992 * [Bug 2612] restrict: Warn when 'monitor' can't be disabled because
   2993   of 'limited'.
   2994 * [Bug 2650] fix includefile processing.
   2995 * [Bug 2745] ntpd -x steps clock on leap second
   2996    Fixed an initial-value problem that caused misbehaviour in absence of
   2997    any leapsecond information.
   2998    Do leap second stepping only of the step adjustment is beyond the
   2999    proper jump distance limit and step correction is allowed at all.
   3000 * [Bug 2750] build for Win64
   3001   Building for 32bit of loopback ppsapi needs def file
   3002 * [Bug 2776] Improve ntpq's 'help keytype'.
   3003 * [Bug 2778] Implement "apeers"  ntpq command to include associd.
   3004 * [Bug 2782] Refactor refclock_shm.c, add memory barrier protection.
   3005 * [Bug 2792] If the IFF_RUNNING interface flag is supported then an
   3006   interface is ignored as long as this flag is not set since the
   3007   interface is not usable (e.g., no link).
   3008 * [Bug 2794] Clean up kernel clock status reports.
   3009 * [Bug 2800] refclock_true.c true_debug() can't open debug log because
   3010   of incompatible open/fdopen parameters.
   3011 * [Bug 2804] install-local-data assumes GNU 'find' semantics.
   3012 * [Bug 2805] ntpd fails to join multicast group.
   3013 * [Bug 2806] refclock_jjy.c supports the Telephone JJY.
   3014 * [Bug 2808] GPSD_JSON driver enhancements, step 1.
   3015   Fix crash during cleanup if GPS device not present and char device.
   3016   Increase internal token buffer to parse all JSON data, even SKY.
   3017   Defer logging of errors during driver init until the first unit is
   3018   started, so the syslog is not cluttered when the driver is not used.
   3019   Various improvements, see http://bugs.ntp.org/2808 for details.
   3020   Changed libjsmn to a more recent version.
   3021 * [Bug 2810] refclock_shm.c memory barrier code needs tweaks for QNX.
   3022 * [Bug 2813] HP-UX needs -D__STDC_VERSION__=199901L and limits.h.
   3023 * [Bug 2815] net-snmp before v5.4 has circular library dependencies.
   3024 * [Bug 2821] Add a missing NTP_PRINTF and a missing const.
   3025 * [Bug 2822] New leap column in sntp broke NTP::Util.pm.
   3026 * [Bug 2824] Convert update-leap to perl. (also see 2769)
   3027 * [Bug 2825] Quiet file installation in html/ .
   3028 * [Bug 2830] ntpd doesn't always transfer the correct TAI offset via autokey
   3029    NTPD transfers the current TAI (instead of an announcement) now.
   3030    This might still needed improvement.
   3031    Update autokey data ASAP when 'sys_tai' changes.
   3032    Fix unit test that was broken by changes for autokey update.
   3033    Avoid potential signature length issue and use DPRINTF where possible
   3034      in ntp_crypto.c.
   3035 * [Bug 2832] refclock_jjy.c supports the TDC-300.
   3036 * [Bug 2834] Correct a broken html tag in html/refclock.html
   3037 * [Bug 2836] DFC77 patches from Frank Kardel to make decoding more
   3038   robust, and require 2 consecutive timestamps to be consistent.
   3039 * [Bug 2837] Allow a configurable DSCP value.
   3040 * [Bug 2837] add test for DSCP to ntpd/complete.conf.in
   3041 * [Bug 2842] Glitch in ntp.conf.def documentation stanza.
   3042 * [Bug 2842] Bug in mdoc2man.
   3043 * [Bug 2843] make check fails on 4.3.36
   3044    Fixed compiler warnings about numeric range overflow
   3045    (The original topic was fixed in a byplay to bug#2830)
   3046 * [Bug 2845] Harden memory allocation in ntpd.
   3047 * [Bug 2852] 'make check' can't find unity.h.  Hal Murray.
   3048 * [Bug 2854] Missing brace in libntp/strdup.c.  Masanari Iida.
   3049 * [Bug 2855] Parser fix for conditional leap smear code.  Harlan Stenn.
   3050 * [Bug 2855] Report leap smear in the REFID.  Harlan Stenn.
   3051 * [Bug 2855] Implement conditional leap smear code.  Martin Burnicki.
   3052 * [Bug 2856] ntpd should wait() on terminated child processes.  Paul Green.
   3053 * [Bug 2857] Stratus VOS does not support SIGIO.  Paul Green.
   3054 * [Bug 2859] Improve raw DCF77 robustness deconding.  Frank Kardel.
   3055 * [Bug 2860] ntpq ifstats sanity check is too stringent.  Frank Kardel.
   3056 * html/drivers/driver22.html: typo fix.  Harlan Stenn.
   3057 * refidsmear test cleanup.  Tomasz Flendrich.
   3058 * refidsmear function support and tests.  Harlan Stenn.
   3059 * sntp/tests/Makefile.am: remove g_nameresolution.cpp as it tested
   3060   something that was only in the 4.2.6 sntp.  Harlan Stenn.
   3061 * Modified tests/bug-2803/Makefile.am so it builds Unity framework tests.
   3062   Damir Tomi
   3063 * Modified tests/libtnp/Makefile.am so it builds Unity framework tests.
   3064   Damir Tomi
   3065 * Modified sntp/tests/Makefile.am so it builds Unity framework tests.
   3066   Damir Tomi
   3067 * tests/sandbox/smeartest.c: Harlan Stenn, Damir Tomic, Juergen Perlinger.
   3068 * Converted from gtest to Unity: tests/bug-2803/. Damir Tomi
   3069 * Converted from gtest to Unity: tests/libntp/ a_md5encrypt, atoint.c,
   3070   atouint.c, authkeys.c, buftvtots.c, calendar.c, caljulian.c,
   3071   calyearstart.c, clocktime.c, hextoint.c, lfpfunc.c, modetoa.c,
   3072   numtoa.c, numtohost.c, refnumtoa.c, ssl_init.c, statestr.c,
   3073   timespecops.c, timevalops.c, uglydate.c, vi64ops.c, ymd2yd.c.
   3074   Damir Tomi
   3075 * Converted from gtest to Unity: sntp/tests/ kodDatabase.c, kodFile.c,
   3076   networking.c, keyFile.c, utilities.cpp, sntptest.h,
   3077   fileHandlingTest.h. Damir Tomi
   3078 * Initial support for experimental leap smear code.  Harlan Stenn.
   3079 * Fixes to sntp/tests/fileHandlingTest.h.in.  Harlan Stenn.
   3080 * Report select() debug messages at debug level 3 now.
   3081 * sntp/scripts/genLocInfo: treat raspbian as debian.
   3082 * Unity test framework fixes.
   3083   ** Requires ruby for changes to tests.
   3084 * Initial support for PACKAGE_VERSION tests.
   3085 * sntp/libpkgver belongs in EXTRA_DIST, not DIST_SUBDIRS.
   3086 * tests/bug-2803/Makefile.am must distribute bug-2803.h.
   3087 * Add an assert to the ntpq ifstats code.
   3088 * Clean up the RLIMIT_STACK code.
   3089 * Improve the ntpq documentation around the controlkey keyid.
   3090 * ntpq.c cleanup.
   3091 * Windows port build cleanup.
   3092 
   3093 ---
   3094 NTP 4.2.8p2 (Harlan Stenn <stenn (a] ntp.org>, 2015/04/07) 
   3095 
   3096 Focus: Security and Bug fixes, enhancements.
   3097 
   3098 Severity: MEDIUM
   3099  
   3100 In addition to bug fixes and enhancements, this release fixes the
   3101 following medium-severity vulnerabilities involving private key
   3102 authentication:
   3103 
   3104 * [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto.
   3105 
   3106     References: Sec 2779 / CVE-2015-1798 / VU#374268
   3107     Affects: All NTP4 releases starting with ntp-4.2.5p99 up to but not
   3108 	including ntp-4.2.8p2 where the installation uses symmetric keys
   3109 	to authenticate remote associations.
   3110     CVSS: (AV:A/AC:M/Au:N/C:P/I:P/A:P) Base Score: 5.4
   3111     Date Resolved: Stable (4.2.8p2) 07 Apr 2015
   3112     Summary: When ntpd is configured to use a symmetric key to authenticate
   3113 	a remote NTP server/peer, it checks if the NTP message
   3114 	authentication code (MAC) in received packets is valid, but not if
   3115 	there actually is any MAC included. Packets without a MAC are
   3116 	accepted as if they had a valid MAC. This allows a MITM attacker to
   3117 	send false packets that are accepted by the client/peer without
   3118 	having to know the symmetric key. The attacker needs to know the
   3119 	transmit timestamp of the client to match it in the forged reply
   3120 	and the false reply needs to reach the client before the genuine
   3121 	reply from the server. The attacker doesn't necessarily need to be
   3122 	relaying the packets between the client and the server.
   3123 
   3124 	Authentication using autokey doesn't have this problem as there is
   3125 	a check that requires the key ID to be larger than NTP_MAXKEY,
   3126 	which fails for packets without a MAC.
   3127     Mitigation:
   3128         Upgrade to 4.2.8p2, or later, from the NTP Project Download Page
   3129 	or the NTP Public Services Project Download Page
   3130         Configure ntpd with enough time sources and monitor it properly. 
   3131     Credit: This issue was discovered by Miroslav Lichvar, of Red Hat. 
   3132 
   3133 * [Sec 2781] Authentication doesn't protect symmetric associations against
   3134   DoS attacks.
   3135 
   3136     References: Sec 2781 / CVE-2015-1799 / VU#374268
   3137     Affects: All NTP releases starting with at least xntp3.3wy up to but
   3138 	not including ntp-4.2.8p2 where the installation uses symmetric
   3139 	key authentication.
   3140     CVSS: (AV:A/AC:M/Au:N/C:P/I:P/A:P) Base Score: 5.4
   3141     Note: the CVSS base Score for this issue could be 4.3 or lower, and
   3142 	it could be higher than 5.4.
   3143     Date Resolved: Stable (4.2.8p2) 07 Apr 2015
   3144     Summary: An attacker knowing that NTP hosts A and B are peering with
   3145 	each other (symmetric association) can send a packet to host A
   3146 	with source address of B which will set the NTP state variables
   3147 	on A to the values sent by the attacker. Host A will then send
   3148 	on its next poll to B a packet with originate timestamp that
   3149 	doesn't match the transmit timestamp of B and the packet will
   3150 	be dropped. If the attacker does this periodically for both
   3151 	hosts, they won't be able to synchronize to each other. This is
   3152 	a known denial-of-service attack, described at
   3153 	https://www.eecis.udel.edu/~mills/onwire.html .
   3154 
   3155 	According to the document the NTP authentication is supposed to
   3156 	protect symmetric associations against this attack, but that
   3157 	doesn't seem to be the case. The state variables are updated even
   3158 	when authentication fails and the peers are sending packets with
   3159 	originate timestamps that don't match the transmit timestamps on
   3160 	the receiving side.
   3161 
   3162 	This seems to be a very old problem, dating back to at least
   3163 	xntp3.3wy. It's also in the NTPv3 (RFC 1305) and NTPv4 (RFC 5905)
   3164 	specifications, so other NTP implementations with support for
   3165 	symmetric associations and authentication may be vulnerable too.
   3166 	An update to the NTP RFC to correct this error is in-process.
   3167     Mitigation:
   3168         Upgrade to 4.2.8p2, or later, from the NTP Project Download Page
   3169 	or the NTP Public Services Project Download Page
   3170         Note that for users of autokey, this specific style of MITM attack
   3171 	is simply a long-known potential problem.
   3172         Configure ntpd with appropriate time sources and monitor ntpd.
   3173 	Alert your staff if problems are detected. 
   3174     Credit: This issue was discovered by Miroslav Lichvar, of Red Hat. 
   3175 
   3176 * New script: update-leap
   3177 The update-leap script will verify and if necessary, update the
   3178 leap-second definition file.
   3179 It requires the following commands in order to work:
   3180 
   3181 	wget logger tr sed shasum
   3182 
   3183 Some may choose to run this from cron.  It needs more portability testing.
   3184 
   3185 Bug Fixes and Improvements:
   3186 
   3187 * [Bug 1787] DCF77's formerly "antenna" bit is "call bit" since 2003.
   3188 * [Bug 1960] setsockopt IPV6_MULTICAST_IF: Invalid argument.
   3189 * [Bug 2346] "graceful termination" signals do not do peer cleanup.
   3190 * [Bug 2728] See if C99-style structure initialization works.
   3191 * [Bug 2747] Upgrade libevent to 2.1.5-beta.
   3192 * [Bug 2749] ntp/lib/NTP/Util.pm needs update for ntpq -w, IPv6, .POOL. .
   3193 * [Bug 2751] jitter.h has stale copies of l_fp macros.
   3194 * [Bug 2756] ntpd hangs in startup with gcc 3.3.5 on ARM.
   3195 * [Bug 2757] Quiet compiler warnings.
   3196 * [Bug 2759] Expose nonvolatile/clk_wander_threshold to ntpq.
   3197 * [Bug 2763] Allow different thresholds for forward and backward steps.
   3198 * [Bug 2766] ntp-keygen output files should not be world-readable.
   3199 * [Bug 2767] ntp-keygen -M should symlink to ntp.keys.
   3200 * [Bug 2771] nonvolatile value is documented in wrong units.
   3201 * [Bug 2773] Early leap announcement from Palisade/Thunderbolt
   3202 * [Bug 2774] Unreasonably verbose printout - leap pending/warning
   3203 * [Bug 2775] ntp-keygen.c fails to compile under Windows.
   3204 * [Bug 2777] Fixed loops and decoding of Meinberg GPS satellite info.
   3205   Removed non-ASCII characters from some copyright comments.
   3206   Removed trailing whitespace.
   3207   Updated definitions for Meinberg clocks from current Meinberg header files.
   3208   Now use C99 fixed-width types and avoid non-ASCII characters in comments.
   3209   Account for updated definitions pulled from Meinberg header files.
   3210   Updated comments on Meinberg GPS receivers which are not only called GPS16x.
   3211   Replaced some constant numbers by defines from ntp_calendar.h
   3212   Modified creation of parse-specific variables for Meinberg devices
   3213   in gps16x_message().
   3214   Reworked mk_utcinfo() to avoid printing of ambiguous leap second dates.
   3215   Modified mbg_tm_str() which now expexts an additional parameter controlling
   3216   if the time status shall be printed.
   3217 * [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto.
   3218 * [Sec 2781] Authentication doesn't protect symmetric associations against
   3219   DoS attacks.
   3220 * [Bug 2783] Quiet autoconf warnings about missing AC_LANG_SOURCE.
   3221 * [Bug 2789] Quiet compiler warnings from libevent.
   3222 * [Bug 2790] If ntpd sets the Windows MM timer highest resolution
   3223   pause briefly before measuring system clock precision to yield
   3224   correct results.
   3225 * Comment from Juergen Perlinger in ntp_calendar.c to make the code clearer.
   3226 * Use predefined function types for parse driver functions
   3227   used to set up function pointers.
   3228   Account for changed prototype of parse_inp_fnc_t functions.
   3229   Cast parse conversion results to appropriate types to avoid
   3230   compiler warnings.
   3231   Let ioctl() for Windows accept a (void *) to avoid compiler warnings
   3232   when called with pointers to different types.
   3233 
   3234 ---
   3235 NTP 4.2.8p1 (Harlan Stenn <stenn (a] ntp.org>, 2015/02/04) 
   3236 
   3237 Focus: Security and Bug fixes, enhancements.
   3238 
   3239 Severity: HIGH
   3240  
   3241 In addition to bug fixes and enhancements, this release fixes the
   3242 following high-severity vulnerabilities:
   3243 
   3244 * vallen is not validated in several places in ntp_crypto.c, leading
   3245   to a potential information leak or possibly a crash
   3246 
   3247     References: Sec 2671 / CVE-2014-9297 / VU#852879
   3248     Affects: All NTP4 releases before 4.2.8p1 that are running autokey.
   3249     CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
   3250     Date Resolved: Stable (4.2.8p1) 04 Feb 2015
   3251     Summary: The vallen packet value is not validated in several code
   3252              paths in ntp_crypto.c which can lead to information leakage
   3253 	     or perhaps a crash of the ntpd process.
   3254     Mitigation - any of:
   3255 	Upgrade to 4.2.8p1, or later, from the NTP Project Download Page
   3256 		or the NTP Public Services Project Download Page.
   3257 	Disable Autokey Authentication by removing, or commenting out,
   3258 		all configuration directives beginning with the "crypto"
   3259 		keyword in your ntp.conf file. 
   3260     Credit: This vulnerability was discovered by Stephen Roettger of the
   3261     	Google Security Team, with additional cases found by Sebastian
   3262 	Krahmer of the SUSE Security Team and Harlan Stenn of Network
   3263 	Time Foundation. 
   3264 
   3265 * ::1 can be spoofed on some OSes, so ACLs based on IPv6 ::1 addresses
   3266   can be bypassed.
   3267 
   3268     References: Sec 2672 / CVE-2014-9298 / VU#852879
   3269     Affects: All NTP4 releases before 4.2.8p1, under at least some
   3270 	versions of MacOS and Linux. *BSD has not been seen to be vulnerable.
   3271     CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:C) Base Score: 9
   3272     Date Resolved: Stable (4.2.8p1) 04 Feb 2014
   3273     Summary: While available kernels will prevent 127.0.0.1 addresses
   3274 	from "appearing" on non-localhost IPv4 interfaces, some kernels
   3275 	do not offer the same protection for ::1 source addresses on
   3276 	IPv6 interfaces. Since NTP's access control is based on source
   3277 	address and localhost addresses generally have no restrictions,
   3278 	an attacker can send malicious control and configuration packets
   3279 	by spoofing ::1 addresses from the outside. Note Well: This is
   3280 	not really a bug in NTP, it's a problem with some OSes. If you
   3281 	have one of these OSes where ::1 can be spoofed, ALL ::1 -based
   3282 	ACL restrictions on any application can be bypassed!
   3283     Mitigation:
   3284         Upgrade to 4.2.8p1, or later, from the NTP Project Download Page
   3285 	or the NTP Public Services Project Download Page
   3286         Install firewall rules to block packets claiming to come from
   3287 	::1 from inappropriate network interfaces. 
   3288     Credit: This vulnerability was discovered by Stephen Roettger of
   3289 	the Google Security Team. 
   3290 
   3291 Additionally, over 30 bugfixes and improvements were made to the codebase.
   3292 See the ChangeLog for more information.
   3293 
   3294 ---
   3295 NTP 4.2.8 (Harlan Stenn <stenn (a] ntp.org>, 2014/12/18) 
   3296  
   3297 Focus: Security and Bug fixes, enhancements.
   3298  
   3299 Severity: HIGH
   3300  
   3301 In addition to bug fixes and enhancements, this release fixes the
   3302 following high-severity vulnerabilities:
   3303 
   3304 ************************** vv NOTE WELL vv *****************************
   3305 
   3306 The vulnerabilities listed below can be significantly mitigated by
   3307 following the BCP of putting
   3308 
   3309  restrict default ... noquery
   3310 
   3311 in the ntp.conf file.  With the exception of:
   3312 
   3313    receive(): missing return on error
   3314    References: Sec 2670 / CVE-2014-9296 / VU#852879
   3315 
   3316 below (which is a limited-risk vulnerability), none of the recent
   3317 vulnerabilities listed below can be exploited if the source IP is
   3318 restricted from sending a 'query'-class packet by your ntp.conf file.
   3319 
   3320 ************************** ^^ NOTE WELL ^^ *****************************
   3321 
   3322 * Weak default key in config_auth().
   3323 
   3324   References: [Sec 2665] / CVE-2014-9293 / VU#852879
   3325   CVSS: (AV:N/AC:L/Au:M/C:P/I:P/A:C) Base Score: 7.3
   3326   Vulnerable Versions: all releases prior to 4.2.7p11
   3327   Date Resolved: 28 Jan 2010
   3328 
   3329   Summary: If no 'auth' key is set in the configuration file, ntpd
   3330 	would generate a random key on the fly.  There were two
   3331 	problems with this: 1) the generated key was 31 bits in size,
   3332 	and 2) it used the (now weak) ntp_random() function, which was
   3333 	seeded with a 32-bit value and could only provide 32 bits of
   3334 	entropy.  This was sufficient back in the late 1990s when the
   3335 	code was written.  Not today.
   3336 
   3337   Mitigation - any of:
   3338 	- Upgrade to 4.2.7p11 or later.
   3339 	- Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
   3340 
   3341   Credit: This vulnerability was noticed in ntp-4.2.6 by Neel Mehta
   3342   	of the Google Security Team.
   3343 
   3344 * Non-cryptographic random number generator with weak seed used by
   3345   ntp-keygen to generate symmetric keys.
   3346 
   3347   References: [Sec 2666] / CVE-2014-9294 / VU#852879
   3348   CVSS: (AV:N/AC:L/Au:M/C:P/I:P/A:C) Base Score: 7.3
   3349   Vulnerable Versions: All NTP4 releases before 4.2.7p230
   3350   Date Resolved: Dev (4.2.7p230) 01 Nov 2011
   3351 
   3352   Summary: Prior to ntp-4.2.7p230 ntp-keygen used a weak seed to
   3353   	prepare a random number generator that was of good quality back
   3354 	in the late 1990s. The random numbers produced was then used to
   3355 	generate symmetric keys. In ntp-4.2.8 we use a current-technology
   3356 	cryptographic random number generator, either RAND_bytes from
   3357 	OpenSSL, or arc4random(). 
   3358 
   3359   Mitigation - any of:
   3360   	- Upgrade to 4.2.7p230 or later.
   3361 	- Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
   3362 
   3363   Credit:  This vulnerability was discovered in ntp-4.2.6 by
   3364   	Stephen Roettger of the Google Security Team.
   3365 
   3366 * Buffer overflow in crypto_recv()
   3367 
   3368   References: Sec 2667 / CVE-2014-9295 / VU#852879
   3369   CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
   3370   Versions: All releases before 4.2.8
   3371   Date Resolved: Stable (4.2.8) 18 Dec 2014
   3372 
   3373   Summary: When Autokey Authentication is enabled (i.e. the ntp.conf
   3374   	file contains a 'crypto pw ...' directive) a remote attacker
   3375 	can send a carefully crafted packet that can overflow a stack
   3376 	buffer and potentially allow malicious code to be executed
   3377 	with the privilege level of the ntpd process.
   3378 
   3379   Mitigation - any of:
   3380   	- Upgrade to 4.2.8, or later, or
   3381 	- Disable Autokey Authentication by removing, or commenting out,
   3382 	  all configuration directives beginning with the crypto keyword
   3383 	  in your ntp.conf file. 
   3384 
   3385   Credit: This vulnerability was discovered by Stephen Roettger of the
   3386   	Google Security Team. 
   3387 
   3388 * Buffer overflow in ctl_putdata()
   3389 
   3390   References: Sec 2668 / CVE-2014-9295 / VU#852879
   3391   CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
   3392   Versions: All NTP4 releases before 4.2.8
   3393   Date Resolved: Stable (4.2.8) 18 Dec 2014
   3394 
   3395   Summary: A remote attacker can send a carefully crafted packet that
   3396   	can overflow a stack buffer and potentially allow malicious
   3397 	code to be executed with the privilege level of the ntpd process.
   3398 
   3399   Mitigation - any of:
   3400   	- Upgrade to 4.2.8, or later.
   3401 	- Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
   3402 
   3403   Credit: This vulnerability was discovered by Stephen Roettger of the
   3404   	Google Security Team. 
   3405 
   3406 * Buffer overflow in configure()
   3407 
   3408   References: Sec 2669 / CVE-2014-9295 / VU#852879
   3409   CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
   3410   Versions: All NTP4 releases before 4.2.8
   3411   Date Resolved: Stable (4.2.8) 18 Dec 2014
   3412 
   3413   Summary: A remote attacker can send a carefully crafted packet that
   3414 	can overflow a stack buffer and potentially allow malicious
   3415 	code to be executed with the privilege level of the ntpd process.
   3416 
   3417   Mitigation - any of:
   3418   	- Upgrade to 4.2.8, or later.
   3419 	- Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
   3420 
   3421   Credit: This vulnerability was discovered by Stephen Roettger of the
   3422 	Google Security Team. 
   3423 
   3424 * receive(): missing return on error
   3425 
   3426   References: Sec 2670 / CVE-2014-9296 / VU#852879
   3427   CVSS: (AV:N/AC:L/Au:N/C:N/I:N/A:P) Base Score: 5.0
   3428   Versions: All NTP4 releases before 4.2.8
   3429   Date Resolved: Stable (4.2.8) 18 Dec 2014
   3430 
   3431   Summary: Code in ntp_proto.c:receive() was missing a 'return;' in
   3432   	the code path where an error was detected, which meant
   3433 	processing did not stop when a specific rare error occurred.
   3434 	We haven't found a way for this bug to affect system integrity.
   3435 	If there is no way to affect system integrity the base CVSS
   3436 	score for this bug is 0. If there is one avenue through which
   3437 	system integrity can be partially affected, the base score
   3438 	becomes a 5. If system integrity can be partially affected
   3439 	via all three integrity metrics, the CVSS base score become 7.5.
   3440 
   3441   Mitigation - any of:
   3442         - Upgrade to 4.2.8, or later,
   3443         - Remove or comment out all configuration directives
   3444 	  beginning with the crypto keyword in your ntp.conf file. 
   3445 
   3446   Credit: This vulnerability was discovered by Stephen Roettger of the
   3447   	Google Security Team. 
   3448 
   3449 See http://support.ntp.org/security for more information.
   3450 
   3451 New features / changes in this release:
   3452 
   3453 Important Changes
   3454 
   3455 * Internal NTP Era counters
   3456 
   3457 The internal counters that track the "era" (range of years) we are in
   3458 rolls over every 136 years'.  The current "era" started at the stroke of
   3459 midnight on 1 Jan 1900, and ends just before the stroke of midnight on
   3460 1 Jan 2036.
   3461 In the past, we have used the "midpoint" of the  range to decide which
   3462 era we were in.  Given the longevity of some products, it became clear
   3463 that it would be more functional to "look back" less, and "look forward"
   3464 more.  We now compile a timestamp into the ntpd executable and when we
   3465 get a timestamp we us the "built-on" to tell us what era we are in.
   3466 This check "looks back" 10 years, and "looks forward" 126 years.
   3467 
   3468 * ntpdc responses disabled by default
   3469 
   3470 Dave Hart writes:
   3471 
   3472 For a long time, ntpq and its mostly text-based mode 6 (control) 
   3473 protocol have been preferred over ntpdc and its mode 7 (private 
   3474 request) protocol for runtime queries and configuration.  There has 
   3475 been a goal of deprecating ntpdc, previously held back by numerous 
   3476 capabilities exposed by ntpdc with no ntpq equivalent.  I have been 
   3477 adding commands to ntpq to cover these cases, and I believe I've 
   3478 covered them all, though I've not compared command-by-command 
   3479 recently. 
   3480 
   3481 As I've said previously, the binary mode 7 protocol involves a lot of 
   3482 hand-rolled structure layout and byte-swapping code in both ntpd and 
   3483 ntpdc which is hard to get right.  As ntpd grows and changes, the 
   3484 changes are difficult to expose via ntpdc while maintaining forward 
   3485 and backward compatibility between ntpdc and ntpd.  In contrast, 
   3486 ntpq's text-based, label=value approach involves more code reuse and 
   3487 allows compatible changes without extra work in most cases. 
   3488 
   3489 Mode 7 has always been defined as vendor/implementation-specific while 
   3490 mode 6 is described in RFC 1305 and intended to be open to interoperate 
   3491 with other implementations.  There is an early draft of an updated 
   3492 mode 6 description that likely will join the other NTPv4 RFCs 
   3493 eventually. (http://tools.ietf.org/html/draft-odonoghue-ntpv4-control-01)
   3494 
   3495 For these reasons, ntpd 4.2.7p230 by default disables processing of 
   3496 ntpdc queries, reducing ntpd's attack surface and functionally 
   3497 deprecating ntpdc.  If you are in the habit of using ntpdc for certain 
   3498 operations, please try the ntpq equivalent.  If there's no equivalent, 
   3499 please open a bug report at http://bugs.ntp.org./
   3500 
   3501 In addition to the above, over 1100 issues have been resolved between
   3502 the 4.2.6 branch and 4.2.8.  The ChangeLog file in the distribution
   3503 lists these.
   3504 
   3505 --- 
   3506 NTP 4.2.6p5 (Harlan Stenn <stenn (a] ntp.org>, 2011/12/24) 
   3507  
   3508 Focus: Bug fixes
   3509  
   3510 Severity: Medium 
   3511  
   3512 This is a recommended upgrade. 
   3513 
   3514 This release updates sys_rootdisp and sys_jitter calculations to match the
   3515 RFC specification, fixes a potential IPv6 address matching error for the
   3516 "nic" and "interface" configuration directives, suppresses the creation of
   3517 extraneous ephemeral associations for certain broadcastclient and
   3518 multicastclient configurations, cleans up some ntpq display issues, and
   3519 includes improvements to orphan mode, minor bugs fixes and code clean-ups.
   3520 
   3521 New features / changes in this release:
   3522 
   3523 ntpd
   3524 
   3525  * Updated "nic" and "interface" IPv6 address handling to prevent 
   3526    mismatches with localhost [::1] and wildcard [::] which resulted from
   3527    using the address/prefix format (e.g. fe80::/64)
   3528  * Fix orphan mode stratum incorrectly counting to infinity
   3529  * Orphan parent selection metric updated to includes missing ntohl()
   3530  * Non-printable stratum 16 refid no longer sent to ntp
   3531  * Duplicate ephemeral associations suppressed for broadcastclient and
   3532    multicastclient without broadcastdelay
   3533  * Exclude undetermined sys_refid from use in loopback TEST12
   3534  * Exclude MODE_SERVER responses from KoD rate limiting
   3535  * Include root delay in clock_update() sys_rootdisp calculations
   3536  * get_systime() updated to exclude sys_residual offset (which only
   3537    affected bits "below" sys_tick, the precision threshold)
   3538  * sys.peer jitter weighting corrected in sys_jitter calculation
   3539 
   3540 ntpq
   3541 
   3542  * -n option extended to include the billboard "server" column
   3543  * IPv6 addresses in the local column truncated to prevent overruns
   3544 
   3545 --- 
   3546 NTP 4.2.6p4 (Harlan Stenn <stenn (a] ntp.org>, 2011/09/22) 
   3547  
   3548 Focus: Bug fixes and portability improvements 
   3549  
   3550 Severity: Medium 
   3551  
   3552 This is a recommended upgrade. 
   3553  
   3554 This release includes build infrastructure updates, code 
   3555 clean-ups, minor bug fixes, fixes for a number of minor 
   3556 ref-clock issues, and documentation revisions. 
   3557  
   3558 Portability improvements affect AIX, HP-UX, Linux, OS X and 64-bit time_t. 
   3559  
   3560 New features / changes in this release: 
   3561  
   3562 Build system 
   3563  
   3564 * Fix checking for struct rtattr 
   3565 * Update config.guess and config.sub for AIX 
   3566 * Upgrade required version of autogen and libopts for building 
   3567   from our source code repository 
   3568  
   3569 ntpd 
   3570  
   3571 * Back-ported several fixes for Coverity warnings from ntp-dev 
   3572 * Fix a rare boundary condition in UNLINK_EXPR_SLIST() 
   3573 * Allow "logconfig =allall" configuration directive 
   3574 * Bind tentative IPv6 addresses on Linux 
   3575 * Correct WWVB/Spectracom driver to timestamp CR instead of LF 
   3576 * Improved tally bit handling to prevent incorrect ntpq peer status reports 
   3577 * Exclude the Undisciplined Local Clock and ACTS drivers from the initial 
   3578   candidate list unless they are designated a "prefer peer" 
   3579 * Prevent the consideration of Undisciplined Local Clock or ACTS drivers for 
   3580   selection during the 'tos orphanwait' period 
   3581 * Prefer an Orphan Mode Parent over the Undisciplined Local Clock or ACTS 
   3582   drivers 
   3583 * Improved support of the Parse Refclock trusttime flag in Meinberg mode 
   3584 * Back-port utility routines from ntp-dev: mprintf(), emalloc_zero() 
   3585 * Added the NTPD_TICKADJ_PPM environment variable for specifying baseline 
   3586   clock slew on Microsoft Windows 
   3587 * Code cleanup in libntpq 
   3588  
   3589 ntpdc 
   3590  
   3591 * Fix timerstats reporting 
   3592  
   3593 ntpdate 
   3594  
   3595 * Reduce time required to set clock 
   3596 * Allow a timeout greater than 2 seconds 
   3597  
   3598 sntp 
   3599  
   3600 * Backward incompatible command-line option change: 
   3601   -l/--filelog changed -l/--logfile (to be consistent with ntpd) 
   3602  
   3603 Documentation 
   3604  
   3605 * Update html2man. Fix some tags in the .html files 
   3606 * Distribute ntp-wait.html 
   3607 
   3608 ---
   3609 NTP 4.2.6p3 (Harlan Stenn <stenn (a] ntp.org>, 2011/01/03)
   3610 
   3611 Focus: Bug fixes and portability improvements
   3612 
   3613 Severity: Medium
   3614 
   3615 This is a recommended upgrade.
   3616 
   3617 This release includes build infrastructure updates, code
   3618 clean-ups, minor bug fixes, fixes for a number of minor
   3619 ref-clock issues, and documentation revisions.
   3620 
   3621 Portability improvements in this release affect AIX, Atari FreeMiNT,
   3622 FreeBSD4, Linux and Microsoft Windows.
   3623 
   3624 New features / changes in this release:
   3625 
   3626 Build system
   3627 * Use lsb_release to get information about Linux distributions.
   3628 * 'test' is in /usr/bin (instead of /bin) on some systems.
   3629 * Basic sanity checks for the ChangeLog file.
   3630 * Source certain build files with ./filename for systems without . in PATH.
   3631 * IRIX portability fix.
   3632 * Use a single copy of the "libopts" code.
   3633 * autogen/libopts upgrade.
   3634 * configure.ac m4 quoting cleanup.
   3635 
   3636 ntpd
   3637 * Do not bind to IN6_IFF_ANYCAST addresses.
   3638 * Log the reason for exiting under Windows.
   3639 * Multicast fixes for Windows.
   3640 * Interpolation fixes for Windows.
   3641 * IPv4 and IPv6 Multicast fixes.
   3642 * Manycast solicitation fixes and general repairs.
   3643 * JJY refclock cleanup.
   3644 * NMEA refclock improvements.
   3645 * Oncore debug message cleanup.
   3646 * Palisade refclock now builds under Linux.
   3647 * Give RAWDCF more baud rates.
   3648 * Support Truetime Satellite clocks under Windows.
   3649 * Support Arbiter 1093C Satellite clocks under Windows.
   3650 * Make sure that the "filegen" configuration command defaults to "enable".
   3651 * Range-check the status codes (plus other cleanup) in the RIPE-NCC driver.
   3652 * Prohibit 'includefile' directive in remote configuration command.
   3653 * Fix 'nic' interface bindings.
   3654 * Fix the way we link with openssl if openssl is installed in the base
   3655   system.
   3656 
   3657 ntp-keygen
   3658 * Fix -V coredump.
   3659 * OpenSSL version display cleanup.
   3660 
   3661 ntpdc
   3662 * Many counters should be treated as unsigned.
   3663 
   3664 ntpdate
   3665 * Do not ignore replies with equal receive and transmit timestamps.
   3666 
   3667 ntpq
   3668 * libntpq warning cleanup.
   3669 
   3670 ntpsnmpd
   3671 * Correct SNMP type for "precision" and "resolution".
   3672 * Update the MIB from the draft version to RFC-5907.
   3673 
   3674 sntp
   3675 * Display timezone offset when showing time for sntp in the local
   3676   timezone.
   3677 * Pay proper attention to RATE KoD packets.
   3678 * Fix a miscalculation of the offset.
   3679 * Properly parse empty lines in the key file.
   3680 * Logging cleanup.
   3681 * Use tv_usec correctly in set_time().
   3682 * Documentation cleanup.
   3683 
   3684 ---
   3685 NTP 4.2.6p2 (Harlan Stenn <stenn (a] ntp.org>, 2010/07/08)
   3686 
   3687 Focus: Bug fixes and portability improvements
   3688 
   3689 Severity: Medium
   3690 
   3691 This is a recommended upgrade.
   3692 
   3693 This release includes build infrastructure updates, code
   3694 clean-ups, minor bug fixes, fixes for a number of minor
   3695 ref-clock issues, improved KOD handling, OpenSSL related
   3696 updates and documentation revisions.
   3697 
   3698 Portability improvements in this release affect Irix, Linux,
   3699 Mac OS, Microsoft Windows, OpenBSD and QNX6
   3700 
   3701 New features / changes in this release:
   3702 
   3703 ntpd
   3704 * Range syntax for the trustedkey configuration directive
   3705 * Unified IPv4 and IPv6 restrict lists
   3706 
   3707 ntpdate
   3708 * Rate limiting and KOD handling
   3709 
   3710 ntpsnmpd
   3711 * default connection to net-snmpd via a unix-domain socket
   3712 * command-line 'socket name' option
   3713 
   3714 ntpq / ntpdc
   3715 * support for the "passwd ..." syntax
   3716 * key-type specific password prompts
   3717 
   3718 sntp
   3719 * MD5 authentication of an ntpd
   3720 * Broadcast and crypto
   3721 * OpenSSL support
   3722 
   3723 ---
   3724 NTP 4.2.6p1 (Harlan Stenn <stenn (a] ntp.org>, 2010/04/09)
   3725 
   3726 Focus: Bug fixes, portability fixes, and documentation improvements
   3727 
   3728 Severity: Medium
   3729 
   3730 This is a recommended upgrade.
   3731 
   3732 ---
   3733 NTP 4.2.6 (Harlan Stenn <stenn (a] ntp.org>, 2009/12/08)
   3734 
   3735 Focus: enhancements and bug fixes.
   3736 
   3737 ---
   3738 NTP 4.2.4p8 (Harlan Stenn <stenn (a] ntp.org>, 2009/12/08)
   3739 
   3740 Focus: Security Fixes
   3741 
   3742 Severity: HIGH
   3743 
   3744 This release fixes the following high-severity vulnerability:
   3745 
   3746 * [Sec 1331] DoS with mode 7 packets - CVE-2009-3563.
   3747 
   3748   See http://support.ntp.org/security for more information.
   3749 
   3750   NTP mode 7 (MODE_PRIVATE) is used by the ntpdc query and control utility.
   3751   In contrast, ntpq uses NTP mode 6 (MODE_CONTROL), while routine NTP time
   3752   transfers use modes 1 through 5.  Upon receipt of an incorrect mode 7
   3753   request or a mode 7 error response from an address which is not listed
   3754   in a "restrict ... noquery" or "restrict ... ignore" statement, ntpd will
   3755   reply with a mode 7 error response (and log a message).  In this case:
   3756 
   3757 	* If an attacker spoofs the source address of ntpd host A in a
   3758 	  mode 7 response packet sent to ntpd host B, both A and B will
   3759 	  continuously send each other error responses, for as long as
   3760 	  those packets get through.
   3761 
   3762 	* If an attacker spoofs an address of ntpd host A in a mode 7
   3763 	  response packet sent to ntpd host A, A will respond to itself
   3764 	  endlessly, consuming CPU and logging excessively.
   3765 
   3766   Credit for finding this vulnerability goes to Robin Park and Dmitri
   3767   Vinokurov of Alcatel-Lucent.
   3768 
   3769 THIS IS A STRONGLY RECOMMENDED UPGRADE.
   3770 
   3771 ---
   3772 ntpd now syncs to refclocks right away.
   3773 
   3774 Backward-Incompatible changes:
   3775 
   3776 ntpd no longer accepts '-v name' or '-V name' to define internal variables.
   3777 Use '--var name' or '--dvar name' instead. (Bug 817)
   3778 
   3779 ---
   3780 NTP 4.2.4p7 (Harlan Stenn <stenn (a] ntp.org>, 2009/05/04)
   3781 
   3782 Focus: Security and Bug Fixes
   3783 
   3784 Severity: HIGH
   3785 
   3786 This release fixes the following high-severity vulnerability:
   3787 
   3788 * [Sec 1151] Remote exploit if autokey is enabled.  CVE-2009-1252
   3789 
   3790   See http://support.ntp.org/security for more information.
   3791 
   3792   If autokey is enabled (if ntp.conf contains a "crypto pw whatever"
   3793   line) then a carefully crafted packet sent to the machine will cause
   3794   a buffer overflow and possible execution of injected code, running
   3795   with the privileges of the ntpd process (often root).
   3796 
   3797   Credit for finding this vulnerability goes to Chris Ries of CMU.
   3798 
   3799 This release fixes the following low-severity vulnerabilities:
   3800 
   3801 * [Sec 1144] limited (two byte) buffer overflow in ntpq.  CVE-2009-0159
   3802   Credit for finding this vulnerability goes to Geoff Keating of Apple.
   3803   
   3804 * [Sec 1149] use SO_EXCLUSIVEADDRUSE on Windows
   3805   Credit for finding this issue goes to Dave Hart.
   3806 
   3807 This release fixes a number of bugs and adds some improvements:
   3808 
   3809 * Improved logging
   3810 * Fix many compiler warnings
   3811 * Many fixes and improvements for Windows
   3812 * Adds support for AIX 6.1
   3813 * Resolves some issues under MacOS X and Solaris
   3814 
   3815 THIS IS A STRONGLY RECOMMENDED UPGRADE.
   3816 
   3817 ---
   3818 NTP 4.2.4p6 (Harlan Stenn <stenn (a] ntp.org>, 2009/01/07)
   3819 
   3820 Focus: Security Fix
   3821 
   3822 Severity: Low
   3823 
   3824 This release fixes oCERT.org's CVE-2009-0021, a vulnerability affecting
   3825 the OpenSSL library relating to the incorrect checking of the return
   3826 value of EVP_VerifyFinal function.
   3827 
   3828 Credit for finding this issue goes to the Google Security Team for
   3829 finding the original issue with OpenSSL, and to ocert.org for finding
   3830 the problem in NTP and telling us about it.
   3831 
   3832 This is a recommended upgrade.
   3833 ---
   3834 NTP 4.2.4p5 (Harlan Stenn <stenn (a] ntp.org>, 2008/08/17)
   3835 
   3836 Focus: Minor Bugfixes 
   3837 
   3838 This release fixes a number of Windows-specific ntpd bugs and 
   3839 platform-independent ntpdate bugs. A logging bugfix has been applied
   3840 to the ONCORE driver.
   3841 
   3842 The "dynamic" keyword and is now obsolete and deferred binding to local 
   3843 interfaces is the new default. The minimum time restriction for the 
   3844 interface update interval has been dropped. 
   3845 
   3846 A number of minor build system and documentation fixes are included. 
   3847 
   3848 This is a recommended upgrade for Windows. 
   3849 
   3850 ---
   3851 NTP 4.2.4p4 (Harlan Stenn <stenn (a] ntp.org>, 2007/09/10)
   3852 
   3853 Focus: Minor Bugfixes
   3854 
   3855 This release updates certain copyright information, fixes several display
   3856 bugs in ntpdc, avoids SIGIO interrupting malloc(), cleans up file descriptor
   3857 shutdown in the parse refclock driver, removes some lint from the code,
   3858 stops accessing certain buffers immediately after they were freed, fixes
   3859 a problem with non-command-line specification of -6, and allows the loopback
   3860 interface to share addresses with other interfaces.
   3861 
   3862 ---
   3863 NTP 4.2.4p3 (Harlan Stenn <stenn (a] ntp.org>, 2007/06/29)
   3864 
   3865 Focus: Minor Bugfixes
   3866 
   3867 This release fixes a bug in Windows that made it difficult to
   3868 terminate ntpd under windows.
   3869 This is a recommended upgrade for Windows.
   3870 
   3871 ---
   3872 NTP 4.2.4p2 (Harlan Stenn <stenn (a] ntp.org>, 2007/06/19)
   3873 
   3874 Focus: Minor Bugfixes
   3875 
   3876 This release fixes a multicast mode authentication problem, 
   3877 an error in NTP packet handling on Windows that could lead to 
   3878 ntpd crashing, and several other minor bugs. Handling of 
   3879 multicast interfaces and logging configuration were improved. 
   3880 The required versions of autogen and libopts were incremented.
   3881 This is a recommended upgrade for Windows and multicast users.
   3882 
   3883 ---
   3884 NTP 4.2.4 (Harlan Stenn <stenn (a] ntp.org>, 2006/12/31)
   3885 
   3886 Focus: enhancements and bug fixes.
   3887 
   3888 Dynamic interface rescanning was added to simplify the use of ntpd in 
   3889 conjunction with DHCP. GNU AutoGen is used for its command-line options 
   3890 processing. Separate PPS devices are supported for PARSE refclocks, MD5 
   3891 signatures are now provided for the release files. Drivers have been 
   3892 added for some new ref-clocks and have been removed for some older 
   3893 ref-clocks. This release also includes other improvements, documentation 
   3894 and bug fixes. 
   3895 
   3896 K&R C is no longer supported as of NTP-4.2.4. We are now aiming for ANSI 
   3897 C support.
   3898 
   3899 ---
   3900 NTP 4.2.0 (Harlan Stenn <stenn (a] ntp.org>, 2003/10/15)
   3901 
   3902 Focus: enhancements and bug fixes.
   3903 ---
   3904 NTP 4.2.8p17 (Harlan Stenn <stenn (a] ntp.org>, 2023 Jun 06)
   3905 
   3906 Focus: Bug fixes
   3907 
   3908 Severity: HIGH (for people running 4.2.8p16)
   3909 
   3910 This release:
   3911 
   3912 - fixes 3 bugs, including a regression
   3913 - adds new unit tests
   3914 
   3915 Details below:
   3916 
   3917 * [Bug 3824] Spurious "ntpd: daemon failed to notify parent!" logged at
   3918              event_sync.  Reported by Edward McGuire.  <hart (a] ntp.org>
   3919 * [Bug 3822] ntpd significantly delays first poll of servers specified by name.
   3920              <hart (a] ntp.org>  Miroslav Lichvar identified regression in 4.2.8p16.
   3921 * [Bug 3821] 4.2.8p16 misreads hex authentication keys, won't interop with
   3922              4.2.8p15 or earlier.  Reported by Matt Nordhoff, thanks to
   3923 	     Miroslav Lichvar and Matt for rapid testing and identifying the
   3924 	     problem. <hart (a] ntp.org>
   3925 * Add tests/libntp/digests.c to catch regressions reading keys file or with
   3926   symmetric authentication digest output.
   3927 
   3928 ---
   3929 NTP 4.2.8p16 (Harlan Stenn <stenn (a] ntp.org>, 2023 May 30)
   3930 
   3931 Focus: Security, Bug fixes
   3932 
   3933 Severity: LOW
   3934 
   3935 This release:
   3936 
   3937 - fixes 4 vulnerabilities (3 LOW and 1 None severity), 
   3938 - fixes 46 bugs
   3939 - includes 15 general improvements
   3940 - adds support for OpenSSL-3.0
   3941 
   3942 Details below:
   3943 
   3944 * [Sec 3808] Assertion failure in ntpq on malformed RT-11 date <perlinger (a] ntp.org>
   3945 * [Sec 3807] praecis_parse() in the Palisade refclock driver has a
   3946              hypothetical input buffer overflow. Reported by ... stenn@
   3947 * [Sec 3806] libntp/mstolfp.c needs bounds checking <perlinger (a] ntp.org>
   3948   - solved numerically instead of using string manipulation
   3949 * [Sec 3767] An OOB KoD RATE value triggers an assertion when debug is enabled.
   3950              <stenn (a] ntp.org>
   3951 * [Bug 3819] Updated libopts/Makefile.am was missing NTP_HARD_* values. <stenn@>
   3952 * [Bug 3817] Bounds-check "tos floor" configuration. <hart (a] ntp.org>
   3953 * [Bug 3814] First poll delay of new or cleared associations miscalculated.
   3954              <hart (a] ntp.org>
   3955 * [Bug 3802] ntp-keygen -I default identity modulus bits too small for
   3956              OpenSSL 3.  Reported by rmsh1216 (a] 163.com <hart (a] ntp.org>
   3957 * [Bug 3801] gpsdjson refclock gps_open() device name mishandled. <hart (a] ntp.org>
   3958 * [Bug 3800] libopts-42.1.17 does not compile with Microsoft C. <hart (a] ntp.org>
   3959 * [Bug 3799] Enable libopts noreturn compiler advice for MSC. <hart (a] ntp.org>
   3960 * [Bug 3797] Windows getaddrinfo w/AI_ADDRCONFIG fails for localhost when 
   3961              disconnected, breaking ntpq and ntpdc. <hart (a] ntp.org>
   3962 * [Bug 3795] pollskewlist documentation uses | when it shouldn't.
   3963   - ntp.conf manual page and miscopt.html corrections. <hart (a] ntp.org>
   3964 * [Bug 3793] Wrong variable type passed to record_raw_stats(). <hart (a] ntp.org>
   3965   - Report and patch by Yuezhen LUAN <wei6410 (a] sina.com>.
   3966 * [Bug 3786] Timer starvation on high-load Windows ntpd. <hart (a] ntp.org>
   3967 * [Bug 3784] high-load ntpd on Windows deaf after enough ICMP TTL exceeded.
   3968              <hart (a] ntp.org>
   3969 * [Bug 3781] log "Unable to listen for broadcasts" for IPv4 <hart (a] ntp.org>
   3970 * [Bug 3774] mode 6 packets corrupted in rawstats file <hart (a] ntp.org>
   3971   - Reported by Edward McGuire, fix identified by <wei6410 (a] sina.com>.
   3972 * [Bug 3758] Provide a 'device' config statement for refclocks <perlinger (a] ntp.org> 
   3973 * [Bug 3757] Improve handling of Linux-PPS in NTPD <perlinger (a] ntp.org>
   3974 * [Bug 3741] 4.2.8p15 can't build with glibc 2.34 <perlinger (a] ntp.org>
   3975 * [Bug 3725] Make copyright of clk_wharton.c compatible with Debian.
   3976              Philippe De Muyter <phdm (a] macqel.be>
   3977 * [Bug 3724] ntp-keygen with openSSL 1.1.1 fails on Windows <perlinger (a] ntp.org>
   3978   - openssl applink needed again for openSSL-1.1.1
   3979 * [Bug 3719] configure.ac checks for closefrom() and getdtablesize() missing.
   3980              Reported by Brian Utterback, broken in 2010 by <hart (a] ntp.org>
   3981 * [Bug 3699] Problems handling drift file and restoring previous drifts <perlinger (a] ntp.org>
   3982   - command line options override config statements where applicable
   3983   - make initial frequency settings idempotent and reversible
   3984   - make sure kernel PLL gets a recovered drift componsation
   3985 * [Bug 3695] Fix memory leak with ntpq on Windows Server 2019 <perlinger (a] ntp.org>
   3986 * [Bug 3694] NMEA refclock seems to unnecessarily require location in messages
   3987   - misleading title; essentially a request to ignore the receiver status.
   3988     Added a mode bit for this. <perlinger (a] ntp.org>
   3989 * [Bug 3693] Improvement of error handling key lengths <perlinger (a] ntp.org>
   3990   - original patch by Richard Schmidt, with mods & unit test fixes
   3991 * [Bug 3692] /dev/gpsN requirement prevents KPPS <perlinger (a] ntp.org>
   3992   - implement/wrap 'realpath()' to resolve symlinks in device names
   3993 * [Bug 3691] Buffer Overflow reading GPSD output
   3994   - original patch by matt<ntpbr (a] mattcorallo.com>
   3995   - increased max PDU size to 4k to avoid truncation
   3996 * [Bug 3690] newline in ntp clock variable (parse) <perlinger (a] ntp.org>
   3997   - patch by Frank Kardel
   3998 * [Bug 3689] Extension for MD5, SHA-1 and other keys <perlinger (a] ntp.org>
   3999   - ntp{q,dc} now use the same password processing as ntpd does in the key
   4000     file, so having a binary secret >= 11 bytes is possible for all keys.
   4001     (This is a different approach to the problem than suggested)
   4002 * [Bug 3688] GCC 10 build errors in testsuite <perlinger (a] ntp.org>
   4003 * [Bug 3687] ntp_crypto_rand RNG status not known <perlinger (a] ntp.org>
   4004   - patch by Gerry Garvey
   4005 * [Bug 3682] Fixes for warnings when compiled without OpenSSL <perlinger (a] ntp.org>
   4006   - original patch by Gerry Garvey
   4007 * [Bug 3677] additional peer events not decoded in associations listing <perlinger (a] ntp.org>
   4008   - original patch by Gerry Garvey
   4009 * [Bug 3676] compiler warnings (CMAC, interrupt_buf, typo, fallthrough)
   4010   - applied patches by Gerry Garvey
   4011 * [Bug 3675] ntpq ccmds[] stores pointer to non-persistent storage
   4012 * [Bug 3674] ntpq command 'execute only' using '~' prefix <perlinger (a] ntp.org>
   4013   - idea+patch by Gerry Garvey
   4014 * [Bug 3672] fix biased selection in median cut <perlinger (a] ntp.org>
   4015 * [Bug 3666] avoid unlimited receive buffer allocation <perlinger (a] ntp.org>
   4016   - follow-up: fix inverted sense in check, reset shortfall counter
   4017 * [Bug 3660] Revert 4.2.8p15 change to manycast. <hart (a] ntp.org>
   4018 * [Bug 3640] document "discard monitor" and fix the code. <hart (a] ntp.org>
   4019   - fixed bug identified by Edward McGuire <perlinger (a] ntp.org>
   4020 * [Bug 3626] (SNTP) UTC offset calculation needs dst flag <perlinger (a] ntp.org>
   4021   - applied patch by Gerry Garvey
   4022 * [Bug 3432] refclocks that 'write()' should check the result <perlinger (a] ntp.org>
   4023   - backport from -dev, plus some more work on warnings for unchecked results
   4024 * [Bug 3428] ntpd spinning consuming CPU on Linux router with full table.
   4025              Reported by Israel G. Lugo. <hart (a] ntp.org>
   4026 * [Bug 3103] libopts zsave_warn format string too few arguments <bkorb (a] gnu.org>
   4027 * [Bug 2990] multicastclient incorrectly causes bind to broadcast address.
   4028              Integrated patch from Brian Utterback. <hart (a] ntp.org>
   4029 * [Bug 2525] Turn on automake subdir-objects across the project. <hart (a] ntp.org>
   4030 * [Bug 2410] syslog an error message on panic exceeded. <brian.utterback (a] oracle.com>
   4031 * Use correct rounding in mstolfp(). perlinger/hart
   4032 * M_ADDF should use u_int32.  <hart (a] ntp.org>
   4033 * Only define tv_fmt_libbuf() if we will use it. <stenn (a] ntp.org>
   4034 * Use recv_buffer instead of the longer recv_space.X_recv_buffer. hart/stenn
   4035 * Make sure the value returned by refid_str() prints cleanly. <stenn (a] ntp.org>
   4036 * If DEBUG is enabled, the startup banner now says that debug assertions
   4037   are in force and that ntpd will abort if any are violated. <stenn (a] ntp.org>
   4038 * syslog valid incoming KoDs.  <stenn (a] ntp.org>
   4039 * Rename a poorly-named variable.  <stenn (a] ntp.org>
   4040 * Disable "embedded NUL in string" messages in libopts, when we can. <stenn@>
   4041 * Use https in the AC_INIT URLs in configure.ac.  <stenn (a] ntp.org>
   4042 * Implement NTP_FUNC_REALPATH.  <stenn (a] ntp.org>
   4043 * Lose a gmake construct in ntpd/Makefile.am.  <stenn (a] ntp.org>
   4044 * upgrade to: autogen-5.18.16
   4045 * upgrade to: libopts-42.1.17
   4046 * upgrade to: autoconf-2.71
   4047 * upgrade to: automake-1.16.15
   4048 * Upgrade to libevent-2.1.12-stable <stenn (a] ntp.org>
   4049 * Support OpenSSL-3.0
   4050 
   4051 ---
   4052 NTP 4.2.8p15 (Harlan Stenn <stenn (a] ntp.org>, 2020 Jun 23)
   4053 
   4054 Focus: Security, Bug fixes
   4055 
   4056 Severity: MEDIUM
   4057 
   4058 This release fixes one vulnerability: Associations that use CMAC
   4059 authentication between ntpd from versions 4.2.8p11/4.3.97 and
   4060 4.2.8p14/4.3.100 will leak a small amount of memory for each packet.
   4061 Eventually, ntpd will run out of memory and abort.
   4062 
   4063 It also fixes 13 other bugs.
   4064 
   4065 * [Sec 3661] memory leak with AES128CMAC keys <perlinger (a] ntp.org>
   4066 * [Bug 3670] Regression from bad merger between 3592 and 3596 <perlinger@>
   4067   - Thanks to Sylar Tao
   4068 * [Bug 3667] decodenetnum fails with numeric port <perlinger (a] ntp.org>
   4069   - rewrite 'decodenetnum()' in terms of inet_pton
   4070 * [Bug 3666] avoid unlimited receive buffer allocation <perlinger (a] ntp.org>
   4071   - limit number of receive buffers, with an iron reserve for refclocks
   4072 * [Bug 3664] Enable openSSL CMAC support on Windows <burnicki (a] ntp.org>
   4073 * [Bug 3662] Fix build errors on Windows with VS2008 <burnicki (a] ntp.org>
   4074 * [Bug 3660] Manycast orphan mode startup discovery problem. <stenn (a] ntp.org>
   4075   - integrated patch from Charles Claggett
   4076 * [Bug 3659] Move definition of psl[] from ntp_config.h to
   4077   ntp_config.h <perlinger (a] ntp.org>
   4078 * [Bug 3657] Wrong "Autokey group mismatch" debug message <perlinger (a] ntp.org>
   4079 * [Bug 3655] ntpdc memstats hash counts <perlinger (a] ntp.org>
   4080   - fix by Gerry garvey
   4081 * [Bug 3653] Refclock jitter RMS calculation <perlinger (a] ntp.org>
   4082   - thanks to Gerry Garvey
   4083 * [Bug 3646] Avoid sync with unsync orphan <perlinger (a] ntp.org>
   4084   - patch by Gerry Garvey
   4085 * [Bug 3644] Unsynchronized server [...] selected as candidate <perlinger (a] ntp.org>
   4086 * [Bug 3639] refclock_jjy: TS-JJY0x can skip time sync depending on the STUS reply. <abe (a] ntp.org>
   4087   - applied patch by Takao Abe
   4088 
   4089 ---
   4090 NTP 4.2.8p14 (Harlan Stenn <stenn (a] ntp.org>, 2020 Mar 03)
   4091 
   4092 Focus: Security, Bug fixes, enhancements.
   4093 
   4094 Severity: MEDIUM
   4095 
   4096 This release fixes three vulnerabilities: a bug that causes causes an ntpd
   4097 instance that is explicitly configured to override the default and allow
   4098 ntpdc (mode 7) connections to be made to a server to read some uninitialized
   4099 memory; fixes the case where an unmonitored ntpd using an unauthenticated
   4100 association to its servers may be susceptible to a forged packet DoS attack;
   4101 and fixes an attack against a client instance that uses a single
   4102 unauthenticated time source.  It also fixes 46 other bugs and addresses
   4103 4 other issues.
   4104 
   4105 * [Sec 3610] process_control() should bail earlier on short packets. stenn@
   4106   - Reported by Philippe Antoine
   4107 * [Sec 3596] Highly predictable timestamp attack. <stenn (a] ntp.org>
   4108   - Reported by Miroslav Lichvar
   4109 * [Sec 3592] DoS attack on client ntpd <perlinger (a] ntp.org>
   4110   - Reported by Miroslav Lichvar
   4111 * [Bug 3637] Emit the version of ntpd in saveconfig.  stenn@
   4112 * [Bug 3636] NMEA: combine time/date from multiple sentences <perlinger (a] ntp.org>
   4113 * [Bug 3635] Make leapsecond file hash check optional <perlinger (a] ntp.org>
   4114 * [Bug 3634] Typo in discipline.html, reported by Jason Harrison.  stenn@
   4115 * [Bug 3628] raw DCF decoding - improve robustness with Zeller's congruence
   4116   - implement Zeller's congruence in libparse and libntp <perlinger (a] ntp.org>
   4117 * [Bug 3627] SIGSEGV on FreeBSD-12 with stack limit and stack gap <perlinger (a] ntp.org>
   4118   - integrated patch by Cy Schubert
   4119 * [Bug 3620] memory leak in ntpq sysinfo <perlinger (a] ntp.org>
   4120   - applied patch by Gerry Garvey
   4121 * [Bug 3619] Honour drefid setting in cooked mode and sysinfo <perlinger (a] ntp.org>
   4122   - applied patch by Gerry Garvey
   4123 * [Bug 3617] Add support for ACE III and Copernicus II receivers <perlinger (a] ntp.org>
   4124   - integrated patch by Richard Steedman
   4125 * [Bug 3615] accelerate refclock startup <perlinger (a] ntp.org>
   4126 * [Bug 3613] Propagate noselect to mobilized pool servers <stenn (a] ntp.org>
   4127   - Reported by Martin Burnicki
   4128 * [Bug 3612] Use-of-uninitialized-value in receive function <perlinger (a] ntp.org>
   4129   - Reported by Philippe Antoine
   4130 * [Bug 3611] NMEA time interpreted incorrectly <perlinger (a] ntp.org>
   4131   - officially document new "trust date" mode bit for NMEA driver
   4132   - restore the (previously undocumented) "trust date" feature lost with [bug 3577] 
   4133 * [Bug 3609] Fixing wrong falseticker in case of non-statistic jitter <perlinger (a] ntp.org>
   4134   - mostly based on a patch by Michael Haardt, implementing 'fudge minjitter'
   4135 * [Bug 3608] libparse fails to compile on S11.4SRU13 and later <perlinger (a] ntp.org>
   4136   - removed ffs() and fls() prototypes as per Brian Utterback
   4137 * [Bug 3604] Wrong param byte order passing into record_raw_stats() in
   4138 	ntp_io.c <perlinger (a] ntp.org>
   4139   - fixed byte and paramter order as suggested by wei6410 (a] sina.com 
   4140 * [Bug 3601] Tests fail to link on platforms with ntp_cv_gc_sections_runs=no <perlinger (a] ntp.org>
   4141 * [Bug 3599] Build fails on linux-m68k due to alignment issues <perlinger (a] ntp.org>
   4142   - added padding as suggested by John Paul Adrian Glaubitz 
   4143 * [Bug 3594] ntpd discards messages coming through nmead <perlinger (a] ntp.org>
   4144 * [Bug 3593] ntpd discards silently nmea messages after the 5th string <perlinger (a] ntp.org>
   4145 * [Bug 3590] Update refclock_oncore.c to the new GPS date API <perlinger (a] ntp.org>
   4146 * [Bug 3585] Unity tests mix buffered and unbuffered output <perlinger (a] ntp.org>
   4147   - stdout+stderr are set to line buffered during test setup now
   4148 * [Bug 3583] synchronization error <perlinger (a] ntp.org>
   4149   - set clock to base date if system time is before that limit
   4150 * [Bug 3582] gpsdjson refclock fudgetime1 adjustment is doubled <perlinger (a] ntp.org>
   4151 * [Bug 3580] Possible bug ntpq-subs (NULL dereference in dogetassoc) <perlinger (a] ntp.org>
   4152   - Reported by Paulo Neves
   4153 * [Bug 3577] Update refclock_zyfer.c to the new GPS date API <perlinger (a] ntp.org>
   4154   - also updates for refclock_nmea.c and refclock_jupiter.c
   4155 * [Bug 3576] New GPS date function API <perlinger (a] ntp.org>
   4156 * [Bug 3573] nptdate: missleading error message <perlinger (a] ntp.org>
   4157 * [Bug 3570] NMEA driver docs: talker ID not mentioned, typo <perlinger (a] ntp.org>
   4158 * [Bug 3569] cleanup MOD_NANO/STA_NANO handling for 'ntpadjtimex()' <perlinger (a] ntp.org>
   4159   - sidekick: service port resolution in 'ntpdate'
   4160 * [Bug 3550] Reproducible build: Respect SOURCE_DATE_EPOCH <perlinger (a] ntp.org>
   4161   - applied patch by Douglas Royds
   4162 * [Bug 3542] ntpdc monlist parameters cannot be set <perlinger (a] ntp.org>
   4163 * [Bug 3533] ntpdc peer_info ipv6 issues <perlinger (a] ntp.org>
   4164   - applied patch by Gerry Garvey
   4165 * [Bug 3531] make check: test-decodenetnum fails <perlinger (a] ntp.org>
   4166   - try to harden 'decodenetnum()' against 'getaddrinfo()' errors
   4167   - fix wrong cond-compile tests in unit tests
   4168 * [Bug 3517] Reducing build noise <perlinger (a] ntp.org>
   4169 * [Bug 3516] Require tooling from this decade <perlinger (a] ntp.org>
   4170   - patch by Philipp Prindeville
   4171 * [Bug 3515] Refactor ntpdmain() dispatcher loop and group common code <perlinger (a] ntp.org>
   4172   - patch by Philipp Prindeville
   4173 * [Bug 3511] Get rid of AC_LANG_SOURCE() warnings <perlinger (a] ntp.org>
   4174   - patch by Philipp Prindeville
   4175 * [Bug 3510] Flatten out the #ifdef nesting in ntpdmain() <perlinger (a] ntp.org>
   4176   - partial application of patch by Philipp Prindeville
   4177 * [Bug 3491] Signed values of LFP datatypes should always display a sign
   4178   - applied patch by Gerry Garvey & fixed unit tests <perlinger (a] ntp.org>
   4179 * [Bug 3490] Patch to support Trimble Resolution Receivers <perlinger (a] ntp.org>
   4180   - applied (modified) patch by Richard Steedman
   4181 * [Bug 3473] RefID of refclocks should always be text format <perlinger (a] ntp.org>
   4182   - applied patch by Gerry Garvey (with minor formatting changes)
   4183 * [Bug 3132] Building 4.2.8p8 with disabled local libopts fails <perlinger (a] ntp.org>
   4184   - applied patch by Miroslav Lichvar
   4185 * [Bug 3094] ntpd trying to listen for broadcasts on a completely ipv6 network
   4186   <perlinger (a] ntp.org>
   4187 * [Bug 2420] ntpd doesn't run and exits with retval 0 when invalid user
   4188              is specified with -u <perlinger (a] ntp.org>
   4189   - monitor daemon child startup & propagate exit codes
   4190 * [Bug 1433] runtime check whether the kernel really supports capabilities
   4191   - (modified) patch by Kurt Roeckx <perlinger (a] ntp.org>
   4192 * Clean up sntp/networking.c:sendpkt() error message.  <stenn (a] ntp.org>
   4193 * Provide more detail on unrecognized config file parser tokens. <stenn (a] ntp.org>
   4194 * Startup log improvements. <stenn (a] ntp.org>
   4195 * Update the copyright year.
   4196 
   4197 ---
   4198 NTP 4.2.8p13 (Harlan Stenn <stenn (a] ntp.org>, 2019 Mar 07)
   4199 
   4200 Focus: Security, Bug fixes, enhancements.
   4201 
   4202 Severity: MEDIUM
   4203 
   4204 This release fixes a bug that allows an attacker with access to an
   4205 explicitly trusted source to send a crafted malicious mode 6 (ntpq)
   4206 packet that can trigger a NULL pointer dereference, crashing ntpd.
   4207 It also provides 17 other bugfixes and 1 other improvement:
   4208 
   4209 * [Sec 3565] Crafted null dereference attack in authenticated
   4210 	     mode 6 packet <perlinger (a] ntp.org>
   4211   - reported by Magnus Stubman
   4212 * [Bug 3560] Fix build when HAVE_DROPROOT is not defined <perlinger (a] ntp.org>
   4213   - applied patch by Ian Lepore
   4214 * [Bug 3558] Crash and integer size bug <perlinger (a] ntp.org>
   4215   - isolate and fix linux/windows specific code issue
   4216 * [Bug 3556] ntp_loopfilter.c snprintf compilation warnings <perlinger (a] ntp.org>
   4217   - provide better function for incremental string formatting
   4218 * [Bug 3555] Tidy up print alignment of debug output from ntpdate <perlinger (a] ntp.org>
   4219   - applied patch by Gerry Garvey
   4220 * [Bug 3554] config revoke stores incorrect value <perlinger (a] ntp.org>
   4221   - original finding by Gerry Garvey, additional cleanup needed
   4222 * [Bug 3549] Spurious initgroups() error message <perlinger (a] ntp.org>
   4223   - patch by Christous Zoulas
   4224 * [Bug 3548] Signature not verified on windows system <perlinger (a] ntp.org>
   4225   - finding by Chen Jiabin, plus another one by me
   4226 * [Bug 3541] patch to fix STA_NANO struct timex units <perlinger (a] ntp.org>
   4227   - applied patch by Maciej Szmigiero
   4228 * [Bug 3540] Cannot set minsane to 0 anymore <perlinger (a] ntp.org>
   4229   - applied patch by Andre Charbonneau
   4230 * [Bug 3539] work_fork build fails when droproot is not supported <perlinger (a] ntp.org>
   4231   - applied patch by Baruch Siach
   4232 * [Bug 3538] Build fails for no-MMU targets <perlinger (a] ntp.org>
   4233   - applied patch by Baruch Siach
   4234 * [Bug 3535] libparse won't handle GPS week rollover <perlinger (a] ntp.org>
   4235   - refactored handling of GPS era based on 'tos basedate' for
   4236     parse (TSIP) and JUPITER clocks
   4237 * [Bug 3529] Build failures on Mac OS X 10.13 (High Sierra) <perlinger (a] ntp.org>
   4238   - patch by Daniel J. Luke; this does not fix a potential linker
   4239     regression issue on MacOS.
   4240 * [Bug 3527 - Backward Incompatible] mode7 clockinfo fudgeval2 packet
   4241   anomaly <perlinger (a] ntp.org>, reported by GGarvey.
   4242   - --enable-bug3527-fix support by HStenn
   4243 * [Bug 3526] Incorrect poll interval in packet <perlinger (a] ntp.org>
   4244   - applied patch by Gerry Garvey
   4245 * [Bug 3471] Check for openssl/[ch]mac.h.  <perlinger (a] ntp.org>
   4246   - added missing check, reported by Reinhard Max <perlinger (a] ntp.org>
   4247 * [Bug 1674] runtime crashes and sync problems affecting both x86 and x86_64
   4248   - this is a variant of [bug 3558] and should be fixed with it
   4249 * Implement 'configure --disable-signalled-io'
   4250 
   4251 --
   4252 NTP 4.2.8p12 (Harlan Stenn <stenn (a] ntp.org>, 2018/14/09)
   4253 
   4254 Focus: Security, Bug fixes, enhancements.
   4255 
   4256 Severity: MEDIUM
   4257 
   4258 This release fixes a "hole" in the noepeer capability introduced to ntpd
   4259 in ntp-4.2.8p11, and a buffer overflow in the openhost() function used by
   4260 ntpq and ntpdc.  It also provides 26 other bugfixes, and 4 other improvements:
   4261 
   4262 * [Sec 3505] Buffer overflow in the openhost() call of ntpq and ntpdc.
   4263 
   4264 * [Sec 3012] Fix a hole in the new "noepeer" processing.
   4265 
   4266 * Bug Fixes:
   4267  [Bug 3521] Fix a logic bug in the INVALIDNAK checks.  <stenn (a] ntp.org>
   4268  [Bug 3509] Add support for running as non-root on FreeBSD, Darwin,
   4269             other TrustedBSD platforms
   4270  - applied patch by Ian Lepore <perlinger (a] ntp.org>
   4271  [Bug 3506] Service Control Manager interacts poorly with NTPD <perlinger (a] ntp.org>
   4272  - changed interaction with SCM to signal pending startup
   4273  [Bug 3486] Buffer overflow in ntpq/ntpq.c:tstflags() <perlinger (a] ntp.org>
   4274  - applied patch by Gerry Garvey
   4275  [Bug 3485] Undefined sockaddr used in error messages in ntp_config.c <perlinger (a] ntp.org>
   4276  - applied patch by Gerry Garvey
   4277  [Bug 3484] ntpq response from ntpd is incorrect when REFID is null <perlinger (a] ntp.org>
   4278  - rework of ntpq 'nextvar()' key/value parsing
   4279  [Bug 3482] Fixes for compilation warnings (ntp_io.c & ntpq-subs.c) <perlinger (a] ntp.org>
   4280  - applied patch by Gerry Garvey (with mods)
   4281  [Bug 3480] Refclock sample filter not cleared on clock STEP <perlinger (a] ntp.org>
   4282  - applied patch by Gerry Garvey
   4283  [Bug 3479] ctl_putrefid() allows unsafe characters through to ntpq <perlinger (a] ntp.org>
   4284  - applied patch by Gerry Garvey (with mods)
   4285  [Bug 3476]ctl_putstr() sends empty unquoted string [...] <perlinger (a] ntp.org>
   4286  - applied patch by Gerry Garvey (with mods); not sure if that's bug or feature, though
   4287  [Bug 3475] modify prettydate() to suppress output of zero time <perlinger (a] ntp.org>
   4288  - applied patch by Gerry Garvey
   4289  [Bug 3474] Missing pmode in mode7 peer info response <perlinger (a] ntp.org>
   4290  - applied patch by Gerry Garvey
   4291  [Bug 3471] Check for openssl/[ch]mac.h.  HStenn.
   4292  - add #define ENABLE_CMAC support in configure.  HStenn.
   4293  [Bug 3470] ntpd4.2.8p11 fails to compile without OpenSSL <perlinger (a] ntp.org>
   4294  [Bug 3469] Incomplete string compare [...] in is_refclk_addr <perlinger (a] ntp.org>
   4295  - patch by Stephen Friedl
   4296  [Bug 3467] Potential memory fault in ntpq [...] <perlinger (a] ntp.org>
   4297  - fixed IO redirection and CTRL-C handling in ntq and ntpdc
   4298  [Bug 3465] Default TTL values cannot be used <perlinger (a] ntp.org>
   4299  [Bug 3461] refclock_shm.c: clear error status on clock recovery <perlinger (a] ntp.org>
   4300  - initial patch by Hal Murray; also fixed refclock_report() trouble
   4301  [Bug 3460] Fix typo in ntpq.texi, reported by Kenyon Ralph.  <stenn (a] ntp.org>
   4302  [Bug 3456] Use uintptr_t rather than size_t to store an integer in a pointer
   4303  - According to Brooks Davis, there was only one location <perlinger (a] ntp.org>
   4304  [Bug 3449] ntpq - display "loop" instead of refid [...] <perlinger (a] ntp.org>
   4305  - applied patch by Gerry Garvey
   4306  [Bug 3445] Symmetric peer won't sync on startup <perlinger (a] ntp.org>
   4307  - applied patch by Gerry Garvey
   4308  [Bug 3442] Fixes for ntpdate as suggested by Gerry Garvey,
   4309  with modifications
   4310  New macro REFID_ISTEXT() which is also used in ntpd/ntp_control.c.
   4311  [Bug 3434] ntpd clears STA_UNSYNC on start <perlinger (a] ntp.org>
   4312  - applied patch by Miroslav Lichvar
   4313  [Bug 3426] ntpdate.html -t default is 2 seconds.  Leonid Evdokimov.
   4314  [Bug 3121] Drop root privileges for the forked DNS worker <perlinger (a] ntp.org>
   4315  - integrated patch by  Reinhard Max
   4316  [Bug 2821] minor build issues <perlinger (a] ntp.org>
   4317  - applied patches by Christos Zoulas, including real bug fixes
   4318  html/authopt.html: cleanup, from <stenn (a] ntp.org>
   4319  ntpd/ntpd.c: DROPROOT cleanup.  <stenn (a] ntp.org>
   4320  Symmetric key range is 1-65535.  Update docs.   <stenn (a] ntp.org>
   4321 
   4322 --
   4323 NTP 4.2.8p11 (Harlan Stenn <stenn (a] ntp.org>, 2018/02/27)
   4324 
   4325 Focus: Security, Bug fixes, enhancements.
   4326 
   4327 Severity: MEDIUM
   4328 
   4329 This release fixes 2 low-/medium-, 1 informational/medum-, and 2 low-severity
   4330 vulnerabilities in ntpd, one medium-severity vulernability in ntpq, and
   4331 provides 65 other non-security fixes and improvements:
   4332 
   4333 * NTP Bug 3454: Unauthenticated packet can reset authenticated interleaved
   4334 	association (LOW/MED)
   4335    Date Resolved: Stable (4.2.8p11) 27 Feb 2018
   4336    References: Sec 3454 / CVE-2018-7185 / VU#961909
   4337    Affects: ntp-4.2.6, up to but not including ntp-4.2.8p11.
   4338    CVSS2: MED 4.3 (AV:N/AC:M/Au:N/C:N/I:N/A:P) This could score between
   4339 	2.9 and 6.8.
   4340    CVSS3: LOW 3.1 CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L This could
   4341 	score between 2.6 and 3.1
   4342    Summary:
   4343 	The NTP Protocol allows for both non-authenticated and
   4344 	authenticated associations, in client/server, symmetric (peer),
   4345 	and several broadcast modes. In addition to the basic NTP
   4346 	operational modes, symmetric mode and broadcast servers can
   4347 	support an interleaved mode of operation. In ntp-4.2.8p4 a bug
   4348 	was inadvertently introduced into the protocol engine that
   4349 	allows a non-authenticated zero-origin (reset) packet to reset
   4350 	an authenticated interleaved peer association. If an attacker
   4351 	can send a packet with a zero-origin timestamp and the source
   4352 	IP address of the "other side" of an interleaved association,
   4353 	the 'victim' ntpd will reset its association. The attacker must
   4354 	continue sending these packets in order to maintain the
   4355 	disruption of the association. In ntp-4.0.0 thru ntp-4.2.8p6,
   4356 	interleave mode could be entered dynamically. As of ntp-4.2.8p7,
   4357 	interleaved mode must be explicitly configured/enabled.
   4358    Mitigation:
   4359 	Implement BCP-38.
   4360 	Upgrade to 4.2.8p11, or later, from the NTP Project Download Page
   4361 	    or the NTP Public Services Project Download Page.
   4362 	If you are unable to upgrade to 4.2.8p11 or later and have
   4363 	    'peer HOST xleave' lines in your ntp.conf file, remove the
   4364 	    'xleave' option.
   4365 	Have enough sources of time.
   4366 	Properly monitor your ntpd instances.
   4367 	If ntpd stops running, auto-restart it without -g .
   4368    Credit:
   4369    	This weakness was discovered by Miroslav Lichvar of Red Hat.
   4370 
   4371 * NTP Bug 3453: Interleaved symmetric mode cannot recover from bad
   4372 	state (LOW/MED)
   4373    Date Resolved: Stable (4.2.8p11) 27 Feb 2018
   4374    References: Sec 3453 / CVE-2018-7184 / VU#961909
   4375    Affects: ntpd in ntp-4.2.8p4, up to but not including ntp-4.2.8p11.
   4376    CVSS2: MED 4.3 (AV:N/AC:M/Au:N/C:P/I:N/A:N)
   4377 	Could score between 2.9 and 6.8.
   4378    CVSS3: LOW 3.1 - CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L
   4379 	Could score between 2.6 and 6.0.
   4380    Summary:
   4381    	The fix for NtpBug2952 was incomplete, and while it fixed one
   4382 	problem it created another.  Specifically, it drops bad packets
   4383 	before updating the "received" timestamp.  This means a
   4384 	third-party can inject a packet with a zero-origin timestamp,
   4385 	meaning the sender wants to reset the association, and the
   4386 	transmit timestamp in this bogus packet will be saved as the
   4387 	most recent "received" timestamp.  The real remote peer does
   4388 	not know this value and this will disrupt the association until
   4389 	the association resets.
   4390    Mitigation:
   4391 	Implement BCP-38.
   4392 	Upgrade to ntp-4.2.8p11 or later from the NTP Project Download Page
   4393 	    or the NTP Public Services Project Download Page.
   4394 	Use authentication with 'peer' mode.
   4395 	Have enough sources of time.
   4396 	Properly monitor your ntpd instances.
   4397 	If ntpd stops running, auto-restart it without -g .
   4398    Credit:
   4399    	This weakness was discovered by Miroslav Lichvar of Red Hat.
   4400 
   4401 * NTP Bug 3415: Provide a way to prevent authenticated symmetric passive
   4402 	peering (LOW)
   4403    Date Resolved: Stable (4.2.8p11) 27 Feb 2018
   4404    References: Sec 3415 / CVE-2018-7170 / VU#961909
   4405    	       Sec 3012 / CVE-2016-1549 / VU#718152
   4406    Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
   4407    	4.3.0 up to, but not including 4.3.92.  Resolved in 4.2.8p11.
   4408    CVSS2: LOW 3.5 - (AV:N/AC:M/Au:S/C:N/I:P/A:N)
   4409    CVSS3: LOW 3.1 - CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N
   4410    Summary:
   4411 	ntpd can be vulnerable to Sybil attacks.  If a system is set up to
   4412 	use a trustedkey and if one is not using the feature introduced in
   4413 	ntp-4.2.8p6 allowing an optional 4th field in the ntp.keys file to
   4414 	specify which IPs can serve time, a malicious authenticated peer
   4415 	-- i.e. one where the attacker knows the private symmetric key --
   4416 	can create arbitrarily-many ephemeral associations in order to win
   4417 	the clock selection of ntpd and modify a victim's clock.  Three
   4418 	additional protections are offered in ntp-4.2.8p11.  One is the
   4419 	new 'noepeer' directive, which disables symmetric passive
   4420 	ephemeral peering. Another is the new 'ippeerlimit' directive,
   4421 	which limits the number of peers that can be created from an IP.
   4422 	The third extends the functionality of the 4th field in the
   4423 	ntp.keys file to include specifying a subnet range.
   4424    Mitigation:
   4425 	Implement BCP-38.
   4426 	Upgrade to ntp-4.2.8p11 or later from the NTP Project Download Page
   4427 	    or the NTP Public Services Project Download Page.
   4428 	Use the 'noepeer' directive to prohibit symmetric passive
   4429 	    ephemeral associations.
   4430 	Use the 'ippeerlimit' directive to limit the number of peers
   4431 	    that can be created from an IP.
   4432 	Use the 4th argument in the ntp.keys file to limit the IPs and
   4433 	    subnets that can be time servers.
   4434 	Have enough sources of time.
   4435 	Properly monitor your ntpd instances.
   4436 	If ntpd stops running, auto-restart it without -g .
   4437    Credit:
   4438 	This weakness was reported as Bug 3012 by Matthew Van Gundy of
   4439 	Cisco ASIG, and separately by Stefan Moser as Bug 3415.
   4440 
   4441 * ntpq Bug 3414: decodearr() can write beyond its 'buf' limits (Medium)
   4442    Date Resolved: 27 Feb 2018
   4443    References: Sec 3414 / CVE-2018-7183 / VU#961909
   4444    Affects: ntpq in ntp-4.2.8p6, up to but not including ntp-4.2.8p11.
   4445    CVSS2: MED 6.8 (AV:N/AC:M/Au:N/C:P/I:P/A:P)
   4446    CVSS3: MED 5.0 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L
   4447    Summary:
   4448    	ntpq is a monitoring and control program for ntpd.  decodearr()
   4449 	is an internal function of ntpq that is used to -- wait for it --
   4450 	decode an array in a response string when formatted data is being
   4451 	displayed.  This is a problem in affected versions of ntpq if a
   4452 	maliciously-altered ntpd returns an array result that will trip this
   4453 	bug, or if a bad actor is able to read an ntpq request on its way to
   4454 	a remote ntpd server and forge and send a response before the remote
   4455 	ntpd sends its response.  It's potentially possible that the
   4456 	malicious data could become injectable/executable code.
   4457    Mitigation:
   4458 	Implement BCP-38.
   4459 	Upgrade to ntp-4.2.8p11 or later from the NTP Project Download Page
   4460 	    or the NTP Public Services Project Download Page.
   4461    Credit:
   4462 	This weakness was discovered by Michael Macnair of Thales e-Security.
   4463 
   4464 * NTP Bug 3412: ctl_getitem(): buffer read overrun leads to undefined
   4465 	behavior and information leak (Info/Medium)
   4466    Date Resolved: 27 Feb 2018
   4467    References: Sec 3412 / CVE-2018-7182 / VU#961909
   4468    Affects: ntp-4.2.8p6, up to but not including ntp-4.2.8p11.
   4469    CVSS2: INFO 0.0 - MED 5.0 (AV:N/AC:L/Au:N/C:P/I:N/A:N) 0.0 if C:N
   4470    CVSS3: NONE 0.0 - MED 5.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
   4471 	0.0 if C:N
   4472    Summary:
   4473 	ctl_getitem()  is used by ntpd to process incoming mode 6 packets.
   4474 	A malicious mode 6 packet can be sent to an ntpd instance, and
   4475 	if the ntpd instance is from 4.2.8p6 thru 4.2.8p10, that will
   4476 	cause ctl_getitem() to read past the end of its buffer.
   4477    Mitigation:
   4478 	Implement BCP-38.
   4479 	Upgrade to ntp-4.2.8p11 or later from the NTP Project Download Page
   4480 	    or the NTP Public Services Project Download Page.
   4481 	Have enough sources of time.
   4482 	Properly monitor your ntpd instances.
   4483 	If ntpd stops running, auto-restart it without -g .
   4484    Credit:
   4485    	This weakness was discovered by Yihan Lian of Qihoo 360.
   4486 
   4487 * NTP Bug 3012: Sybil vulnerability: ephemeral association attack
   4488    Also see Bug 3415, above.
   4489    Date Mitigated: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
   4490    Date Resolved: Stable (4.2.8p11) 27 Feb 2018
   4491    References: Sec 3012 / CVE-2016-1549 / VU#718152
   4492    Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
   4493 	4.3.0 up to, but not including 4.3.92.  Resolved in 4.2.8p11.
   4494    CVSS2: LOW 3.5 - (AV:N/AC:M/Au:S/C:N/I:P/A:N)
   4495    CVSS3: MED 5.3 - CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N
   4496    Summary:
   4497 	ntpd can be vulnerable to Sybil attacks.  If a system is set up
   4498 	to use a trustedkey and if one is not using the feature
   4499 	introduced in ntp-4.2.8p6 allowing an optional 4th field in the
   4500 	ntp.keys file to specify which IPs can serve time, a malicious
   4501 	authenticated peer -- i.e. one where the attacker knows the
   4502 	private symmetric key -- can create arbitrarily-many ephemeral
   4503 	associations in order to win the clock selection of ntpd and
   4504 	modify a victim's clock.  Two additional protections are
   4505 	offered in ntp-4.2.8p11.  One is the 'noepeer' directive, which
   4506 	disables symmetric passive ephemeral peering. The other extends
   4507 	the functionality of the 4th field in the ntp.keys file to
   4508 	include specifying a subnet range.
   4509    Mitigation:
   4510 	Implement BCP-38.
   4511 	Upgrade to 4.2.8p11, or later, from the NTP Project Download Page or
   4512 	    the NTP Public Services Project Download Page.
   4513 	Use the 'noepeer' directive to prohibit symmetric passive
   4514 	    ephemeral associations.
   4515 	Use the 'ippeerlimit' directive to limit the number of peer
   4516 	    associations from an IP.
   4517 	Use the 4th argument in the ntp.keys file to limit the IPs
   4518 	    and subnets that can be time servers.
   4519 	Properly monitor your ntpd instances.
   4520    Credit:
   4521    	This weakness was discovered by Matthew Van Gundy of Cisco ASIG.
   4522 
   4523 * Bug fixes:
   4524  [Bug 3457] OpenSSL FIPS mode regression <perlinger (a] ntp.org>
   4525  [Bug 3455] ntpd doesn't use scope id when binding multicast <perlinger (a] ntp.org>
   4526  - applied patch by Sean Haugh 
   4527  [Bug 3452] PARSE driver prints uninitialized memory. <perlinger (a] ntp.org>
   4528  [Bug 3450] Dubious error messages from plausibility checks in get_systime()
   4529  - removed error log caused by rounding/slew, ensured postcondition <perlinger (a] ntp.org>
   4530  [Bug 3447] AES-128-CMAC (fixes) <perlinger (a] ntp.org>
   4531  - refactoring the MAC code, too
   4532  [Bug 3441] Validate the assumption that AF_UNSPEC is 0.  stenn (a] ntp.org
   4533  [Bug 3439] When running multiple commands / hosts in ntpq... <perlinger (a] ntp.org>
   4534  - applied patch by ggarvey
   4535  [Bug 3438] Negative values and values > 999 days in... <perlinger (a] ntp.org>
   4536  - applied patch by ggarvey (with minor mods)
   4537  [Bug 3437] ntpd tries to open socket with AF_UNSPEC domain
   4538  - applied patch (with mods) by Miroslav Lichvar <perlinger (a] ntp.org>
   4539  [Bug 3435] anchor NTP era alignment <perlinger (a] ntp.org>
   4540  [Bug 3433] sntp crashes when run with -a.  <stenn (a] ntp.org>
   4541  [Bug 3430] ntpq dumps core (SIGSEGV) for "keytype md2"
   4542  - fixed several issues with hash algos in ntpd, sntp, ntpq,
   4543    ntpdc and the test suites <perlinger (a] ntp.org>
   4544  [Bug 3424] Trimble Thunderbolt 1024 week millenium bug <perlinger (a] ntp.org>
   4545  - initial patch by Daniel Pouzzner
   4546  [Bug 3423] QNX adjtime() implementation error checking is
   4547  wrong <perlinger (a] ntp.org>
   4548  [Bug 3417] ntpq ifstats packet counters can be negative
   4549  made IFSTATS counter quantities unsigned <perlinger (a] ntp.org>
   4550  [Bug 3411] problem about SIGN(6) packet handling for ntp-4.2.8p10
   4551  - raised receive buffer size to 1200 <perlinger (a] ntp.org>
   4552  [Bug 3408] refclock_jjy.c: Avoid a wrong report of the coverity static
   4553  analysis tool. <abe (a] ntp.org>
   4554  [Bug 3405] update-leap.in: general cleanup, HTTPS support.  Paul McMath.
   4555  [Bug 3404] Fix openSSL DLL usage under Windows <perlinger (a] ntp.org>
   4556  - fix/drop assumptions on OpenSSL libs directory layout
   4557  [Bug 3399] NTP: linker error in 4.2.8p10 during Linux cross-compilation
   4558  - initial patch by timeflies (a] mail2tor.com  <perlinger (a] ntp.org>
   4559  [Bug 3398] tests fail with core dump <perlinger (a] ntp.org>
   4560  - patch contributed by Alexander Bluhm
   4561  [Bug 3397] ctl_putstr() asserts that data fits in its buffer
   4562  rework of formatting & data transfer stuff in 'ntp_control.c'
   4563  avoids unecessary buffers and size limitations. <perlinger (a] ntp.org>
   4564  [Bug 3394] Leap second deletion does not work on ntpd clients
   4565  - fixed handling of dynamic deletion w/o leap file <perlinger (a] ntp.org>
   4566  [Bug 3391] ntpd segfaults on startup due to small warmup thread stack size
   4567  - increased mimimum stack size to 32kB <perlinger (a] ntp.org>
   4568  [Bug 3367] Faulty LinuxPPS NMEA clock support in 4.2.8 <perlinger (a] ntp.org>
   4569  - reverted handling of PPS kernel consumer to 4.2.6 behavior
   4570  [Bug 3365] Updates driver40(-ja).html and miscopt.html <abe (a] ntp.org>
   4571  [Bug 3358] Spurious KoD log messages in .INIT. phase.  HStenn.
   4572  [Bug 3016] wrong error position reported for bad ":config pool"
   4573  - fixed location counter & ntpq output <perlinger (a] ntp.org>
   4574  [Bug 2900] libntp build order problem.  HStenn.
   4575  [Bug 2878] Tests are cluttering up syslog <perlinger (a] ntp.org>
   4576  [Bug 2737] Wrong phone number listed for USNO. ntp-bugs (a] bodosom.net,
   4577  perlinger (a] ntp.org
   4578  [Bug 2557] Fix Thunderbolt init. ntp-bugs (a] bodosom.net, perlinger@ntp.
   4579  [Bug 948] Trustedkey config directive leaks memory. <perlinger (a] ntp.org>
   4580  Use strlcpy() to copy strings, not memcpy().  HStenn.
   4581  Typos.  HStenn.
   4582  test_ntp_scanner_LDADD needs ntpd/ntp_io.o.  HStenn.
   4583  refclock_jjy.c: Add missing "%s" to an msyslog() call.  HStenn.
   4584  Build ntpq and libntpq.a with NTP_HARD_*FLAGS.  perlinger (a] ntp.org
   4585  Fix trivial warnings from 'make check'. perlinger (a] ntp.org
   4586  Fix bug in the override portion of the compiler hardening macro. HStenn.
   4587  record_raw_stats(): Log entire packet.  Log writes.  HStenn.
   4588  AES-128-CMAC support.  BInglis, HStenn, JPerlinger.
   4589  sntp: tweak key file logging.  HStenn.
   4590  sntp: pkt_output(): Improve debug output.  HStenn.
   4591  update-leap: updates from Paul McMath.
   4592  When using pkg-config, report --modversion.  HStenn.
   4593  Clean up libevent configure checks.  HStenn.
   4594  sntp: show the IP of who sent us a crypto-NAK.  HStenn.
   4595  Allow .../N to specify subnet bits for IPs in ntp.keys.  HStenn, JPerlinger.
   4596  authistrustedip() - use it in more places.  HStenn, JPerlinger.
   4597  New sysstats: sys_lamport, sys_tsrounding.  HStenn.
   4598  Update ntp.keys .../N documentation.  HStenn.
   4599  Distribute testconf.yml.  HStenn.
   4600  Add DPRINTF(2,...) lines to receive() for packet drops.  HStenn.
   4601  Rename the configuration flag fifo variables.  HStenn.
   4602  Improve saveconfig output.  HStenn.
   4603  Decode restrict flags on receive() debug output.  HStenn.
   4604  Decode interface flags on receive() debug output.  HStenn.
   4605  Warn the user if deprecated "driftfile name WanderThreshold" is used.  HStenn.
   4606  Update the documentation in ntp.conf.def .  HStenn.
   4607  restrictions() must return restrict flags and ippeerlimit.  HStenn.
   4608  Update ntpq peer documentation to describe the 'p' type.  HStenn.
   4609  Rename restrict 'flags' to 'rflags.  Use an enum for the values.  HStenn.
   4610  Provide dump_restricts() for debugging.  HStenn.
   4611  Use consistent 4th arg type for [gs]etsockopt.  JPerlinger.
   4612 
   4613 * Other items:
   4614 
   4615 * update-leap needs the following perl modules:
   4616 	Net::SSLeay
   4617 	IO::Socket::SSL
   4618 
   4619 * New sysstats variables: sys_lamport, sys_tsrounding
   4620 See them with: ntpq -c "rv 0 ss_lamport,ss_tsrounding"
   4621 sys_lamport counts the number of observed Lamport violations, while
   4622 sys_tsrounding counts observed timestamp rounding events.
   4623 
   4624 * New ntp.conf items:
   4625 
   4626 - restrict ... noepeer
   4627 - restrict ... ippeerlimit N
   4628 
   4629 The 'noepeer' directive will disallow all ephemeral/passive peer
   4630 requests.
   4631 
   4632 The 'ippeerlimit' directive limits the number of time associations
   4633 for each IP in the designated set of addresses.  This limit does not
   4634 apply to explicitly-configured associations.  A value of -1, the current
   4635 default, means an unlimited number of associations may connect from a
   4636 single IP.  0 means "none", etc.  Ordinarily the only way multiple
   4637 associations would come from the same IP would be if the remote side
   4638 was using a proxy.  But a trusted machine might become compromised,
   4639 in which case an attacker might spin up multiple authenticated sessions
   4640 from different ports.  This directive should be helpful in this case.
   4641 
   4642 * New ntp.keys feature: Each IP in the optional list of IPs in the 4th
   4643 field may contain a /subnetbits specification, which identifies  the
   4644 scope of IPs that may use this key.  This IP/subnet restriction can be
   4645 used to limit the IPs that may use the key in most all situations where
   4646 a key is used.
   4647 --
   4648 NTP 4.2.8p10 (Harlan Stenn <stenn (a] ntp.org>, 2017/03/21) 
   4649 
   4650 Focus: Security, Bug fixes, enhancements.
   4651 
   4652 Severity: MEDIUM
   4653 
   4654 This release fixes 5 medium-, 6 low-, and 4 informational-severity
   4655 vulnerabilities, and provides 15 other non-security fixes and improvements:
   4656 
   4657 * NTP-01-016 NTP: Denial of Service via Malformed Config (Medium)
   4658    Date Resolved: 21 Mar 2017
   4659    References: Sec 3389 / CVE-2017-6464 / VU#325339
   4660    Affects: All versions of NTP-4, up to but not including ntp-4.2.8p10, and
   4661 	ntp-4.3.0 up to, but not including ntp-4.3.94.
   4662    CVSS2: MED 4.6 (AV:N/AC:H/Au:M/C:N/I:N/A:C)
   4663    CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
   4664    Summary:
   4665 	A vulnerability found in the NTP server makes it possible for an
   4666 	authenticated remote user to crash ntpd via a malformed mode
   4667 	configuration directive.
   4668    Mitigation:
   4669 	Implement BCP-38.
   4670 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page or
   4671 	    the NTP Public Services Project Download Page
   4672 	Properly monitor your ntpd instances, and auto-restart
   4673 	    ntpd (without -g) if it stops running. 
   4674    Credit:
   4675 	This weakness was discovered by Cure53. 
   4676 
   4677 * NTP-01-014 NTP: Buffer Overflow in DPTS Clock (Low)
   4678     Date Resolved: 21 Mar 2017
   4679     References: Sec 3388 / CVE-2017-6462 / VU#325339
   4680     Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and ntp-4.3.0 up to, but not including ntp-4.3.94.
   4681     CVSS2: Low 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P)
   4682     CVSS3: Low 1.6 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
   4683     Summary:
   4684 	There is a potential for a buffer overflow in the legacy Datum
   4685 	Programmable Time Server refclock driver.  Here the packets are
   4686 	processed from the /dev/datum device and handled in
   4687 	datum_pts_receive().  Since an attacker would be required to
   4688 	somehow control a malicious /dev/datum device, this does not
   4689 	appear to be a practical attack and renders this issue "Low" in
   4690 	terms of severity.
   4691    Mitigation:
   4692 	If you have a Datum reference clock installed and think somebody
   4693 	    may maliciously change the device, upgrade to 4.2.8p10, or
   4694 	    later, from the NTP Project Download Page or the NTP Public
   4695 	    Services Project Download Page
   4696 	Properly monitor your ntpd instances, and auto-restart
   4697 	    ntpd (without -g) if it stops running. 
   4698    Credit:
   4699 	This weakness was discovered by Cure53. 
   4700 
   4701 * NTP-01-012 NTP: Authenticated DoS via Malicious Config Option (Medium)
   4702    Date Resolved: 21 Mar 2017
   4703    References: Sec 3387 / CVE-2017-6463 / VU#325339
   4704    Affects: All versions of ntp, up to but not including ntp-4.2.8p10, and
   4705 	ntp-4.3.0 up to, but not including ntp-4.3.94.
   4706    CVSS2: MED 4.6 (AV:N/AC:H/Au:M/C:N/I:N/A:C)
   4707    CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
   4708    Summary:
   4709 	A vulnerability found in the NTP server allows an authenticated
   4710 	remote attacker to crash the daemon by sending an invalid setting
   4711 	via the :config directive.  The unpeer option expects a number or
   4712 	an address as an argument.  In case the value is "0", a
   4713 	segmentation fault occurs.
   4714    Mitigation:
   4715 	Implement BCP-38.
   4716 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
   4717 	    or the NTP Public Services Project Download Page 
   4718 	Properly monitor your ntpd instances, and auto-restart
   4719 	    ntpd (without -g) if it stops running. 
   4720    Credit:
   4721 	This weakness was discovered by Cure53. 
   4722 
   4723 * NTP-01-011 NTP: ntpq_stripquotes() returns incorrect value (Informational)
   4724    Date Resolved: 21 Mar 2017
   4725    References: Sec 3386
   4726    Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
   4727 	ntp-4.3.0 up to, but not including ntp-4.3.94.
   4728    CVSS2: None 0.0 (AV:N/AC:H/Au:N/C:N/I:N/A:N)
   4729    CVSS3: None 0.0 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:N
   4730    Summary:
   4731 	The NTP Mode 6 monitoring and control client, ntpq, uses the
   4732 	function ntpq_stripquotes() to remove quotes and escape characters
   4733 	from a given string.  According to the documentation, the function
   4734 	is supposed to return the number of copied bytes but due to
   4735 	incorrect pointer usage this value is always zero.  Although the
   4736 	return value of this function is never used in the code, this
   4737 	flaw could lead to a vulnerability in the future.  Since relying
   4738 	on wrong return values when performing memory operations is a
   4739 	dangerous practice, it is recommended to return the correct value
   4740 	in accordance with the documentation pertinent to the code.
   4741    Mitigation:
   4742 	Implement BCP-38.
   4743 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
   4744 	    or the NTP Public Services Project Download Page
   4745 	Properly monitor your ntpd instances, and auto-restart
   4746 	    ntpd (without -g) if it stops running. 
   4747    Credit:
   4748 	This weakness was discovered by Cure53. 
   4749 
   4750 * NTP-01-010 NTP: ereallocarray()/eallocarray() underused (Info)
   4751    Date Resolved: 21 Mar 2017
   4752    References: Sec 3385
   4753    Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
   4754 	ntp-4.3.0 up to, but not including ntp-4.3.94.
   4755    Summary:
   4756 	NTP makes use of several wrappers around the standard heap memory
   4757 	allocation functions that are provided by libc.  This is mainly
   4758 	done to introduce additional safety checks concentrated on
   4759 	several goals.  First, they seek to ensure that memory is not
   4760 	accidentally freed, secondly they verify that a correct amount
   4761 	is always allocated and, thirdly, that allocation failures are
   4762 	correctly handled.  There is an additional implementation for
   4763 	scenarios where memory for a specific amount of items of the
   4764 	same size needs to be allocated.  The handling can be found in
   4765 	the oreallocarray() function for which a further number-of-elements
   4766 	parameter needs to be provided.  Although no considerable threat
   4767 	was identified as tied to a lack of use of this function, it is
   4768 	recommended to correctly apply oreallocarray() as a preferred
   4769 	option across all of the locations where it is possible.
   4770    Mitigation:
   4771 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
   4772 	    or the NTP Public Services Project Download Page 
   4773    Credit:
   4774 	This weakness was discovered by Cure53. 
   4775 
   4776 * NTP-01-009 NTP: Privileged execution of User Library code (WINDOWS
   4777 	PPSAPI ONLY) (Low)
   4778    Date Resolved: 21 Mar 2017
   4779    References: Sec 3384 / CVE-2017-6455 / VU#325339
   4780    Affects: All Windows versions of ntp-4 that use the PPSAPI, up to but
   4781 	not including ntp-4.2.8p10, and ntp-4.3.0 up to, but not
   4782 	including ntp-4.3.94.
   4783    CVSS2: MED 3.8 (AV:L/AC:H/Au:S/C:N/I:N/A:C)
   4784    CVSS3: MED 4.0 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
   4785    Summary:
   4786 	The Windows NT port has the added capability to preload DLLs
   4787 	defined in the inherited global local environment variable
   4788 	PPSAPI_DLLS.  The code contained within those libraries is then
   4789 	called from the NTPD service, usually running with elevated
   4790 	privileges. Depending on how securely the machine is setup and
   4791 	configured, if ntpd is configured to use the PPSAPI under Windows
   4792 	this can easily lead to a code injection.
   4793    Mitigation:
   4794 	Implement BCP-38.
   4795 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
   4796 	    or the NTP Public Services Project Download Page 
   4797    Credit:
   4798    This weakness was discovered by Cure53. 
   4799 
   4800 * NTP-01-008 NTP: Stack Buffer Overflow from Command Line (WINDOWS
   4801 	installer ONLY) (Low)
   4802    Date Resolved: 21 Mar 2017
   4803    References: Sec 3383 / CVE-2017-6452 / VU#325339
   4804    Affects: WINDOWS installer ONLY: All versions of the ntp-4 Windows
   4805 	installer, up to but not including ntp-4.2.8p10, and ntp-4.3.0 up
   4806 	to, but not including ntp-4.3.94.
   4807    CVSS2: Low 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P)
   4808    CVSS3: Low 1.8 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
   4809    Summary:
   4810 	The Windows installer for NTP calls strcat(), blindly appending
   4811 	the string passed to the stack buffer in the addSourceToRegistry()
   4812 	function.  The stack buffer is 70 bytes smaller than the buffer
   4813 	in the calling main() function.  Together with the initially
   4814 	copied Registry path, the combination causes a stack buffer
   4815 	overflow and effectively overwrites the stack frame.  The
   4816 	passed application path is actually limited to 256 bytes by the
   4817 	operating system, but this is not sufficient to assure that the
   4818 	affected stack buffer is consistently protected against
   4819 	overflowing at all times.
   4820    Mitigation:
   4821 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
   4822 	or the NTP Public Services Project Download Page 
   4823    Credit:
   4824 	This weakness was discovered by Cure53. 
   4825 
   4826 * NTP-01-007 NTP: Data Structure terminated insufficiently (WINDOWS
   4827 	installer ONLY) (Low)
   4828    Date Resolved: 21 Mar 2017
   4829    References: Sec 3382 / CVE-2017-6459 / VU#325339
   4830    Affects: WINDOWS installer ONLY: All ntp-4 versions of the Windows
   4831 	installer, up to but not including ntp-4.2.8p10, and ntp-4.3.0
   4832 	up to, but not including ntp-4.3.94.
   4833    CVSS2: Low 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P)
   4834    CVSS3: Low 1.8 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
   4835    Summary:
   4836 	The Windows installer for NTP calls strcpy() with an argument
   4837 	that specifically contains multiple null bytes.  strcpy() only
   4838 	copies a single terminating null character into the target
   4839 	buffer instead of copying the required double null bytes in the
   4840 	addKeysToRegistry() function.  As a consequence, a garbage
   4841 	registry entry can be created.  The additional arsize parameter
   4842 	is erroneously set to contain two null bytes and the following
   4843 	call to RegSetValueEx() claims to be passing in a multi-string
   4844 	value, though this may not be true.
   4845    Mitigation:
   4846 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
   4847 	    or the NTP Public Services Project Download Page 
   4848    Credit:
   4849 	This weakness was discovered by Cure53. 
   4850 
   4851 * NTP-01-006 NTP: Copious amounts of Unused Code (Informational)
   4852    References: Sec 3381
   4853    Summary:
   4854 	The report says: Statically included external projects
   4855 	potentially introduce several problems and the issue of having
   4856 	extensive amounts of code that is "dead" in the resulting binary
   4857 	must clearly be pointed out.  The unnecessary unused code may or
   4858 	may not contain bugs and, quite possibly, might be leveraged for
   4859 	code-gadget-based branch-flow redirection exploits.  Analogically,
   4860 	having source trees statically included as well means a failure
   4861 	in taking advantage of the free feature for periodical updates.
   4862 	This solution is offered by the system's Package Manager. The
   4863 	three libraries identified are libisc, libevent, and libopts.
   4864    Resolution:
   4865 	For libisc, we already only use a portion of the original library.
   4866 	We've found and fixed bugs in the original implementation (and
   4867 	offered the patches to ISC), and plan to see what has changed
   4868 	since we last upgraded the code.  libisc is generally not
   4869 	installed, and when it it we usually only see the static libisc.a
   4870 	file installed.  Until we know for sure that the bugs we've found
   4871 	and fixed are fixed upstream, we're better off with the copy we
   4872 	are using.
   4873 
   4874         Version 1 of libevent was the only production version available
   4875 	until recently, and we've been requiring version 2 for a long time.
   4876 	But if the build system has at least version 2 of libevent
   4877 	installed, we'll use the version that is installed on the system.
   4878 	Otherwise, we provide a copy of libevent that we know works.
   4879 
   4880         libopts is provided by GNU AutoGen, and that library and package
   4881 	undergoes frequent API version updates.  The version of autogen
   4882 	used to generate the tables for the code must match the API
   4883 	version in libopts.  AutoGen can be ... difficult to build and
   4884 	install, and very few developers really need it.  So we have it
   4885 	on our build and development machines, and we provide the
   4886 	specific version of the libopts code in the distribution to make
   4887 	sure that the proper API version of libopts is available.
   4888 
   4889         As for the point about there being code in these libraries that
   4890 	NTP doesn't use, OK.  But other packages used these libraries as
   4891 	well, and it is reasonable to assume that other people are paying
   4892 	attention to security and code quality issues for the overall
   4893 	libraries.  It takes significant resources to analyze and
   4894 	customize these libraries to only include what we need, and to
   4895 	date we believe the cost of this effort does not justify the benefit. 
   4896    Credit:
   4897 	This issue was discovered by Cure53. 
   4898 
   4899 * NTP-01-005 NTP: Off-by-one in Oncore GPS Receiver (Low)
   4900    Date Resolved: 21 Mar 2017
   4901    References: Sec 3380
   4902    Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
   4903    	ntp-4.3.0 up to, but not including ntp-4.3.94.
   4904    CVSS2: None 0.0 (AV:L/AC:H/Au:N/C:N/I:N/A:N)
   4905    CVSS3: None 0.0 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N
   4906    Summary:
   4907 	There is a fencepost error in a "recovery branch" of the code for
   4908 	the Oncore GPS receiver if the communication link to the ONCORE
   4909 	is weak / distorted and the decoding doesn't work.
   4910    Mitigation:
   4911         Upgrade to 4.2.8p10, or later, from the NTP Project Download Page or
   4912 	    the NTP Public Services Project Download Page
   4913         Properly monitor your ntpd instances, and auto-restart
   4914 	    ntpd (without -g) if it stops running. 
   4915    Credit:
   4916 	This weakness was discovered by Cure53. 
   4917 
   4918 * NTP-01-004 NTP: Potential Overflows in ctl_put() functions (Medium)
   4919    Date Resolved: 21 Mar 2017
   4920    References: Sec 3379 / CVE-2017-6458 / VU#325339
   4921    Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
   4922 	ntp-4.3.0 up to, but not including ntp-4.3.94.
   4923    CVSS2: MED 4.6 (AV:N/AC:H/Au:M/C:N/I:N/A:C)
   4924    CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
   4925    Summary:
   4926 	ntpd makes use of different wrappers around ctl_putdata() to
   4927 	create name/value ntpq (mode 6) response strings.  For example,
   4928 	ctl_putstr() is usually used to send string data (variable names
   4929 	or string data).  The formatting code was missing a length check
   4930 	for variable names.  If somebody explicitly created any unusually
   4931 	long variable names in ntpd (longer than 200-512 bytes, depending
   4932 	on the type of variable), then if any of these variables are
   4933 	added to the response list it would overflow a buffer.
   4934    Mitigation:
   4935 	Implement BCP-38.
   4936 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
   4937 	    or the NTP Public Services Project Download Page
   4938 	If you don't want to upgrade, then don't setvar variable names
   4939 	    longer than 200-512 bytes in your ntp.conf file.
   4940 	Properly monitor your ntpd instances, and auto-restart
   4941 	    ntpd (without -g) if it stops running. 
   4942    Credit:
   4943 	This weakness was discovered by Cure53. 
   4944 
   4945 * NTP-01-003 NTP: Improper use of snprintf() in mx4200_send() (Low)
   4946    Date Resolved: 21 Mar 2017
   4947    References: Sec 3378 / CVE-2017-6451 / VU#325339
   4948    Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
   4949 	ntp-4.3.0 up to, but not including ntp-4.3.94.
   4950    CVSS2: LOW 0.8 (AV:L/AC:H/Au:M/C:N/I:N/A:P)
   4951    CVSS3: LOW 1.8 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N
   4952    Summary:
   4953 	The legacy MX4200 refclock is only built if is specifically
   4954 	enabled, and furthermore additional code changes are required to
   4955 	compile and use it.  But it uses the libc functions snprintf()
   4956 	and vsnprintf() incorrectly, which can lead to an out-of-bounds
   4957 	memory write due to an improper handling of the return value of
   4958 	snprintf()/vsnprintf().  Since the return value is used as an
   4959 	iterator and it can be larger than the buffer's size, it is
   4960 	possible for the iterator to point somewhere outside of the
   4961 	allocated buffer space.  This results in an out-of-bound memory
   4962 	write.  This behavior can be leveraged to overwrite a saved
   4963 	instruction pointer on the stack and gain control over the
   4964 	execution flow.  During testing it was not possible to identify
   4965 	any malicious usage for this vulnerability.  Specifically, no
   4966 	way for an attacker to exploit this vulnerability was ultimately
   4967 	unveiled.  However, it has the potential to be exploited, so the
   4968 	code should be fixed.
   4969    Mitigation, if you have a Magnavox MX4200 refclock:
   4970 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
   4971 	    or the NTP Public Services Project Download Page.
   4972 	Properly monitor your ntpd instances, and auto-restart
   4973 	    ntpd (without -g) if it stops running. 
   4974    Credit:
   4975 	This weakness was discovered by Cure53. 
   4976 
   4977 * NTP-01-002 NTP: Buffer Overflow in ntpq when fetching reslist from a
   4978 	malicious ntpd (Medium)
   4979    Date Resolved: 21 Mar 2017
   4980    References: Sec 3377 / CVE-2017-6460 / VU#325339
   4981    Affects: All versions of ntpq, up to but not including ntp-4.2.8p10, and
   4982 	ntp-4.3.0 up to, but not including ntp-4.3.94.
   4983    CVSS2: MED 4.9 (AV:N/AC:H/Au:S/C:N/I:N/A:C)
   4984    CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
   4985    Summary:
   4986 	A stack buffer overflow in ntpq can be triggered by a malicious
   4987 	ntpd server when ntpq requests the restriction list from the server.
   4988 	This is due to a missing length check in the reslist() function.
   4989 	It occurs whenever the function parses the server's response and
   4990 	encounters a flagstr variable of an excessive length.  The string
   4991 	will be copied into a fixed-size buffer, leading to an overflow on
   4992 	the function's stack-frame.  Note well that this problem requires
   4993 	a malicious server, and affects ntpq, not ntpd.
   4994    Mitigation:
   4995 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
   4996 	    or the NTP Public Services Project Download Page
   4997 	If you can't upgrade your version of ntpq then if you want to know
   4998 	    the reslist of an instance of ntpd that you do not control,
   4999 	    know that if the target ntpd is malicious that it can send back
   5000 	    a response that intends to crash your ntpq process. 
   5001    Credit:
   5002 	This weakness was discovered by Cure53. 
   5003 
   5004 * NTP-01-001 NTP: Makefile does not enforce Security Flags (Informational)
   5005    Date Resolved: 21 Mar 2017
   5006    References: Sec 3376
   5007    Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
   5008 	ntp-4.3.0 up to, but not including ntp-4.3.94.
   5009    CVSS2: N/A
   5010    CVSS3: N/A
   5011    Summary:
   5012 	The build process for NTP has not, by default, provided compile
   5013 	or link flags to offer "hardened" security options.  Package
   5014 	maintainers have always been able to provide hardening security
   5015 	flags for their builds.  As of ntp-4.2.8p10, the NTP build
   5016 	system has a way to provide OS-specific hardening flags.  Please
   5017 	note that this is still not a really great solution because it
   5018 	is specific to NTP builds.  It's inefficient to have every
   5019 	package supply, track and maintain this information for every
   5020 	target build.  It would be much better if there was a common way
   5021 	for OSes to provide this information in a way that arbitrary
   5022 	packages could benefit from it.
   5023    Mitigation:
   5024 	Implement BCP-38.
   5025 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
   5026 	    or the NTP Public Services Project Download Page
   5027 	Properly monitor your ntpd instances, and auto-restart
   5028 	    ntpd (without -g) if it stops running. 
   5029    Credit:
   5030 	This weakness was reported by Cure53. 
   5031 
   5032 * 0rigin DoS (Medium)
   5033    Date Resolved: 21 Mar 2017
   5034    References: Sec 3361 / CVE-2016-9042 / VU#325339
   5035    Affects: ntp-4.2.8p9 (21 Nov 2016), up to but not including ntp-4.2.8p10
   5036    CVSS2: MED 4.9 (AV:N/AC:H/Au:N/C:N/I:N/A:C) (worst case)
   5037    CVSS3: MED 4.4 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H (worst case)
   5038    Summary:
   5039 	An exploitable denial of service vulnerability exists in the
   5040 	origin timestamp check functionality of ntpd 4.2.8p9.  A specially
   5041 	crafted unauthenticated network packet can be used to reset the
   5042 	expected origin timestamp for target peers.  Legitimate replies
   5043 	from targeted peers will fail the origin timestamp check (TEST2)
   5044 	causing the reply to be dropped and creating a denial of service
   5045 	condition.  This vulnerability can only be exploited if the
   5046 	attacker can spoof all of the servers.
   5047    Mitigation:
   5048 	Implement BCP-38.
   5049 	Configure enough servers/peers that an attacker cannot target
   5050 	    all of your time sources.
   5051 	Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
   5052 	    or the NTP Public Services Project Download Page
   5053 	Properly monitor your ntpd instances, and auto-restart
   5054 	    ntpd (without -g) if it stops running. 
   5055    Credit:
   5056 	This weakness was discovered by Matthew Van Gundy of Cisco. 
   5057 
   5058 Other fixes:
   5059 
   5060 * [Bug 3393] clang scan-build findings <perlinger (a] ntp.org>
   5061 * [Bug 3363] Support for openssl-1.1.0 without compatibility modes
   5062   - rework of patch set from <ntp.org (a] eroen.eu>. <perlinger (a] ntp.org>
   5063 * [Bug 3356] Bugfix 3072 breaks multicastclient <perlinger (a] ntp.org>
   5064 * [Bug 3216] libntp audio ioctl() args incorrectly cast to int
   5065   on 4.4BSD-Lite derived platforms <perlinger (a] ntp.org>
   5066   - original patch by Majdi S. Abbas
   5067 * [Bug 3215] 'make distcheck' fails with new BK repo format <perlinger (a] ntp.org>
   5068 * [Bug 3173] forking async worker: interrupted pipe I/O <perlinger (a] ntp.org>
   5069   - initial patch by Christos Zoulas
   5070 * [Bug 3139] (...) time_pps_create: Exec format error <perlinger (a] ntp.org>
   5071   - move loader API from 'inline' to proper source
   5072   - augment pathless dlls with absolute path to NTPD
   5073   - use 'msyslog()' instead of 'printf() 'for reporting trouble
   5074 * [Bug 3107] Incorrect Logic for Peer Event Limiting <perlinger (a] ntp.org>
   5075   - applied patch by Matthew Van Gundy
   5076 * [Bug 3065] Quiet warnings on NetBSD <perlinger (a] ntp.org>
   5077   - applied some of the patches provided by Havard. Not all of them
   5078     still match the current code base, and I did not touch libopt.
   5079 * [Bug 3062] Change the process name of forked DNS worker <perlinger (a] ntp.org>
   5080   - applied patch by Reinhard Max. See bugzilla for limitations.
   5081 * [Bug 2923] Trap Configuration Fail <perlinger (a] ntp.org>
   5082   - fixed dependency inversion from [Bug 2837]
   5083 * [Bug 2896] Nothing happens if minsane < maxclock < minclock
   5084   - produce ERROR log message about dysfunctional daemon. <perlinger (a] ntp.org>
   5085 * [Bug 2851] allow -4/-6 on restrict line with mask <perlinger (a] ntp.org>
   5086   - applied patch by Miroslav Lichvar for ntp4.2.6 compat
   5087 * [Bug 2645] out-of-bound pointers in ctl_putsys and decode_bitflags
   5088   - Fixed these and some more locations of this pattern.
   5089     Probably din't get them all, though. <perlinger (a] ntp.org>
   5090 * Update copyright year.
   5091 
   5092 --
   5093 (4.2.8p9-win) 2017/02/01 Released by Harlan Stenn <stenn (a] ntp.org>
   5094 
   5095 * [Bug 3144] NTP does not build without openSSL. <perlinger (a] ntp.org>
   5096   - added missed changeset for automatic openssl lib detection
   5097   - fixed some minor warning issues
   5098 * [Bug 3095]  More compatibility with openssl 1.1. <perlinger (a] ntp.org>
   5099 * configure.ac cleanup.  stenn (a] ntp.org
   5100 * openssl configure cleanup.  stenn (a] ntp.org
   5101 
   5102 --
   5103 NTP 4.2.8p9 (Harlan Stenn <stenn (a] ntp.org>, 2016/11/21) 
   5104 
   5105 Focus: Security, Bug fixes, enhancements.
   5106 
   5107 Severity: HIGH
   5108 
   5109 In addition to bug fixes and enhancements, this release fixes the
   5110 following 1 high- (Windows only), 2 medium-, 2 medium-/low, and
   5111 5 low-severity vulnerabilities, and provides 28 other non-security
   5112 fixes and improvements:
   5113 
   5114 * Trap crash
   5115    Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
   5116    References: Sec 3119 / CVE-2016-9311 / VU#633847
   5117    Affects: ntp-4.0.90 (21 July 1999), possibly earlier, up to but not
   5118    	including 4.2.8p9, and ntp-4.3.0 up to but not including ntp-4.3.94.
   5119    CVSS2: MED 4.9 (AV:N/AC:H/Au:N/C:N/I:N/A:C)
   5120    CVSS3: MED 4.4 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H
   5121    Summary: 
   5122 	ntpd does not enable trap service by default. If trap service
   5123 	has been explicitly enabled, an attacker can send a specially
   5124 	crafted packet to cause a null pointer dereference that will
   5125 	crash ntpd, resulting in a denial of service. 
   5126    Mitigation:
   5127         Implement BCP-38.
   5128 	Use "restrict default noquery ..." in your ntp.conf file. Only
   5129 	    allow mode 6 queries from trusted networks and hosts. 
   5130         Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
   5131 	    or the NTP Public Services Project Download Page
   5132         Properly monitor your ntpd instances, and auto-restart ntpd
   5133 	    (without -g) if it stops running. 
   5134    Credit: This weakness was discovered by Matthew Van Gundy of Cisco.
   5135 
   5136 * Mode 6 information disclosure and DDoS vector
   5137    Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
   5138    References: Sec 3118 / CVE-2016-9310 / VU#633847
   5139    Affects: ntp-4.0.90 (21 July 1999), possibly earlier, up to but not
   5140 	including 4.2.8p9, and ntp-4.3.0 up to but not including ntp-4.3.94.
   5141    CVSS2: MED 6.4 (AV:A/AC:L/Au:N/C:N/I:N/A:P)
   5142    CVSS3: MED 6.5 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
   5143    Summary: 
   5144 	An exploitable configuration modification vulnerability exists
   5145 	in the control mode (mode 6) functionality of ntpd. If, against
   5146 	long-standing BCP recommendations, "restrict default noquery ..."
   5147 	is not specified, a specially crafted control mode packet can set
   5148 	ntpd traps, providing information disclosure and DDoS
   5149 	amplification, and unset ntpd traps, disabling legitimate
   5150 	monitoring. A remote, unauthenticated, network attacker can
   5151 	trigger this vulnerability. 
   5152    Mitigation:
   5153         Implement BCP-38.
   5154 	Use "restrict default noquery ..." in your ntp.conf file.
   5155         Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
   5156 	    or the NTP Public Services Project Download Page
   5157         Properly monitor your ntpd instances, and auto-restart ntpd
   5158 	    (without -g) if it stops running. 
   5159    Credit: This weakness was discovered by Matthew Van Gundy of Cisco.
   5160 
   5161 * Broadcast Mode Replay Prevention DoS
   5162    Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
   5163    References: Sec 3114 / CVE-2016-7427 / VU#633847
   5164    Affects: ntp-4.2.8p6, up to but not including ntp-4.2.8p9, and 
   5165 	ntp-4.3.90 up to, but not including ntp-4.3.94.
   5166    CVSS2: LOW 3.3 (AV:A/AC:L/Au:N/C:N/I:N/A:P)
   5167    CVSS3: MED 4.3 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
   5168    Summary: 
   5169 	The broadcast mode of NTP is expected to only be used in a
   5170 	trusted network. If the broadcast network is accessible to an
   5171 	attacker, a potentially exploitable denial of service
   5172 	vulnerability in ntpd's broadcast mode replay prevention
   5173 	functionality can be abused. An attacker with access to the NTP
   5174 	broadcast domain can periodically inject specially crafted
   5175 	broadcast mode NTP packets into the broadcast domain which,
   5176 	while being logged by ntpd, can cause ntpd to reject broadcast
   5177 	mode packets from legitimate NTP broadcast servers. 
   5178    Mitigation:
   5179         Implement BCP-38.
   5180         Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
   5181 	    or the NTP Public Services Project Download Page
   5182         Properly monitor your ntpd instances, and auto-restart ntpd
   5183 	    (without -g) if it stops running. 
   5184    Credit: This weakness was discovered by Matthew Van Gundy of Cisco.
   5185 
   5186 * Broadcast Mode Poll Interval Enforcement DoS
   5187    Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
   5188    References: Sec 3113 / CVE-2016-7428 / VU#633847
   5189    Affects: ntp-4.2.8p6, up to but not including ntp-4.2.8p9, and
   5190 	ntp-4.3.90 up to, but not including ntp-4.3.94
   5191    CVSS2: LOW 3.3 (AV:A/AC:L/Au:N/C:N/I:N/A:P)
   5192    CVSS3: MED 4.3 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
   5193    Summary: 
   5194 	The broadcast mode of NTP is expected to only be used in a
   5195 	trusted network. If the broadcast network is accessible to an
   5196 	attacker, a potentially exploitable denial of service
   5197 	vulnerability in ntpd's broadcast mode poll interval enforcement
   5198 	functionality can be abused. To limit abuse, ntpd restricts the
   5199 	rate at which each broadcast association will process incoming
   5200 	packets. ntpd will reject broadcast mode packets that arrive
   5201 	before the poll interval specified in the preceding broadcast
   5202 	packet expires. An attacker with access to the NTP broadcast
   5203 	domain can send specially crafted broadcast mode NTP packets to
   5204 	the broadcast domain which, while being logged by ntpd, will
   5205 	cause ntpd to reject broadcast mode packets from legitimate NTP
   5206 	broadcast servers. 
   5207    Mitigation:
   5208         Implement BCP-38.
   5209         Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
   5210 	    or the NTP Public Services Project Download Page
   5211         Properly monitor your ntpd instances, and auto-restart ntpd
   5212 	    (without -g) if it stops running. 
   5213    Credit: This weakness was discovered by Matthew Van Gundy of Cisco.
   5214 
   5215 * Windows: ntpd DoS by oversized UDP packet
   5216    Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
   5217    References: Sec 3110 / CVE-2016-9312 / VU#633847
   5218    Affects Windows only: ntp-4.?.?, up to but not including ntp-4.2.8p9,
   5219 	and ntp-4.3.0 up to, but not including ntp-4.3.94. 
   5220    CVSS2: HIGH 7.8 (AV:N/AC:L/Au:N/C:N/I:N/A:C)
   5221    CVSS3: HIGH 7.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
   5222    Summary: 
   5223 	If a vulnerable instance of ntpd on Windows receives a crafted
   5224 	malicious packet that is "too big", ntpd will stop working. 
   5225    Mitigation:
   5226         Implement BCP-38.
   5227         Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
   5228 	    or the NTP Public Services Project Download Page
   5229         Properly monitor your ntpd instances, and auto-restart ntpd
   5230 	    (without -g) if it stops running. 
   5231    Credit: This weakness was discovered by Robert Pajak of ABB.
   5232 
   5233 * 0rigin (zero origin) issues
   5234    Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
   5235    References: Sec 3102 / CVE-2016-7431 / VU#633847
   5236    Affects: ntp-4.2.8p8, and ntp-4.3.93.
   5237    CVSS2: MED 5.0 (AV:N/AC:L/Au:N/C:N/I:P/A:N)
   5238    CVSS3: MED 5.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
   5239    Summary: 
   5240 	Zero Origin timestamp problems were fixed by Bug 2945 in
   5241 	ntp-4.2.8p6. However, subsequent timestamp validation checks
   5242 	introduced a regression in the handling of some Zero origin
   5243 	timestamp checks.
   5244    Mitigation:
   5245         Implement BCP-38.
   5246         Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
   5247 	    or the NTP Public Services Project Download Page
   5248         Properly monitor your ntpd instances, and auto-restart ntpd
   5249 	    (without -g) if it stops running. 
   5250    Credit: This weakness was discovered by Sharon Goldberg and Aanchal
   5251 	Malhotra of Boston University.
   5252 
   5253 * read_mru_list() does inadequate incoming packet checks
   5254    Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
   5255    References: Sec 3082 / CVE-2016-7434 / VU#633847
   5256    Affects: ntp-4.2.7p22, up to but not including ntp-4.2.8p9, and
   5257 	ntp-4.3.0 up to, but not including ntp-4.3.94.
   5258    CVSS2: LOW 3.8 (AV:L/AC:H/Au:S/C:N/I:N/A:C)
   5259    CVSS3: LOW 3.8 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
   5260    Summary: 
   5261 	If ntpd is configured to allow mrulist query requests from a
   5262 	server that sends a crafted malicious packet, ntpd will crash
   5263 	on receipt of that crafted malicious mrulist query packet.
   5264    Mitigation:
   5265 	Only allow mrulist query packets from trusted hosts.
   5266         Implement BCP-38.
   5267         Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
   5268 	    or the NTP Public Services Project Download Page
   5269         Properly monitor your ntpd instances, and auto-restart ntpd
   5270 	    (without -g) if it stops running. 
   5271    Credit: This weakness was discovered by Magnus Stubman.
   5272 
   5273 * Attack on interface selection
   5274    Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
   5275    References: Sec 3072 / CVE-2016-7429 / VU#633847
   5276    Affects: ntp-4.2.7p385, up to but not including ntp-4.2.8p9, and
   5277 	ntp-4.3.0 up to, but not including ntp-4.3.94
   5278    CVSS2: LOW 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P)
   5279    CVSS3: LOW 1.6 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
   5280    Summary: 
   5281 	When ntpd receives a server response on a socket that corresponds
   5282 	to a different interface than was used for the request, the peer
   5283 	structure is updated to use the interface for new requests. If
   5284 	ntpd is running on a host with multiple interfaces in separate
   5285 	networks and the operating system doesn't check source address in
   5286 	received packets (e.g. rp_filter on Linux is set to 0), an
   5287 	attacker that knows the address of the source can send a packet
   5288 	with spoofed source address which will cause ntpd to select wrong
   5289 	interface for the source and prevent it from sending new requests
   5290 	until the list of interfaces is refreshed, which happens on
   5291 	routing changes or every 5 minutes by default. If the attack is
   5292 	repeated often enough (once per second), ntpd will not be able to
   5293 	synchronize with the source.
   5294    Mitigation:
   5295         Implement BCP-38.
   5296         Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
   5297 	    or the NTP Public Services Project Download Page
   5298 	If you are going to configure your OS to disable source address
   5299 	    checks, also configure your firewall configuration to control
   5300 	    what interfaces can receive packets from what networks.
   5301         Properly monitor your ntpd instances, and auto-restart ntpd
   5302 	    (without -g) if it stops running. 
   5303    Credit: This weakness was discovered by Miroslav Lichvar of Red Hat.
   5304 
   5305 * Client rate limiting and server responses
   5306    Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
   5307    References: Sec 3071 / CVE-2016-7426 / VU#633847
   5308    Affects: ntp-4.2.5p203, up to but not including ntp-4.2.8p9, and
   5309 	ntp-4.3.0 up to, but not including ntp-4.3.94
   5310    CVSS2: LOW 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P)
   5311    CVSS3: LOW 1.6 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
   5312    Summary: 
   5313 	When ntpd is configured with rate limiting for all associations
   5314 	(restrict default limited in ntp.conf), the limits are applied
   5315 	also to responses received from its configured sources. An
   5316 	attacker who knows the sources (e.g., from an IPv4 refid in
   5317 	server response) and knows the system is (mis)configured in this
   5318 	way can periodically send packets with spoofed source address to
   5319 	keep the rate limiting activated and prevent ntpd from accepting
   5320 	valid responses from its sources. 
   5321 
   5322 	While this blanket rate limiting can be useful to prevent
   5323 	brute-force attacks on the origin timestamp, it allows this DoS
   5324 	attack. Similarly, it allows the attacker to prevent mobilization
   5325 	of ephemeral associations.  
   5326    Mitigation:
   5327         Implement BCP-38.
   5328         Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
   5329 	    or the NTP Public Services Project Download Page
   5330         Properly monitor your ntpd instances, and auto-restart ntpd
   5331 	    (without -g) if it stops running. 
   5332    Credit: This weakness was discovered by Miroslav Lichvar of Red Hat.
   5333 
   5334 * Fix for bug 2085 broke initial sync calculations 
   5335    Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
   5336    References: Sec 3067 / CVE-2016-7433 / VU#633847
   5337    Affects: ntp-4.2.7p385, up to but not including ntp-4.2.8p9, and
   5338 	ntp-4.3.0 up to, but not including ntp-4.3.94. But the
   5339 	root-distance calculation in general is incorrect in all versions
   5340 	of ntp-4 until this release. 
   5341    CVSS2: LOW 1.2 (AV:L/AC:H/Au:N/C:N/I:N/A:P)
   5342    CVSS3: LOW 1.6 CVSS:3.0/AV:P/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:L
   5343    Summary: 
   5344 	Bug 2085 described a condition where the root delay was included
   5345 	twice, causing the jitter value to be higher than expected. Due
   5346 	to a misinterpretation of a small-print variable in The Book, the
   5347 	fix for this problem was incorrect, resulting in a root distance
   5348 	that did not include the peer dispersion. The calculations and
   5349 	formulae have been reviewed and reconciled, and the code has been
   5350 	updated accordingly. 
   5351    Mitigation:
   5352         Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
   5353 	    or the NTP Public Services Project Download Page
   5354         Properly monitor your ntpd instances, and auto-restart ntpd
   5355 	    (without -g) if it stops running. 
   5356    Credit: This weakness was discovered independently by Brian Utterback of
   5357 	Oracle, and Sharon Goldberg and Aanchal Malhotra of Boston University. 
   5358 
   5359 Other fixes:
   5360 
   5361 * [Bug 3142] bug in netmask prefix length detection <perlinger (a] ntp.org>
   5362 * [Bug 3138] gpsdjson refclock should honor fudgetime1. stenn (a] ntp.org
   5363 * [Bug 3129] Unknown hosts can put resolver thread into a hard loop
   5364   - moved retry decision where it belongs. <perlinger (a] ntp.org>
   5365 * [Bug 3125] NTPD doesn't fully start when ntp.conf entries are out of order
   5366   using the loopback-ppsapi-provider.dll <perlinger (a] ntp.org>
   5367 * [Bug 3116] unit tests for NTP time stamp expansion. <perlinger (a] ntp.org>
   5368 * [Bug 3100] ntpq can't retrieve daemon_version <perlinger (a] ntp.org>
   5369   - fixed extended sysvar lookup (bug introduced with bug 3008 fix)
   5370 * [Bug 3095] Compatibility with openssl 1.1 <perlinger (a] ntp.org>
   5371   - applied patches by Kurt Roeckx <kurt (a] roeckx.be> to source
   5372   - added shim layer for SSL API calls with issues (both directions)
   5373 * [Bug 3089] Serial Parser does not work anymore for hopfser like device
   5374   - simplified / refactored hex-decoding in driver. <perlinger (a] ntp.org>
   5375 * [Bug 3084] update-leap mis-parses the leapfile name.  HStenn.
   5376 * [Bug 3068] Linker warnings when building on Solaris. perlinger (a] ntp.org
   5377   - applied patch thanks to Andrew Stormont <andyjstormont (a] gmail.com>
   5378 * [Bug 3067] Root distance calculation needs improvement.  HStenn
   5379 * [Bug 3066] NMEA clock ignores pps. perlinger (a] ntp.org
   5380   - PPS-HACK works again.
   5381 * [Bug 3059] Potential buffer overrun from oversized hash <perlinger (a] ntp.org>
   5382   - applied patch by Brian Utterback <brian.utterback (a] oracle.com>
   5383 * [Bug 3053] ntp_loopfilter.c frequency calc precedence error.  Sarah White.
   5384 * [Bug 3050] Fix for bug #2960 causes [...] spurious error message.
   5385   <perlinger (a] ntp.org>
   5386   - patches by Reinhard Max <max (a] suse.com> and Havard Eidnes <he (a] uninett.no>
   5387 * [Bug 3047] Fix refclock_jjy C-DEX JST2000. abe (a] ntp.org
   5388   - Patch provided by Kuramatsu.
   5389 * [Bug 3021] unity_fixture.c needs pragma weak <perlinger (a] ntp.org>
   5390   - removed unnecessary & harmful decls of 'setUp()' & 'tearDown()'
   5391 * [Bug 3019] Windows: ERROR_HOST_UNREACHABLE block packet processing. DMayer
   5392 * [Bug 2998] sntp/tests/packetProcessing.c broken without openssl. JPerlinger
   5393 * [Bug 2961] sntp/tests/packetProcessing.c assumes AUTOKEY.  HStenn.
   5394 * [Bug 2959] refclock_jupiter: gps week correction <perlinger (a] ntp.org>
   5395   - fixed GPS week expansion to work based on build date. Special thanks
   5396     to Craig Leres for initial patch and testing.
   5397 * [Bug 2951] ntpd tests fail: multiple definition of `send_via_ntp_signd'
   5398   - fixed Makefile.am <perlinger (a] ntp.org>
   5399 * [Bug 2689] ATOM driver processes last PPS pulse at startup,
   5400              even if it is very old <perlinger (a] ntp.org>
   5401   - make sure PPS source is alive before processing samples
   5402   - improve stability close to the 500ms phase jump (phase gate)
   5403 * Fix typos in include/ntp.h.
   5404 * Shim X509_get_signature_nid() if needed
   5405 * git author attribution cleanup
   5406 * bk ignore file cleanup
   5407 * remove locks in Windows IO, use rpc-like thread synchronisation instead
   5408 
   5409 ---
   5410 NTP 4.2.8p8 (Harlan Stenn <stenn (a] ntp.org>, 2016/06/02) 
   5411 
   5412 Focus: Security, Bug fixes, enhancements.
   5413 
   5414 Severity: HIGH
   5415 
   5416 In addition to bug fixes and enhancements, this release fixes the
   5417 following 1 high- and 4 low-severity vulnerabilities:
   5418 
   5419 * CRYPTO_NAK crash
   5420    Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
   5421    References: Sec 3046 / CVE-2016-4957 / VU#321640
   5422    Affects: ntp-4.2.8p7, and ntp-4.3.92.
   5423    CVSS2: HIGH 7.8 (AV:N/AC:L/Au:N/C:N/I:N/A:C)
   5424    CVSS3: HIGH 7.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
   5425    Summary: The fix for Sec 3007 in ntp-4.2.8p7 contained a bug that
   5426 	could cause ntpd to crash.
   5427    Mitigation:
   5428         Implement BCP-38.
   5429         Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
   5430 	    or the NTP Public Services Project Download Page
   5431         If you cannot upgrade from 4.2.8p7, the only other alternatives
   5432 	    are to patch your code or filter CRYPTO_NAK packets.
   5433         Properly monitor your ntpd instances, and auto-restart ntpd
   5434 	    (without -g) if it stops running. 
   5435    Credit: This weakness was discovered by Nicolas Edet of Cisco. 
   5436 
   5437 * Bad authentication demobilizes ephemeral associations
   5438    Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
   5439    References: Sec 3045 / CVE-2016-4953 / VU#321640
   5440    Affects: ntp-4, up to but not including ntp-4.2.8p8, and
   5441 	ntp-4.3.0 up to, but not including ntp-4.3.93.
   5442    CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P)
   5443    CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
   5444    Summary: An attacker who knows the origin timestamp and can send a
   5445 	spoofed packet containing a CRYPTO-NAK to an ephemeral peer
   5446 	target before any other response is sent can demobilize that
   5447 	association.
   5448    Mitigation:
   5449 	Implement BCP-38.
   5450 	Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
   5451 	    or the NTP Public Services Project Download Page
   5452 	Properly monitor your ntpd instances. 
   5453 	Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 
   5454 
   5455 * Processing spoofed server packets
   5456    Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
   5457    References: Sec 3044 / CVE-2016-4954 / VU#321640
   5458    Affects: ntp-4, up to but not including ntp-4.2.8p8, and
   5459 	ntp-4.3.0 up to, but not including ntp-4.3.93.
   5460    CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P)
   5461    CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
   5462    Summary: An attacker who is able to spoof packets with correct origin
   5463 	timestamps from enough servers before the expected response
   5464 	packets arrive at the target machine can affect some peer
   5465 	variables and, for example, cause a false leap indication to be set.
   5466    Mitigation:
   5467 	Implement BCP-38.
   5468 	Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
   5469 	    or the NTP Public Services Project Download Page
   5470 	Properly monitor your ntpd instances. 
   5471    Credit: This weakness was discovered by Jakub Prokes of Red Hat. 
   5472 
   5473 * Autokey association reset
   5474    Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
   5475    References: Sec 3043 / CVE-2016-4955 / VU#321640
   5476    Affects: ntp-4, up to but not including ntp-4.2.8p8, and
   5477 	ntp-4.3.0 up to, but not including ntp-4.3.93.
   5478    CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P)
   5479    CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
   5480    Summary: An attacker who is able to spoof a packet with a correct
   5481 	origin timestamp before the expected response packet arrives at
   5482 	the target machine can send a CRYPTO_NAK or a bad MAC and cause
   5483 	the association's peer variables to be cleared. If this can be
   5484 	done often enough, it will prevent that association from working.
   5485    Mitigation:
   5486 	Implement BCP-38.
   5487 	Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
   5488 	    or the NTP Public Services Project Download Page
   5489 	Properly monitor your ntpd instances. 
   5490    Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 
   5491  
   5492 * Broadcast interleave
   5493    Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
   5494    References: Sec 3042 / CVE-2016-4956 / VU#321640
   5495    Affects: ntp-4, up to but not including ntp-4.2.8p8, and
   5496    	ntp-4.3.0 up to, but not including ntp-4.3.93.
   5497    CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P)
   5498    CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
   5499    Summary: The fix for NtpBug2978 does not cover broadcast associations,
   5500    	so broadcast clients can be triggered to flip into interleave mode.
   5501    Mitigation:
   5502 	Implement BCP-38.
   5503 	Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
   5504 	    or the NTP Public Services Project Download Page
   5505 	Properly monitor your ntpd instances. 
   5506    Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 
   5507 
   5508 Other fixes:
   5509 * [Bug 3038] NTP fails to build in VS2015. perlinger (a] ntp.org
   5510   - provide build environment
   5511   - 'wint_t' and 'struct timespec' defined by VS2015
   5512   - fixed print()/scanf() format issues
   5513 * [Bug 3052] Add a .gitignore file.  Edmund Wong.
   5514 * [Bug 3054] miscopt.html documents the allan intercept in seconds. SWhite.
   5515 * [Bug 3058] fetch_timestamp() mishandles 64-bit alignment. Brian Utterback,
   5516   JPerlinger, HStenn.
   5517 * Fix typo in ntp-wait and plot_summary.  HStenn.
   5518 * Make sure we have an "author" file for git imports.  HStenn.
   5519 * Update the sntp problem tests for MacOS.  HStenn.
   5520 
   5521 ---
   5522 NTP 4.2.8p7 (Harlan Stenn <stenn (a] ntp.org>, 2016/04/26) 
   5523 
   5524 Focus: Security, Bug fixes, enhancements.
   5525 
   5526 Severity: MEDIUM
   5527 
   5528 When building NTP from source, there is a new configure option
   5529 available, --enable-dynamic-interleave.  More information on this below.
   5530 
   5531 Also note that ntp-4.2.8p7 logs more "unexpected events" than previous
   5532 versions of ntp.  These events have almost certainly happened in the
   5533 past, it's just that they were silently counted and not logged.  With
   5534 the increasing awareness around security, we feel it's better to clearly
   5535 log these events to help detect abusive behavior.  This increased
   5536 logging can also help detect other problems, too.
   5537 
   5538 In addition to bug fixes and enhancements, this release fixes the
   5539 following 9 low- and medium-severity vulnerabilities:
   5540 
   5541 * Improve NTP security against buffer comparison timing attacks,
   5542   AKA: authdecrypt-timing
   5543    Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
   5544    References: Sec 2879 / CVE-2016-1550
   5545    Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
   5546 	4.3.0 up to, but not including 4.3.92
   5547    CVSSv2: LOW 2.6 - (AV:L/AC:H/Au:N/C:P/I:P/A:N)
   5548    CVSSv3: MED 4.0 - CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
   5549    Summary: Packet authentication tests have been performed using
   5550 	memcmp() or possibly bcmp(), and it is potentially possible
   5551 	for a local or perhaps LAN-based attacker to send a packet with
   5552 	an authentication payload and indirectly observe how much of
   5553 	the digest has matched.
   5554    Mitigation:
   5555 	Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
   5556 	    or the NTP Public Services Project Download Page.
   5557 	Properly monitor your ntpd instances.
   5558    Credit: This weakness was discovered independently by Loganaden
   5559    	Velvindron, and Matthew Van Gundy and Stephen Gray of Cisco ASIG.
   5560 
   5561 * Zero origin timestamp bypass: Additional KoD checks.
   5562    References: Sec 2945 / Sec 2901 / CVE-2015-8138
   5563    Affects: All ntp-4 releases up to, but not including 4.2.8p7,
   5564    Summary: Improvements to the fixes incorporated in t 4.2.8p6 and 4.3.92.
   5565 
   5566 * peer associations were broken by the fix for NtpBug2899
   5567    Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
   5568    References: Sec 2952 / CVE-2015-7704
   5569    Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
   5570    	4.3.0 up to, but not including 4.3.92
   5571    CVSSv2: MED 4.3 - (AV:N/AC:M/Au:N/C:N/I:N/A:P)
   5572    Summary: The fix for NtpBug2952 in ntp-4.2.8p5 to address broken peer
   5573    	associations did not address all of the issues.
   5574    Mitigation:
   5575         Implement BCP-38.
   5576         Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
   5577 	    or the NTP Public Services Project Download Page
   5578         If you can't upgrade, use "server" associations instead of
   5579 	    "peer" associations.
   5580         Monitor your ntpd instances. 
   5581    Credit: This problem was discovered by Michael Tatarinov.
   5582 
   5583 * Validate crypto-NAKs, AKA: CRYPTO-NAK DoS
   5584    Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
   5585    References: Sec 3007 / CVE-2016-1547 / VU#718152
   5586    Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
   5587 	4.3.0 up to, but not including 4.3.92
   5588    CVSS2: MED 4.3 - (AV:N/AC:M/Au:N/C:N/I:N/A:P)
   5589    CVSS3: MED 3.7 - CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
   5590    Summary: For ntp-4 versions up to but not including ntp-4.2.8p7, an
   5591 	off-path attacker can cause a preemptable client association to
   5592 	be demobilized by sending a crypto NAK packet to a victim client
   5593 	with a spoofed source address of an existing associated peer.
   5594 	This is true even if authentication is enabled.
   5595 
   5596 	Furthermore, if the attacker keeps sending crypto NAK packets,
   5597 	for example one every second, the victim never has a chance to
   5598 	reestablish the association and synchronize time with that
   5599 	legitimate server.
   5600 
   5601 	For ntp-4.2.8 thru ntp-4.2.8p6 there is less risk because more
   5602 	stringent checks are performed on incoming packets, but there
   5603 	are still ways to exploit this vulnerability in versions before
   5604 	ntp-4.2.8p7.
   5605    Mitigation:
   5606 	Implement BCP-38.
   5607 	Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
   5608 	    or the NTP Public Services Project Download Page
   5609 	Properly monitor your ntpd instances
   5610    Credit: This weakness was discovered by Stephen Gray and
   5611    	Matthew Van Gundy of Cisco ASIG.
   5612 
   5613 * ctl_getitem() return value not always checked
   5614    Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
   5615    References: Sec 3008 / CVE-2016-2519
   5616    Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
   5617 	4.3.0 up to, but not including 4.3.92
   5618    CVSSv2: MED 4.9 - (AV:N/AC:H/Au:S/C:N/I:N/A:C)
   5619    CVSSv3: MED 4.2 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
   5620    Summary: ntpq and ntpdc can be used to store and retrieve information
   5621    	in ntpd. It is possible to store a data value that is larger
   5622 	than the size of the buffer that the ctl_getitem() function of
   5623 	ntpd uses to report the return value. If the length of the
   5624 	requested data value returned by ctl_getitem() is too large,
   5625 	the value NULL is returned instead. There are 2 cases where the
   5626 	return value from ctl_getitem() was not directly checked to make
   5627 	sure it's not NULL, but there are subsequent INSIST() checks
   5628 	that make sure the return value is not NULL. There are no data
   5629 	values ordinarily stored in ntpd that would exceed this buffer
   5630 	length. But if one has permission to store values and one stores
   5631 	a value that is "too large", then ntpd will abort if an attempt
   5632 	is made to read that oversized value.
   5633     Mitigation:
   5634         Implement BCP-38.
   5635         Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
   5636 	    or the NTP Public Services Project Download Page
   5637         Properly monitor your ntpd instances.
   5638     Credit: This weakness was discovered by Yihan Lian of the Cloud
   5639     	Security Team, Qihoo 360. 
   5640 
   5641 * Crafted addpeer with hmode > 7 causes array wraparound with MATCH_ASSOC 
   5642    Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
   5643    References: Sec 3009 / CVE-2016-2518 / VU#718152
   5644    Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
   5645 	4.3.0 up to, but not including 4.3.92
   5646    CVSS2: LOW 2.1 - (AV:N/AC:H/Au:S/C:N/I:N/A:P)
   5647    CVSS3: LOW 2.0 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
   5648    Summary: Using a crafted packet to create a peer association with
   5649    	hmode > 7 causes the MATCH_ASSOC() lookup to make an
   5650 	out-of-bounds reference.
   5651    Mitigation:
   5652 	Implement BCP-38.
   5653 	Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
   5654 	    or the NTP Public Services Project Download Page
   5655 	Properly monitor your ntpd instances
   5656    Credit: This weakness was discovered by Yihan Lian of the Cloud
   5657    	Security Team, Qihoo 360.
   5658 
   5659 * remote configuration trustedkey/requestkey/controlkey values are not
   5660 	properly validated
   5661    Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
   5662    References: Sec 3010 / CVE-2016-2517 / VU#718152
   5663    Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
   5664 	4.3.0 up to, but not including 4.3.92
   5665    CVSS2: MED 4.9 - (AV:N/AC:H/Au:S/C:N/I:N/A:C)
   5666    CVSS3: MED 4.2 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
   5667    Summary: If ntpd was expressly configured to allow for remote
   5668    	configuration, a malicious user who knows the controlkey for
   5669 	ntpq or the requestkey for ntpdc (if mode7 is expressly enabled)
   5670 	can create a session with ntpd and then send a crafted packet to
   5671 	ntpd that will change the value of the trustedkey, controlkey,
   5672 	or requestkey to a value that will prevent any subsequent
   5673 	authentication with ntpd until ntpd is restarted.
   5674    Mitigation:
   5675 	Implement BCP-38.
   5676 	Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
   5677 	    or the NTP Public Services Project Download Page
   5678 	Properly monitor your ntpd instances
   5679    Credit: This weakness was discovered by Yihan Lian of the Cloud
   5680    	Security Team, Qihoo 360.
   5681 
   5682 * Duplicate IPs on unconfig directives will cause an assertion botch in ntpd
   5683    Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
   5684    References: Sec 3011 / CVE-2016-2516 / VU#718152
   5685    Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
   5686    	4.3.0 up to, but not including 4.3.92
   5687    CVSS2: MED 6.3 - (AV:N/AC:M/Au:S/C:N/I:N/A:C)
   5688    CVSS3: MED 4.2 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
   5689    Summary: If ntpd was expressly configured to allow for remote
   5690    	configuration, a malicious user who knows the controlkey for
   5691 	ntpq or the requestkey for ntpdc (if mode7 is expressly enabled)
   5692 	can create a session with ntpd and if an existing association is
   5693 	unconfigured using the same IP twice on the unconfig directive
   5694 	line, ntpd will abort.
   5695    Mitigation:
   5696 	Implement BCP-38.
   5697 	Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
   5698 	    or the NTP Public Services Project Download Page
   5699 	Properly monitor your ntpd instances
   5700    Credit: This weakness was discovered by Yihan Lian of the Cloud
   5701    	Security Team, Qihoo 360.
   5702 
   5703 * Refclock impersonation vulnerability
   5704    Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
   5705    References: Sec 3020 / CVE-2016-1551
   5706    Affects: On a very limited number of OSes, all NTP releases up to but
   5707 	not including 4.2.8p7, and 4.3.0 up to but not including 4.3.92.
   5708 	By "very limited number of OSes" we mean no general-purpose OSes
   5709 	have yet been identified that have this vulnerability.
   5710    CVSSv2: LOW 2.6 - (AV:N/AC:H/Au:N/C:N/I:P/A:N)
   5711    CVSSv3: LOW 3.7 - CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
   5712    Summary: While most OSes implement martian packet filtering in their
   5713    	network stack, at least regarding 127.0.0.0/8, some will allow
   5714 	packets claiming to be from 127.0.0.0/8 that arrive over a
   5715 	physical network. On these OSes, if ntpd is configured to use a
   5716 	reference clock an attacker can inject packets over the network
   5717 	that look like they are coming from that reference clock.
   5718    Mitigation:
   5719         Implement martian packet filtering and BCP-38.
   5720         Configure ntpd to use an adequate number of time sources.
   5721         Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
   5722 	    or the NTP Public Services Project Download Page
   5723         If you are unable to upgrade and if you are running an OS that
   5724 	    has this vulnerability, implement martian packet filters and
   5725 	    lobby your OS vendor to fix this problem, or run your
   5726 	    refclocks on computers that use OSes that are not vulnerable
   5727 	    to these attacks and have your vulnerable machines get their
   5728 	    time from protected resources.
   5729         Properly monitor your ntpd instances.
   5730    Credit: This weakness was discovered by Matt Street and others of
   5731    	Cisco ASIG. 
   5732 
   5733 The following issues were fixed in earlier releases and contain
   5734 improvements in 4.2.8p7:
   5735 
   5736 * Clients that receive a KoD should validate the origin timestamp field.
   5737    References: Sec 2901 / CVE-2015-7704, CVE-2015-7705
   5738    Affects: All ntp-4 releases up to, but not including 4.2.8p7,
   5739    Summary: Improvements to the fixes incorporated into 4.2.8p4 and 4.3.77.
   5740 
   5741 * Skeleton key: passive server with trusted key can serve time.
   5742    References: Sec 2936 / CVE-2015-7974
   5743    Affects: All ntp-4 releases up to, but not including 4.2.8p7,
   5744    Summary: Improvements to the fixes incorporated in t 4.2.8p6 and 4.3.90.
   5745 
   5746 Two other vulnerabilities have been reported, and the mitigations
   5747 for these are as follows:
   5748 
   5749 * Interleave-pivot
   5750    Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
   5751    References: Sec 2978 / CVE-2016-1548
   5752    Affects: All ntp-4 releases.
   5753    CVSSv2: MED 6.4 - (AV:N/AC:L/Au:N/C:N/I:P/A:P)
   5754    CVSSv3: MED 7.2 - CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:L
   5755    Summary: It is possible to change the time of an ntpd client or deny
   5756    	service to an ntpd client by forcing it to change from basic
   5757 	client/server mode to interleaved symmetric mode. An attacker
   5758 	can spoof a packet from a legitimate ntpd server with an origin
   5759 	timestamp that matches the peer->dst timestamp recorded for that
   5760 	server. After making this switch, the client will reject all
   5761 	future legitimate server responses. It is possible to force the
   5762 	victim client to move time after the mode has been changed.
   5763 	ntpq gives no indication that the mode has been switched.
   5764    Mitigation:
   5765         Implement BCP-38.
   5766         Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
   5767 	    or the NTP Public Services Project Download Page.  These
   5768 	    versions will not dynamically "flip" into interleave mode
   5769 	    unless configured to do so.
   5770         Properly monitor your ntpd instances.
   5771    Credit: This weakness was discovered by Miroslav Lichvar of RedHat
   5772    	and separately by Jonathan Gardner of Cisco ASIG.
   5773 
   5774 * Sybil vulnerability: ephemeral association attack
   5775    Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
   5776    References: Sec 3012 / CVE-2016-1549
   5777    Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
   5778    	4.3.0 up to, but not including 4.3.92
   5779    CVSSv2: LOW 3.5 - (AV:N/AC:M/Au:S/C:N/I:P/A:N)
   5780    CVSS3v: MED 5.3 - CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N
   5781    Summary: ntpd can be vulnerable to Sybil attacks. If one is not using
   5782    	the feature introduced in ntp-4.2.8p6 allowing an optional 4th
   5783 	field in the ntp.keys file to specify which IPs can serve time,
   5784 	a malicious authenticated peer can create arbitrarily-many
   5785 	ephemeral associations in order to win the clock selection of
   5786 	ntpd and modify a victim's clock.
   5787    Mitigation:
   5788         Implement BCP-38.
   5789         Use the 4th field in the ntp.keys file to specify which IPs
   5790 	    can be time servers.
   5791         Properly monitor your ntpd instances.
   5792    Credit: This weakness was discovered by Matthew Van Gundy of Cisco ASIG. 
   5793 
   5794 Other fixes:
   5795 
   5796 * [Bug 2831]  Segmentation Fault in DNS lookup during startup. perlinger (a] ntp.org
   5797   - fixed yet another race condition in the threaded resolver code.
   5798 * [Bug 2858] bool support.  Use stdbool.h when available.  HStenn.
   5799 * [Bug 2879] Improve NTP security against timing attacks. perlinger (a] ntp.org
   5800   - integrated patches by Loganaden Velvidron <logan (a] ntp.org>
   5801     with some modifications & unit tests
   5802 * [Bug 2960] async name resolution fixes for chroot() environments.
   5803   Reinhard Max.
   5804 * [Bug 2994] Systems with HAVE_SIGNALED_IO fail to compile. perlinger (a] ntp.org
   5805 * [Bug 2995] Fixes to compile on Windows
   5806 * [Bug 2999] out-of-bounds access in 'is_safe_filename()'. perlinger (a] ntp.org
   5807 * [Bug 3013] Fix for ssl_init.c SHA1 test. perlinger (a] ntp.org
   5808   - Patch provided by Ch. Weisgerber
   5809 * [Bug 3015] ntpq: config-from-file: "request contains an unprintable character"
   5810   - A change related to [Bug 2853] forbids trailing white space in
   5811     remote config commands. perlinger (a] ntp.org
   5812 * [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE
   5813   - report and patch from Aleksandr Kostikov.
   5814   - Overhaul of Windows IO completion port handling. perlinger (a] ntp.org
   5815 * [Bug 3022] authkeys.c should be refactored. perlinger (a] ntp.org
   5816   - fixed memory leak in access list (auth[read]keys.c)
   5817   - refactored handling of key access lists (auth[read]keys.c)
   5818   - reduced number of error branches (authreadkeys.c)
   5819 * [Bug 3023] ntpdate cannot correct dates in the future. perlinger (a] ntp.org
   5820 * [Bug 3030] ntpq needs a general way to specify refid output format.  HStenn.
   5821 * [Bug 3031] ntp broadcastclient unable to synchronize to an server
   5822              when the time of server changed. perlinger (a] ntp.org
   5823   - Check the initial delay calculation and reject/unpeer the broadcast
   5824     server if the delay exceeds 50ms. Retry again after the next
   5825     broadcast packet.
   5826 * [Bug 3036] autokey trips an INSIST in authistrustedip().  Harlan Stenn.
   5827 * Document ntp.key's optional IP list in authenetic.html.  Harlan Stenn.
   5828 * Update html/xleave.html documentation.  Harlan Stenn.
   5829 * Update ntp.conf documentation.  Harlan Stenn.
   5830 * Fix some Credit: attributions in the NEWS file.  Harlan Stenn.
   5831 * Fix typo in html/monopt.html.  Harlan Stenn.
   5832 * Add README.pullrequests.  Harlan Stenn.
   5833 * Cleanup to include/ntp.h.  Harlan Stenn.
   5834 
   5835 New option to 'configure':
   5836 
   5837 While looking in to the issues around Bug 2978, the "interleave pivot"
   5838 issue, it became clear that there are some intricate and unresolved
   5839 issues with interleave operations.  We also realized that the interleave
   5840 protocol was never added to the NTPv4 Standard, and it should have been.
   5841 
   5842 Interleave mode was first released in July of 2008, and can be engaged
   5843 in two ways.  Any 'peer' and 'broadcast' lines in the ntp.conf file may
   5844 contain the 'xleave' option, which will expressly enable interlave mode
   5845 for that association.  Additionally, if a time packet arrives and is
   5846 found inconsistent with normal protocol behavior but has certain
   5847 characteristics that are compatible with interleave mode, NTP will
   5848 dynamically switch to interleave mode.  With sufficient knowledge, an
   5849 attacker can send a crafted forged packet to an NTP instance that
   5850 triggers only one side to enter interleaved mode.
   5851 
   5852 To prevent this attack until we can thoroughly document, describe,
   5853 fix, and test the dynamic interleave mode, we've added a new
   5854 'configure' option to the build process:
   5855 
   5856  --enable-dynamic-interleave
   5857 
   5858 This option controls whether or not NTP will, if conditions are right,
   5859 engage dynamic interleave mode.  Dynamic interleave mode is disabled by
   5860 default in ntp-4.2.8p7.
   5861 
   5862 ---
   5863 NTP 4.2.8p6 (Harlan Stenn <stenn (a] ntp.org>, 2016/01/20) 
   5864 
   5865 Focus: Security, Bug fixes, enhancements.
   5866 
   5867 Severity: MEDIUM
   5868 
   5869 In addition to bug fixes and enhancements, this release fixes the
   5870 following 1 low- and 8 medium-severity vulnerabilities:
   5871 
   5872 * Potential Infinite Loop in 'ntpq'
   5873    Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
   5874    References: Sec 2548 / CVE-2015-8158
   5875    Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
   5876 	4.3.0 up to, but not including 4.3.90
   5877    CVSS2: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3 - MEDIUM
   5878    CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N Base Score: 5.3 - MEDIUM
   5879    Summary: 'ntpq' processes incoming packets in a loop in 'getresponse()'.
   5880 	The loop's only stopping conditions are receiving a complete and
   5881 	correct response or hitting a small number of error conditions.
   5882 	If the packet contains incorrect values that don't trigger one of
   5883 	the error conditions, the loop continues to receive new packets.
   5884 	Note well, this is an attack against an instance of 'ntpq', not
   5885 	'ntpd', and this attack requires the attacker to do one of the
   5886 	following:
   5887 	* Own a malicious NTP server that the client trusts
   5888 	* Prevent a legitimate NTP server from sending packets to
   5889 	    the 'ntpq' client
   5890 	* MITM the 'ntpq' communications between the 'ntpq' client
   5891 	    and the NTP server
   5892    Mitigation:
   5893 	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
   5894 	or the NTP Public Services Project Download Page
   5895    Credit: This weakness was discovered by Jonathan Gardner of Cisco ASIG.
   5896 
   5897 * 0rigin: Zero Origin Timestamp Bypass
   5898    Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
   5899    References: Sec 2945 / CVE-2015-8138
   5900    Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
   5901 	4.3.0 up to, but not including 4.3.90
   5902    CVSS2: (AV:N/AC:L/Au:N/C:N/I:P/A:N) Base Score: 5.0 - MEDIUM
   5903    CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N Base Score: 5.3 - MEDIUM
   5904 	(3.7 - LOW if you score AC:L)
   5905    Summary: To distinguish legitimate peer responses from forgeries, a
   5906 	client attempts to verify a response packet by ensuring that the
   5907 	origin timestamp in the packet matches the origin timestamp it
   5908 	transmitted in its last request.  A logic error exists that
   5909 	allows packets with an origin timestamp of zero to bypass this
   5910 	check whenever there is not an outstanding request to the server.
   5911    Mitigation:
   5912 	Configure 'ntpd' to get time from multiple sources.
   5913 	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
   5914 	    or the NTP Public Services Project Download Page.
   5915 	Monitor your 'ntpd' instances.
   5916    Credit: This weakness was discovered by Matthey Van Gundy and
   5917 	Jonathan Gardner of Cisco ASIG.
   5918 
   5919 * Stack exhaustion in recursive traversal of restriction list
   5920    Date Resolved: Stable (4.2.8p6) 19 Jan 2016
   5921    References: Sec 2940 / CVE-2015-7978
   5922    Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
   5923 	4.3.0 up to, but not including 4.3.90
   5924    CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3 - MEDIUM
   5925    Summary: An unauthenticated 'ntpdc reslist' command can cause a
   5926    	segmentation fault in ntpd by exhausting the call stack.
   5927    Mitigation:
   5928 	Implement BCP-38.
   5929 	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
   5930 	    or the NTP Public Services Project Download Page.
   5931 	If you are unable to upgrade:
   5932             In ntp-4.2.8, mode 7 is disabled by default. Don't enable it.
   5933 	    If you must enable mode 7:
   5934 		configure the use of a 'requestkey' to control who can
   5935 		    issue mode 7 requests.
   5936 		configure 'restrict noquery' to further limit mode 7
   5937 		    requests to trusted sources.
   5938 		Monitor your ntpd instances.
   5939    Credit: This weakness was discovered by Stephen Gray at Cisco ASIG.
   5940 
   5941 * Off-path Denial of Service (!DoS) attack on authenticated broadcast mode
   5942    Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
   5943    References: Sec 2942 / CVE-2015-7979
   5944    Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
   5945 	4.3.0 up to, but not including 4.3.90
   5946    CVSS: (AV:N/AC:M/Au:N/C:N/I:P/A:P) Base Score: 5.8
   5947    Summary: An off-path attacker can send broadcast packets with bad
   5948 	authentication (wrong key, mismatched key, incorrect MAC, etc)
   5949 	to broadcast clients. It is observed that the broadcast client
   5950 	tears down the association with the broadcast server upon
   5951 	receiving just one bad packet.
   5952    Mitigation:
   5953 	Implement BCP-38.
   5954 	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
   5955 	or the NTP Public Services Project Download Page.
   5956 	Monitor your 'ntpd' instances.
   5957 	If this sort of attack is an active problem for you, you have
   5958 	    deeper problems to investigate.  In this case also consider
   5959 	    having smaller NTP broadcast domains.
   5960    Credit: This weakness was discovered by Aanchal Malhotra of Boston
   5961    	University.
   5962 
   5963 * reslist NULL pointer dereference
   5964    Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
   5965    References: Sec 2939 / CVE-2015-7977
   5966    Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
   5967 	4.3.0 up to, but not including 4.3.90
   5968    CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3 - MEDIUM
   5969    Summary: An unauthenticated 'ntpdc reslist' command can cause a
   5970 	segmentation fault in ntpd by causing a NULL pointer dereference.
   5971    Mitigation:
   5972 	Implement BCP-38.
   5973 	Upgrade to 4.2.8p6, or later, from NTP Project Download Page or
   5974 	the NTP Public Services Project Download Page.
   5975 	If you are unable to upgrade:
   5976 	    mode 7 is disabled by default.  Don't enable it.
   5977 	    If you must enable mode 7:
   5978 		configure the use of a 'requestkey' to control who can
   5979 		    issue mode 7 requests.
   5980 		configure 'restrict noquery' to further limit mode 7
   5981 		    requests to trusted sources. 
   5982 	Monitor your ntpd instances.
   5983    Credit: This weakness was discovered by Stephen Gray of Cisco ASIG.
   5984 
   5985 * 'ntpq saveconfig' command allows dangerous characters in filenames.
   5986    Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
   5987    References: Sec 2938 / CVE-2015-7976
   5988    Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
   5989 	4.3.0 up to, but not including 4.3.90
   5990    CVSS: (AV:N/AC:L/Au:S/C:N/I:P/A:N) Base Score: 4.0 - MEDIUM
   5991    Summary: The ntpq saveconfig command does not do adequate filtering
   5992    	of special characters from the supplied filename.
   5993 	Note well: The ability to use the saveconfig command is controlled
   5994 	by the 'restrict nomodify' directive, and the recommended default
   5995 	configuration is to disable this capability.  If the ability to
   5996 	execute a 'saveconfig' is required, it can easily (and should) be
   5997 	limited and restricted to a known small number of IP addresses.
   5998    Mitigation:
   5999 	Implement BCP-38.
   6000 	use 'restrict default nomodify' in your 'ntp.conf' file.
   6001 	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page.
   6002 	If you are unable to upgrade:
   6003 	    build NTP with 'configure --disable-saveconfig' if you will
   6004 	    	never need this capability, or
   6005 	    use 'restrict default nomodify' in your 'ntp.conf' file.  Be
   6006 		careful about what IPs have the ability to send 'modify'
   6007 		requests to 'ntpd'.
   6008 	Monitor your ntpd instances.
   6009 	'saveconfig' requests are logged to syslog - monitor your syslog files.
   6010    Credit: This weakness was discovered by Jonathan Gardner of Cisco ASIG.
   6011 
   6012 * nextvar() missing length check in ntpq
   6013    Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
   6014    References: Sec 2937 / CVE-2015-7975
   6015    Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
   6016 	4.3.0 up to, but not including 4.3.90
   6017    CVSS: (AV:L/AC:H/Au:N/C:N/I:N/A:P) Base Score: 1.2 - LOW
   6018 	If you score A:C, this becomes 4.0.
   6019    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
   6020    Summary: ntpq may call nextvar() which executes a memcpy() into the
   6021 	name buffer without a proper length check against its maximum
   6022 	length of 256 bytes. Note well that we're taking about ntpq here.
   6023 	The usual worst-case effect of this vulnerability is that the
   6024 	specific instance of ntpq will crash and the person or process
   6025 	that did this will have stopped themselves.
   6026    Mitigation:
   6027 	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
   6028 	    or the NTP Public Services Project Download Page.
   6029 	If you are unable to upgrade:
   6030 	    If you have scripts that feed input to ntpq make sure there are
   6031 		some sanity checks on the input received from the "outside".
   6032 	    This is potentially more dangerous if ntpq is run as root. 
   6033    Credit: This weakness was discovered by Jonathan Gardner at Cisco ASIG.
   6034 
   6035 * Skeleton Key: Any trusted key system can serve time
   6036    Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
   6037    References: Sec 2936 / CVE-2015-7974
   6038    Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
   6039 	4.3.0 up to, but not including 4.3.90
   6040    CVSS: (AV:N/AC:H/Au:S/C:N/I:C/A:N) Base Score: 4.9
   6041    Summary: Symmetric key encryption uses a shared trusted key. The
   6042 	reported title for this issue was "Missing key check allows
   6043 	impersonation between authenticated peers" and the report claimed
   6044 	"A key specified only for one server should only work to
   6045 	authenticate that server, other trusted keys should be refused."
   6046 	Except there has never been any correlation between this trusted
   6047 	key and server v. clients machines and there has never been any
   6048 	way to specify a key only for one server. We have treated this as
   6049 	an enhancement request, and ntp-4.2.8p6 includes other checks and
   6050 	tests to strengthen clients against attacks coming from broadcast
   6051 	servers.
   6052    Mitigation:
   6053 	Implement BCP-38.
   6054 	If this scenario represents a real or a potential issue for you,
   6055 	    upgrade to 4.2.8p6, or later, from the NTP Project Download
   6056 	    Page or the NTP Public Services Project Download Page, and
   6057 	    use the new field in the ntp.keys file that specifies the list
   6058 	    of IPs that are allowed to serve time. Note that this alone
   6059 	    will not protect against time packets with forged source IP
   6060 	    addresses, however other changes in ntp-4.2.8p6 provide
   6061 	    significant mitigation against broadcast attacks. MITM attacks
   6062 	    are a different story.
   6063 	If you are unable to upgrade:
   6064 	    Don't use broadcast mode if you cannot monitor your client
   6065 	    	servers.
   6066 	    If you choose to use symmetric keys to authenticate time
   6067 	    	packets in a hostile environment where ephemeral time
   6068 		servers can be created, or if it is expected that malicious
   6069 		time servers will participate in an NTP broadcast domain,
   6070 		limit the number of participating systems that participate
   6071 		in the shared-key group. 
   6072 	Monitor your ntpd instances. 
   6073    Credit: This weakness was discovered by Matt Street of Cisco ASIG. 
   6074 
   6075 * Deja Vu: Replay attack on authenticated broadcast mode
   6076    Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
   6077    References: Sec 2935 / CVE-2015-7973
   6078    Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
   6079    	4.3.0 up to, but not including 4.3.90
   6080    CVSS: (AV:A/AC:M/Au:N/C:N/I:P/A:P) Base Score: 4.3 - MEDIUM
   6081    Summary: If an NTP network is configured for broadcast operations then
   6082    	either a man-in-the-middle attacker or a malicious participant
   6083 	that has the same trusted keys as the victim can replay time packets.
   6084    Mitigation:
   6085 	Implement BCP-38.
   6086 	Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
   6087 	    or the NTP Public Services Project Download Page.
   6088 	If you are unable to upgrade:
   6089 	    Don't use broadcast mode if you cannot monitor your client servers.
   6090 	Monitor your ntpd instances.
   6091    Credit: This weakness was discovered by Aanchal Malhotra of Boston
   6092 	University.
   6093 
   6094 Other fixes:
   6095 
   6096 * [Bug 2772] adj_systime overflows tv_usec. perlinger (a] ntp.org
   6097 * [Bug 2814] msyslog deadlock when signaled. perlinger (a] ntp.org
   6098   - applied patch by shenpeng11 (a] huawei.com with minor adjustments
   6099 * [Bug 2882] Look at ntp_request.c:list_peers_sum(). perlinger (a] ntp.org
   6100 * [Bug 2891] Deadlock in deferred DNS lookup framework. perlinger (a] ntp.org
   6101 * [Bug 2892] Several test cases assume IPv6 capabilities even when
   6102              IPv6 is disabled in the build. perlinger (a] ntp.org
   6103   - Found this already fixed, but validation led to cleanup actions.
   6104 * [Bug 2905] DNS lookups broken. perlinger (a] ntp.org
   6105   - added limits to stack consumption, fixed some return code handling
   6106 * [Bug 2971] ntpq bails on ^C: select fails: Interrupted system call
   6107   - changed stacked/nested handling of CTRL-C. perlinger (a] ntp.org
   6108   - make CTRL-C work for retrieval and printing od MRU list. perlinger (a] ntp.org
   6109 * [Bug 2980] reduce number of warnings. perlinger (a] ntp.org
   6110   - integrated several patches from Havard Eidnes (he (a] uninett.no)
   6111 * [Bug 2985] bogus calculation in authkeys.c perlinger (a] ntp.org
   6112   - implement 'auth_log2()' using integer bithack instead of float calculation
   6113 * Make leapsec_query debug messages less verbose.  Harlan Stenn.
   6114 
   6115 ---
   6116 NTP 4.2.8p5 (Harlan Stenn <stenn (a] ntp.org>, 2016/01/07) 
   6117 
   6118 Focus: Security, Bug fixes, enhancements.
   6119 
   6120 Severity: MEDIUM
   6121 
   6122 In addition to bug fixes and enhancements, this release fixes the
   6123 following medium-severity vulnerability:
   6124 
   6125 * Small-step/big-step.  Close the panic gate earlier.
   6126     References: Sec 2956, CVE-2015-5300
   6127     Affects: All ntp-4 releases up to, but not including 4.2.8p5, and
   6128 	4.3.0 up to, but not including 4.3.78
   6129     CVSS3: (AV:N/AC:H/PR:H/UI:R/S:C/C:L/I:N/A:L) Base Score: 4.0, MEDIUM
   6130     Summary: If ntpd is always started with the -g option, which is
   6131 	common and against long-standing recommendation, and if at the
   6132 	moment ntpd is restarted an attacker can immediately respond to
   6133 	enough requests from enough sources trusted by the target, which
   6134 	is difficult and not common, there is a window of opportunity
   6135 	where the attacker can cause ntpd to set the time to an
   6136 	arbitrary value. Similarly, if an attacker is able to respond
   6137 	to enough requests from enough sources trusted by the target,
   6138 	the attacker can cause ntpd to abort and restart, at which
   6139 	point it can tell the target to set the time to an arbitrary
   6140 	value if and only if ntpd was re-started against long-standing
   6141 	recommendation with the -g flag, or if ntpd was not given the
   6142 	-g flag, the attacker can move the target system's time by at
   6143 	most 900 seconds' time per attack.
   6144     Mitigation:
   6145 	Configure ntpd to get time from multiple sources.
   6146 	Upgrade to 4.2.8p5, or later, from the NTP Project Download
   6147 	    Page or the NTP Public Services Project Download Page
   6148 	As we've long documented, only use the -g option to ntpd in
   6149 	    cold-start situations.
   6150 	Monitor your ntpd instances. 
   6151     Credit: This weakness was discovered by Aanchal Malhotra,
   6152 	Isaac E. Cohen, and Sharon Goldberg at Boston University. 
   6153 
   6154     NOTE WELL: The -g flag disables the limit check on the panic_gate
   6155 	in ntpd, which is 900 seconds by default. The bug identified by
   6156 	the researchers at Boston University is that the panic_gate
   6157 	check was only re-enabled after the first change to the system
   6158 	clock that was greater than 128 milliseconds, by default. The
   6159 	correct behavior is that the panic_gate check should be
   6160 	re-enabled after any initial time correction.
   6161 
   6162 	If an attacker is able to inject consistent but erroneous time
   6163 	responses to your systems via the network or "over the air",
   6164 	perhaps by spoofing radio, cellphone, or navigation satellite
   6165 	transmissions, they are in a great position to affect your
   6166 	system's clock. There comes a point where your very best
   6167 	defenses include:
   6168 
   6169 	    Configure ntpd to get time from multiple sources.
   6170 	    Monitor your ntpd instances. 
   6171 
   6172 Other fixes:
   6173 
   6174 * Coverity submission process updated from Coverity 5 to Coverity 7.
   6175   The NTP codebase has been undergoing regular Coverity scans on an
   6176   ongoing basis since 2006.  As part of our recent upgrade from
   6177   Coverity 5 to Coverity 7, Coverity identified 16 nits in some of
   6178   the newly-written Unity test programs.  These were fixed.
   6179 * [Bug 2829] Clean up pipe_fds in ntpd.c  perlinger (a] ntp.org
   6180 * [Bug 2887] stratum -1 config results as showing value 99
   6181   - fudge stratum should only accept values [0..16]. perlinger (a] ntp.org
   6182 * [Bug 2932] Update leapsecond file info in miscopt.html.  CWoodbury, HStenn.
   6183 * [Bug 2934] tests/ntpd/t-ntp_scanner.c has a magic constant wired in.  HMurray
   6184 * [Bug 2944] errno is not preserved properly in ntpdate after sendto call.
   6185   - applied patch by Christos Zoulas.  perlinger (a] ntp.org
   6186 * [Bug 2952] Peer associations broken by fix for Bug 2901/CVE-2015-7704.
   6187 * [Bug 2954] Version 4.2.8p4 crashes on startup on some OSes.
   6188   - fixed data race conditions in threaded DNS worker. perlinger (a] ntp.org
   6189   - limit threading warm-up to linux; FreeBSD bombs on it. perlinger (a] ntp.org
   6190 * [Bug 2957] 'unsigned int' vs 'size_t' format clash. perlinger (a] ntp.org
   6191   - accept key file only if there are no parsing errors
   6192   - fixed size_t/u_int format clash
   6193   - fixed wrong use of 'strlcpy'
   6194 * [Bug 2958] ntpq: fatal error messages need a final newline. Craig Leres.
   6195 * [Bug 2962] truncation of size_t/ptrdiff_t on 64bit targets. perlinger (a] ntp.org
   6196   - fixed several other warnings (cast-alignment, missing const, missing prototypes)
   6197   - promote use of 'size_t' for values that express a size
   6198   - use ptr-to-const for read-only arguments
   6199   - make sure SOCKET values are not truncated (win32-specific)
   6200   - format string fixes
   6201 * [Bug 2965] Local clock didn't work since 4.2.8p4.  Martin Burnicki.
   6202 * [Bug 2967] ntpdate command suffers an assertion failure
   6203   - fixed ntp_rfc2553.c to return proper address length. perlinger (a] ntp.org
   6204 * [Bug 2969]  Seg fault from ntpq/mrulist when looking at server with
   6205               lots of clients. perlinger (a] ntp.org
   6206 * [Bug 2971] ntpq bails on ^C: select fails: Interrupted system call
   6207   - changed stacked/nested handling of CTRL-C. perlinger (a] ntp.org
   6208 * Unity cleanup for FreeBSD-6.4.  Harlan Stenn.
   6209 * Unity test cleanup.  Harlan Stenn.
   6210 * Libevent autoconf pthread fixes for FreeBSD-10.  Harlan Stenn.
   6211 * Header cleanup in tests/sandbox/uglydate.c.  Harlan Stenn.
   6212 * Header cleanup in tests/libntp/sfptostr.c.  Harlan Stenn.
   6213 * Quiet a warning from clang.  Harlan Stenn.
   6214 
   6215 ---
   6216 NTP 4.2.8p4 (Harlan Stenn <stenn (a] ntp.org>, 2015/10/21) 
   6217 
   6218 Focus: Security, Bug fixes, enhancements.
   6219 
   6220 Severity: MEDIUM
   6221 
   6222 In addition to bug fixes and enhancements, this release fixes the
   6223 following 13 low- and medium-severity vulnerabilities:
   6224 
   6225 * Incomplete vallen (value length) checks in ntp_crypto.c, leading
   6226   to potential crashes or potential code injection/information leakage.
   6227 
   6228     References: Sec 2899, Sec 2671, CVE-2015-7691, CVE-2015-7692, CVE-2015-7702
   6229     Affects: All ntp-4 releases up to, but not including 4.2.8p4,
   6230     	and 4.3.0 up to, but not including 4.3.77
   6231     CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6
   6232     Summary: The fix for CVE-2014-9750 was incomplete in that there were
   6233     	certain code paths where a packet with particular autokey operations
   6234 	that contained malicious data was not always being completely
   6235 	validated. Receipt of these packets can cause ntpd to crash.
   6236     Mitigation:
   6237         Don't use autokey.
   6238 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   6239 	    Page or the NTP Public Services Project Download Page
   6240 	Monitor your ntpd instances. 
   6241 	Credit: This weakness was discovered by Tenable Network Security. 
   6242 
   6243 * Clients that receive a KoD should validate the origin timestamp field.
   6244 
   6245     References: Sec 2901 / CVE-2015-7704, CVE-2015-7705
   6246     Affects: All ntp-4 releases up to, but not including 4.2.8p4,
   6247 	and 4.3.0 up to, but not including 4.3.77
   6248     CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3-5.0 at worst
   6249     Summary: An ntpd client that honors Kiss-of-Death responses will honor
   6250     	KoD messages that have been forged by an attacker, causing it to
   6251 	delay or stop querying its servers for time updates. Also, an
   6252 	attacker can forge packets that claim to be from the target and
   6253 	send them to servers often enough that a server that implements
   6254 	KoD rate limiting will send the target machine a KoD response to
   6255 	attempt to reduce the rate of incoming packets, or it may also
   6256 	trigger a firewall block at the server for packets from the target
   6257 	machine. For either of these attacks to succeed, the attacker must
   6258 	know what servers the target is communicating with. An attacker
   6259 	can be anywhere on the Internet and can frequently learn the
   6260 	identity of the target's time source by sending the target a
   6261 	time query.
   6262     Mitigation:
   6263         Implement BCP-38.
   6264 	Upgrade to 4.2.8p4, or later, from the NTP Project Download Page
   6265 	    or the NTP Public Services Project Download Page
   6266 	If you can't upgrade, restrict who can query ntpd to learn who
   6267 	    its servers are, and what IPs are allowed to ask your system
   6268 	    for the time. This mitigation is heavy-handed.
   6269 	Monitor your ntpd instances. 
   6270     Note:
   6271     	4.2.8p4 protects against the first attack. For the second attack,
   6272     	all we can do is warn when it is happening, which we do in 4.2.8p4.
   6273     Credit: This weakness was discovered by Aanchal Malhotra,
   6274     	Issac E. Cohen, and Sharon Goldberg of Boston University. 
   6275 
   6276 * configuration directives to change "pidfile" and "driftfile" should
   6277   only be allowed locally. 
   6278 
   6279   References: Sec 2902 / CVE-2015-5196
   6280   Affects: All ntp-4 releases up to, but not including 4.2.8p4,
   6281 	and 4.3.0 up to, but not including 4.3.77
   6282    CVSS: (AV:N/AC:H/Au:M/C:N/I:C/A:C) Base Score: 6.2 worst case
   6283    Summary: If ntpd is configured to allow for remote configuration,
   6284 	and if the (possibly spoofed) source IP address is allowed to
   6285 	send remote configuration requests, and if the attacker knows
   6286 	the remote configuration password, it's possible for an attacker
   6287 	to use the "pidfile" or "driftfile" directives to potentially
   6288 	overwrite other files.
   6289    Mitigation:
   6290 	Implement BCP-38.
   6291 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   6292 	    Page or the NTP Public Services Project Download Page
   6293 	If you cannot upgrade, don't enable remote configuration.
   6294 	If you must enable remote configuration and cannot upgrade,
   6295 	    remote configuration of NTF's ntpd requires:
   6296 	    - an explicitly configured trustedkey, and you should also
   6297 	    	configure a controlkey.
   6298 	    - access from a permitted IP. You choose the IPs.
   6299 	    - authentication. Don't disable it. Practice secure key safety. 
   6300 	Monitor your ntpd instances. 
   6301    Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 
   6302 
   6303 * Slow memory leak in CRYPTO_ASSOC 
   6304 
   6305   References: Sec 2909 / CVE-2015-7701
   6306   Affects: All ntp-4 releases that use autokey up to, but not
   6307     including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77
   6308   CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 0.0 best/usual case,
   6309   	4.6 otherwise
   6310   Summary: If ntpd is configured to use autokey, then an attacker can
   6311 	send packets to ntpd that will, after several days of ongoing
   6312 	attack, cause it to run out of memory.
   6313   Mitigation:
   6314 	Don't use autokey.
   6315 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   6316 	    Page or the NTP Public Services Project Download Page
   6317 	Monitor your ntpd instances. 
   6318   Credit: This weakness was discovered by Tenable Network Security. 
   6319 
   6320 * mode 7 loop counter underrun
   6321 
   6322   References:  Sec 2913 / CVE-2015-7848 / TALOS-CAN-0052
   6323   Affects: All ntp-4 releases up to, but not including 4.2.8p4,
   6324   	and 4.3.0 up to, but not including 4.3.77
   6325   CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6
   6326   Summary: If ntpd is configured to enable mode 7 packets, and if the
   6327 	use of mode 7 packets is not properly protected thru the use of
   6328 	the available mode 7 authentication and restriction mechanisms,
   6329 	and if the (possibly spoofed) source IP address is allowed to
   6330 	send mode 7 queries, then an attacker can send a crafted packet
   6331 	to ntpd that will cause it to crash.
   6332   Mitigation:
   6333 	Implement BCP-38.
   6334 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   6335 	    Page or the NTP Public Services Project Download Page.
   6336 	      If you are unable to upgrade:
   6337 	In ntp-4.2.8, mode 7 is disabled by default. Don't enable it.
   6338 	If you must enable mode 7:
   6339 	    configure the use of a requestkey to control who can issue
   6340 		mode 7 requests.
   6341 	    configure restrict noquery to further limit mode 7 requests
   6342 		to trusted sources. 
   6343 	Monitor your ntpd instances. 
   6344 Credit: This weakness was discovered by Aleksandar Nikolic of Cisco Talos. 
   6345 
   6346 * memory corruption in password store
   6347 
   6348   References: Sec 2916 / CVE-2015-7849 / TALOS-CAN-0054
   6349   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
   6350   CVSS: (AV:N/AC:H/Au:M/C:N/I:C/A:C) Base Score: 6.8, worst case
   6351   Summary: If ntpd is configured to allow remote configuration, and if
   6352 	the (possibly spoofed) source IP address is allowed to send
   6353 	remote configuration requests, and if the attacker knows the
   6354 	remote configuration password or if ntpd was configured to
   6355 	disable authentication, then an attacker can send a set of
   6356 	packets to ntpd that may cause a crash or theoretically
   6357 	perform a code injection attack.
   6358   Mitigation:
   6359 	Implement BCP-38.
   6360 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   6361 	    Page or the NTP Public Services Project Download Page.
   6362 	If you are unable to upgrade, remote configuration of NTF's
   6363 	    ntpd requires:
   6364 		an explicitly configured "trusted" key. Only configure
   6365 			this if you need it.
   6366 		access from a permitted IP address. You choose the IPs.
   6367 		authentication. Don't disable it. Practice secure key safety. 
   6368 	Monitor your ntpd instances. 
   6369   Credit: This weakness was discovered by Yves Younan of Cisco Talos. 
   6370 
   6371 * Infinite loop if extended logging enabled and the logfile and
   6372   keyfile are the same.
   6373 
   6374     References: Sec 2917 / CVE-2015-7850 / TALOS-CAN-0055
   6375     Affects: All ntp-4 releases up to, but not including 4.2.8p4,
   6376 	and 4.3.0 up to, but not including 4.3.77
   6377     CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6, worst case
   6378     Summary: If ntpd is configured to allow remote configuration, and if
   6379 	the (possibly spoofed) source IP address is allowed to send
   6380 	remote configuration requests, and if the attacker knows the
   6381 	remote configuration password or if ntpd was configured to
   6382 	disable authentication, then an attacker can send a set of
   6383 	packets to ntpd that will cause it to crash and/or create a
   6384 	potentially huge log file. Specifically, the attacker could
   6385 	enable extended logging, point the key file at the log file,
   6386 	and cause what amounts to an infinite loop.
   6387     Mitigation:
   6388 	Implement BCP-38.
   6389 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   6390 	    Page or the NTP Public Services Project Download Page.
   6391 	If you are unable to upgrade, remote configuration of NTF's ntpd
   6392 	  requires:
   6393             an explicitly configured "trusted" key. Only configure this
   6394 	    	if you need it.
   6395             access from a permitted IP address. You choose the IPs.
   6396             authentication. Don't disable it. Practice secure key safety. 
   6397         Monitor your ntpd instances. 
   6398     Credit: This weakness was discovered by Yves Younan of Cisco Talos. 
   6399 
   6400 * Potential path traversal vulnerability in the config file saving of
   6401   ntpd on VMS.
   6402 
   6403   References: Sec 2918 / CVE-2015-7851 / TALOS-CAN-0062
   6404   Affects: All ntp-4 releases running under VMS up to, but not
   6405 	including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77
   6406   CVSS: (AV:N/AC:H/Au:M/C:N/I:P/A:C) Base Score: 5.2, worst case
   6407   Summary: If ntpd is configured to allow remote configuration, and if
   6408 	the (possibly spoofed) IP address is allowed to send remote
   6409 	configuration requests, and if the attacker knows the remote
   6410 	configuration password or if ntpd was configured to disable
   6411 	authentication, then an attacker can send a set of packets to
   6412 	ntpd that may cause ntpd to overwrite files.
   6413   Mitigation:
   6414 	Implement BCP-38.
   6415 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   6416 	    Page or the NTP Public Services Project Download Page.
   6417 	If you are unable to upgrade, remote configuration of NTF's ntpd
   6418 	    requires:
   6419 		an explicitly configured "trusted" key. Only configure
   6420 			this if you need it.
   6421 		access from permitted IP addresses. You choose the IPs.
   6422 		authentication. Don't disable it. Practice key security safety. 
   6423         Monitor your ntpd instances. 
   6424     Credit: This weakness was discovered by Yves Younan of Cisco Talos. 
   6425 
   6426 * ntpq atoascii() potential memory corruption
   6427 
   6428   References: Sec 2919 / CVE-2015-7852 / TALOS-CAN-0063
   6429   Affects: All ntp-4 releases running up to, but not including 4.2.8p4,
   6430 	and 4.3.0 up to, but not including 4.3.77
   6431   CVSS: (AV:N/AC:H/Au:N/C:N/I:P/A:P) Base Score: 4.0, worst case
   6432   Summary: If an attacker can figure out the precise moment that ntpq
   6433 	is listening for data and the port number it is listening on or
   6434 	if the attacker can provide a malicious instance ntpd that
   6435 	victims will connect to then an attacker can send a set of
   6436 	crafted mode 6 response packets that, if received by ntpq,
   6437 	can cause ntpq to crash.
   6438   Mitigation:
   6439 	Implement BCP-38.
   6440 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   6441 	    Page or the NTP Public Services Project Download Page.
   6442 	If you are unable to upgrade and you run ntpq against a server
   6443 	    and ntpq crashes, try again using raw mode. Build or get a
   6444 	    patched ntpq and see if that fixes the problem. Report new
   6445 	    bugs in ntpq or abusive servers appropriately.
   6446 	If you use ntpq in scripts, make sure ntpq does what you expect
   6447 	    in your scripts. 
   6448   Credit: This weakness was discovered by Yves Younan and
   6449   	Aleksander Nikolich of Cisco Talos. 
   6450 
   6451 * Invalid length data provided by a custom refclock driver could cause
   6452   a buffer overflow. 
   6453 
   6454   References: Sec 2920 / CVE-2015-7853 / TALOS-CAN-0064
   6455   Affects: Potentially all ntp-4 releases running up to, but not
   6456 	including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77
   6457 	that have custom refclocks
   6458   CVSS: (AV:L/AC:H/Au:M/C:C/I:C/A:C) Base Score: 0.0 usual case,
   6459 	5.9 unusual worst case
   6460   Summary: A negative value for the datalen parameter will overflow a
   6461 	data buffer. NTF's ntpd driver implementations always set this
   6462 	value to 0 and are therefore not vulnerable to this weakness.
   6463 	If you are running a custom refclock driver in ntpd and that
   6464 	driver supplies a negative value for datalen (no custom driver
   6465 	of even minimal competence would do this) then ntpd would
   6466 	overflow a data buffer. It is even hypothetically possible
   6467 	in this case that instead of simply crashing ntpd the attacker
   6468 	could effect a code injection attack.
   6469   Mitigation:
   6470 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   6471 	    Page or the NTP Public Services Project Download Page.
   6472 	If you are unable to upgrade:
   6473 		If you are running custom refclock drivers, make sure
   6474 			the signed datalen value is either zero or positive. 
   6475 	Monitor your ntpd instances. 
   6476   Credit: This weakness was discovered by Yves Younan of Cisco Talos. 
   6477 
   6478 * Password Length Memory Corruption Vulnerability
   6479 
   6480   References: Sec 2921 / CVE-2015-7854 / TALOS-CAN-0065
   6481   Affects: All ntp-4 releases up to, but not including 4.2.8p4, and
   6482   	4.3.0 up to, but not including 4.3.77
   6483   CVSS: (AV:N/AC:H/Au:M/C:C/I:C/A:C) Base Score: 0.0 best case,
   6484   	1.7 usual case, 6.8, worst case
   6485   Summary: If ntpd is configured to allow remote configuration, and if
   6486 	the (possibly spoofed) source IP address is allowed to send
   6487 	remote configuration requests, and if the attacker knows the
   6488 	remote configuration password or if ntpd was (foolishly)
   6489 	configured to disable authentication, then an attacker can
   6490 	send a set of packets to ntpd that may cause it to crash,
   6491 	with the hypothetical possibility of a small code injection.
   6492   Mitigation:
   6493 	Implement BCP-38.
   6494 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   6495 	    Page or the NTP Public Services Project Download Page.
   6496 	If you are unable to upgrade, remote configuration of NTF's
   6497 	    ntpd requires:
   6498 		an explicitly configured "trusted" key. Only configure
   6499 			this if you need it.
   6500 		access from a permitted IP address. You choose the IPs.
   6501 		authentication. Don't disable it. Practice secure key safety. 
   6502 	Monitor your ntpd instances. 
   6503   Credit: This weakness was discovered by Yves Younan and
   6504   	Aleksander Nikolich of Cisco Talos. 
   6505 
   6506 * decodenetnum() will ASSERT botch instead of returning FAIL on some
   6507   bogus values.
   6508 
   6509   References: Sec 2922 / CVE-2015-7855
   6510   Affects: All ntp-4 releases up to, but not including 4.2.8p4, and
   6511 	4.3.0 up to, but not including 4.3.77
   6512   CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6, worst case
   6513   Summary: If ntpd is fed a crafted mode 6 or mode 7 packet containing
   6514 	an unusually long data value where a network address is expected,
   6515 	the decodenetnum() function will abort with an assertion failure
   6516 	instead of simply returning a failure condition.
   6517   Mitigation:
   6518 	Implement BCP-38.
   6519 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   6520 	    Page or the NTP Public Services Project Download Page.
   6521 	If you are unable to upgrade:
   6522 		mode 7 is disabled by default. Don't enable it.
   6523 		Use restrict noquery to limit who can send mode 6
   6524 			and mode 7 requests.
   6525 		Configure and use the controlkey and requestkey
   6526 			authentication directives to limit who can
   6527 			send mode 6 and mode 7 requests. 
   6528 	Monitor your ntpd instances. 
   6529   Credit: This weakness was discovered by John D "Doug" Birdwell of IDA.org. 
   6530 
   6531 * NAK to the Future: Symmetric association authentication bypass via
   6532   crypto-NAK.
   6533 
   6534   References: Sec 2941 / CVE-2015-7871
   6535   Affects: All ntp-4 releases between 4.2.5p186 up to but not including
   6536   	4.2.8p4, and 4.3.0 up to but not including 4.3.77
   6537   CVSS: (AV:N/AC:L/Au:N/C:N/I:P/A:P) Base Score: 6.4
   6538   Summary: Crypto-NAK packets can be used to cause ntpd to accept time
   6539 	from unauthenticated ephemeral symmetric peers by bypassing the
   6540 	authentication required to mobilize peer associations. This
   6541 	vulnerability appears to have been introduced in ntp-4.2.5p186
   6542 	when the code handling mobilization of new passive symmetric
   6543 	associations (lines 1103-1165) was refactored.
   6544   Mitigation:
   6545 	Implement BCP-38.
   6546 	Upgrade to 4.2.8p4, or later, from the NTP Project Download
   6547 	    Page or the NTP Public Services Project Download Page.
   6548 	If you are unable to upgrade:
   6549 		Apply the patch to the bottom of the "authentic" check
   6550 			block around line 1136 of ntp_proto.c. 
   6551 	Monitor your ntpd instances. 
   6552   Credit: This weakness was discovered by Matthew Van Gundy of Cisco ASIG. 
   6553 
   6554 Backward-Incompatible changes:
   6555 * [Bug 2817] Default on Linux is now "rlimit memlock -1".
   6556   While the general default of 32M is still the case, under Linux
   6557   the default value has been changed to -1 (do not lock ntpd into
   6558   memory).  A value of 0 means "lock ntpd into memory with whatever
   6559   memory it needs." If your ntp.conf file has an explicit "rlimit memlock"
   6560   value in it, that value will continue to be used.
   6561 
   6562 * [Bug 2886] Misspelling: "outlyer" should be "outlier".
   6563   If you've written a script that looks for this case in, say, the
   6564   output of ntpq, you probably want to change your regex matches
   6565   from 'outlyer' to 'outl[iy]er'.
   6566 
   6567 New features in this release:
   6568 * 'rlimit memlock' now has finer-grained control.  A value of -1 means
   6569   "don't lock ntpd into memore".  This is the default for Linux boxes.
   6570   A value of 0 means "lock ntpd into memory" with no limits.  Otherwise
   6571   the value is the number of megabytes of memory to lock.  The default
   6572   is 32 megabytes.
   6573 
   6574 * The old Google Test framework has been replaced with a new framework,
   6575   based on http://www.throwtheswitch.org/unity/ .
   6576 
   6577 Bug Fixes and Improvements:
   6578 * [Bug 2332] (reopened) Exercise thread cancellation once before dropping
   6579   privileges and limiting resources in NTPD removes the need to link
   6580   forcefully against 'libgcc_s' which does not always work. J.Perlinger
   6581 * [Bug 2595] ntpdate man page quirks.  Hal Murray, Harlan Stenn.
   6582 * [Bug 2625] Deprecate flag1 in local refclock.  Hal Murray, Harlan Stenn.
   6583 * [Bug 2817] Stop locking ntpd into memory by default under Linux.  H.Stenn.
   6584 * [Bug 2821] minor build issues: fixed refclock_gpsdjson.c.  perlinger (a] ntp.org
   6585 * [Bug 2823] ntpsweep with recursive peers option doesn't work.  H.Stenn.
   6586 * [Bug 2849] Systems with more than one default route may never
   6587   synchronize.  Brian Utterback.  Note that this patch might need to
   6588   be reverted once Bug 2043 has been fixed.
   6589 * [Bug 2864] 4.2.8p3 fails to compile on Windows. Juergen Perlinger
   6590 * [Bug 2866] segmentation fault at initgroups().  Harlan Stenn.
   6591 * [Bug 2867] ntpd with autokey active crashed by 'ntpq -crv'. J.Perlinger
   6592 * [Bug 2873] libevent should not include .deps/ in the tarball.  H.Stenn
   6593 * [Bug 2874] Don't distribute generated sntp/tests/fileHandlingTest.h. H.Stenn
   6594 * [Bug 2875] sntp/Makefile.am: Get rid of DIST_SUBDIRS.  libevent must
   6595   be configured for the distribution targets.  Harlan Stenn.
   6596 * [Bug 2883] ntpd crashes on exit with empty driftfile.  Miroslav Lichvar.
   6597 * [Bug 2886] Mis-spelling: "outlyer" should be "outlier".  dave (a] horsfall.org
   6598 * [Bug 2888] streamline calendar functions.  perlinger (a] ntp.org
   6599 * [Bug 2889] ntp-dev-4.3.67 does not build on Windows.  perlinger (a] ntp.org
   6600 * [Bug 2890] Ignore ENOBUFS on routing netlink socket.  Konstantin Khlebnikov.
   6601 * [Bug 2906] make check needs better support for pthreads.  Harlan Stenn.
   6602 * [Bug 2907] dist* build targets require our libevent/ to be enabled.  HStenn.
   6603 * [Bug 2912] no munlockall() under Windows.  David Taylor, Harlan Stenn.
   6604 * libntp/emalloc.c: Remove explicit include of stdint.h.  Harlan Stenn.
   6605 * Put Unity CPPFLAGS items in unity_config.h.  Harlan Stenn.
   6606 * tests/ntpd/g_leapsec.cpp typo fix.  Harlan Stenn.
   6607 * Phase 1 deprecation of google test in sntp/tests/.  Harlan Stenn.
   6608 * On some versions of HP-UX, inttypes.h does not include stdint.h.  H.Stenn.
   6609 * top_srcdir can change based on ntp v. sntp.  Harlan Stenn.
   6610 * sntp/tests/ function parameter list cleanup.  Damir Tomi.
   6611 * tests/libntp/ function parameter list cleanup.  Damir Tomi.
   6612 * tests/ntpd/ function parameter list cleanup.  Damir Tomi.
   6613 * sntp/unity/unity_config.h: handle stdint.h.  Harlan Stenn.
   6614 * sntp/unity/unity_internals.h: handle *INTPTR_MAX on old Solaris.  H.Stenn.
   6615 * tests/libntp/timevalops.c and timespecops.c fixed error printing.  D.Tomi.
   6616 * tests/libntp/ improvements in code and fixed error printing.  Damir Tomi.
   6617 * tests/libntp: a_md5encrypt.c, authkeys.c, buftvtots.c, calendar.c, caljulian.c,
   6618   caltontp.c, clocktime.c, humandate.c, hextolfp.c, decodenetnum.c - fixed
   6619   formatting; first declaration, then code (C90); deleted unnecessary comments;
   6620   changed from sprintf to snprintf; fixed order of includes. Tomasz Flendrich
   6621 * tests/libntp/lfpfunc.c remove unnecessary include, remove old comments,
   6622   fix formatting, cleanup. Tomasz Flendrich
   6623 * tests/libntp/lfptostr.c remove unnecessary include, add consts, fix formatting.
   6624   Tomasz Flendrich
   6625 * tests/libntp/statestr.c remove empty functions, remove unnecessary include,
   6626   fix formatting. Tomasz Flendrich
   6627 * tests/libntp/modetoa.c fixed formatting. Tomasz Flendrich
   6628 * tests/libntp/msyslog.c fixed formatting. Tomasz Flendrich
   6629 * tests/libntp/numtoa.c deleted unnecessary empty functions, fixed formatting.
   6630   Tomasz Flendrich
   6631 * tests/libntp/numtohost.c added const, fixed formatting. Tomasz Flendrich
   6632 * tests/libntp/refnumtoa.c fixed formatting. Tomasz Flendrich
   6633 * tests/libntp/ssl_init.c fixed formatting. Tomasz Flendrich
   6634 * tests/libntp/tvtots.c fixed a bug, fixed formatting. Tomasz Flendrich
   6635 * tests/libntp/uglydate.c removed an unnecessary include. Tomasz Flendrich
   6636 * tests/libntp/vi64ops.c removed an unnecessary comment, fixed formatting.
   6637 * tests/libntp/ymd3yd.c removed an empty function and an unnecessary include,
   6638 fixed formatting. Tomasz Flendrich
   6639 * tests/libntp/timespecops.c fixed formatting, fixed the order of includes,
   6640   removed unnecessary comments, cleanup. Tomasz Flendrich
   6641 * tests/libntp/timevalops.c fixed the order of includes, deleted unnecessary
   6642   comments, cleanup. Tomasz Flendrich
   6643 * tests/libntp/sockaddrtest.h making it agree to NTP's conventions of formatting.
   6644   Tomasz Flendrich
   6645 * tests/libntp/lfptest.h cleanup. Tomasz Flendrich
   6646 * tests/libntp/test-libntp.c fix formatting. Tomasz Flendrich
   6647 * sntp/tests/crypto.c is now using proper Unity's assertions, fixed formatting.
   6648   Tomasz Flendrich
   6649 * sntp/tests/kodDatabase.c added consts, deleted empty function,
   6650   fixed formatting. Tomasz Flendrich
   6651 * sntp/tests/kodFile.c cleanup, fixed formatting. Tomasz Flendrich
   6652 * sntp/tests/packetHandling.c is now using proper Unity's assertions,
   6653   fixed formatting, deleted unused variable. Tomasz Flendrich
   6654 * sntp/tests/keyFile.c is now using proper Unity's assertions, fixed formatting.
   6655   Tomasz Flendrich
   6656 * sntp/tests/packetProcessing.c changed from sprintf to snprintf,
   6657   fixed formatting. Tomasz Flendrich
   6658 * sntp/tests/utilities.c is now using proper Unity's assertions, changed
   6659   the order of includes, fixed formatting, removed unnecessary comments.
   6660   Tomasz Flendrich
   6661 * sntp/tests/sntptest.h fixed formatting. Tomasz Flendrich
   6662 * sntp/tests/fileHandlingTest.h.in fixed a possible buffer overflow problem,
   6663   made one function do its job, deleted unnecessary prints, fixed formatting.
   6664   Tomasz Flendrich
   6665 * sntp/unity/Makefile.am added a missing header. Tomasz Flendrich
   6666 * sntp/unity/unity_config.h: Distribute it.  Harlan Stenn.
   6667 * sntp/libevent/evconfig-private.h: remove generated filefrom SCM.  H.Stenn.
   6668 * sntp/unity/Makefile.am: fix some broken paths.  Harlan Stenn.
   6669 * sntp/unity/unity.c: Clean up a printf().  Harlan Stenn.
   6670 * Phase 1 deprecation of google test in tests/libntp/.  Harlan Stenn.
   6671 * Don't build sntp/libevent/sample/.  Harlan Stenn.
   6672 * tests/libntp/test_caltontp needs -lpthread.  Harlan Stenn.
   6673 * br-flock: --enable-local-libevent.  Harlan Stenn.
   6674 * Wrote tests for ntpd/ntp_prio_q.c. Tomasz Flendrich
   6675 * scripts/lib/NTP/Util.pm: stratum output is version-dependent.  Harlan Stenn.
   6676 * Get rid of the NTP_ prefix on our assertion macros.  Harlan Stenn.
   6677 * Code cleanup.  Harlan Stenn.
   6678 * libntp/icom.c: Typo fix.  Harlan Stenn.
   6679 * util/ntptime.c: initialization nit.  Harlan Stenn.
   6680 * ntpd/ntp_peer.c:newpeer(): added a DEBUG_REQUIRE(srcadr).  Harlan Stenn.
   6681 * Add std_unity_tests to various Makefile.am files.  Harlan Stenn.
   6682 * ntpd/ntp_restrict.c: added a few assertions, created tests for this file.
   6683   Tomasz Flendrich
   6684 * Changed progname to be const in many files - now it's consistent. Tomasz
   6685   Flendrich
   6686 * Typo fix for GCC warning suppression.  Harlan Stenn.
   6687 * Added tests/ntpd/ntp_scanner.c test. Damir Tomi.
   6688 * Added declarations to all Unity tests, and did minor fixes to them.
   6689   Reduced the number of warnings by half. Damir Tomi.
   6690 * Updated generate_test_runner.rb and updated the sntp/unity/auto directory
   6691   with the latest Unity updates from Mark. Damir Tomi.
   6692 * Retire google test - phase I.  Harlan Stenn.
   6693 * Unity test cleanup: move declaration of 'initializing'.  Harlan Stenn.
   6694 * Update the NEWS file.  Harlan Stenn.
   6695 * Autoconf cleanup.  Harlan Stenn.
   6696 * Unit test dist cleanup. Harlan Stenn.
   6697 * Cleanup various test Makefile.am files.  Harlan Stenn.
   6698 * Pthread autoconf macro cleanup.  Harlan Stenn.
   6699 * Fix progname definition in unity runner scripts.  Harlan Stenn.
   6700 * Clean trailing whitespace in tests/ntpd/Makefile.am.  Harlan Stenn.
   6701 * Update the patch for bug 2817.  Harlan Stenn.
   6702 * More updates for bug 2817.  Harlan Stenn.
   6703 * Fix bugs in tests/ntpd/ntp_prio_q.c.  Harlan Stenn.
   6704 * gcc on older HPUX may need +allowdups.  Harlan Stenn.
   6705 * Adding missing MCAST protection.  Harlan Stenn.
   6706 * Disable certain test programs on certain platforms.  Harlan Stenn.
   6707 * Implement --enable-problem-tests (on by default).  Harlan Stenn.
   6708 * build system tweaks.  Harlan Stenn.
   6709 
   6710 ---
   6711 NTP 4.2.8p3 (Harlan Stenn <stenn (a] ntp.org>, 2015/06/29) 
   6712 
   6713 Focus: 1 Security fix.  Bug fixes and enhancements.  Leap-second improvements.
   6714 
   6715 Severity: MEDIUM
   6716 
   6717 Security Fix:
   6718 
   6719 * [Sec 2853] Crafted remote config packet can crash some versions of
   6720   ntpd.  Aleksis Kauppinen, Juergen Perlinger, Harlan Stenn.
   6721 
   6722 Under specific circumstances an attacker can send a crafted packet to
   6723 cause a vulnerable ntpd instance to crash. This requires each of the
   6724 following to be true:
   6725 
   6726 1) ntpd set up to allow remote configuration (not allowed by default), and
   6727 2) knowledge of the configuration password, and
   6728 3) access to a computer entrusted to perform remote configuration. 
   6729 
   6730 This vulnerability is considered low-risk.
   6731 
   6732 New features in this release:
   6733 
   6734 Optional (disabled by default) support to have ntpd provide smeared
   6735 leap second time.  A specially built and configured ntpd will only
   6736 offer smeared time in response to client packets.  These response
   6737 packets will also contain a "refid" of 254.a.b.c, where the 24 bits
   6738 of a, b, and c encode the amount of smear in a 2:22 integer:fraction 
   6739 format.  See README.leapsmear and http://bugs.ntp.org/2855 for more
   6740 information.
   6741 
   6742    *IF YOU CHOOSE TO CONFIGURE NTPD TO PROVIDE LEAP SMEAR TIME*
   6743    *BE SURE YOU DO NOT OFFER THAT TIME ON PUBLIC TIMESERVERS.*
   6744 
   6745 We've imported the Unity test framework, and have begun converting
   6746 the existing google-test items to this new framework.  If you want
   6747 to write new tests or change old ones, you'll need to have ruby
   6748 installed.  You don't need ruby to run the test suite.
   6749 
   6750 Bug Fixes and Improvements:
   6751 
   6752 * CID 739725: Fix a rare resource leak in libevent/listener.c.
   6753 * CID 1295478: Quiet a pedantic potential error from the fix for Bug 2776.
   6754 * CID 1296235: Fix refclock_jjy.c and correcting type of the driver40-ja.html
   6755 * CID 1269537: Clean up a line of dead code in getShmTime().
   6756 * [Bug 1060] Buffer overruns in libparse/clk_rawdcf.c.  Helge Oldach.
   6757 * [Bug 2590] autogen-5.18.5.
   6758 * [Bug 2612] restrict: Warn when 'monitor' can't be disabled because
   6759   of 'limited'.
   6760 * [Bug 2650] fix includefile processing.
   6761 * [Bug 2745] ntpd -x steps clock on leap second
   6762    Fixed an initial-value problem that caused misbehaviour in absence of
   6763    any leapsecond information.
   6764    Do leap second stepping only of the step adjustment is beyond the
   6765    proper jump distance limit and step correction is allowed at all.
   6766 * [Bug 2750] build for Win64
   6767   Building for 32bit of loopback ppsapi needs def file
   6768 * [Bug 2776] Improve ntpq's 'help keytype'.
   6769 * [Bug 2778] Implement "apeers"  ntpq command to include associd.
   6770 * [Bug 2782] Refactor refclock_shm.c, add memory barrier protection.
   6771 * [Bug 2792] If the IFF_RUNNING interface flag is supported then an
   6772   interface is ignored as long as this flag is not set since the
   6773   interface is not usable (e.g., no link).
   6774 * [Bug 2794] Clean up kernel clock status reports.
   6775 * [Bug 2800] refclock_true.c true_debug() can't open debug log because
   6776   of incompatible open/fdopen parameters.
   6777 * [Bug 2804] install-local-data assumes GNU 'find' semantics.
   6778 * [Bug 2805] ntpd fails to join multicast group.
   6779 * [Bug 2806] refclock_jjy.c supports the Telephone JJY.
   6780 * [Bug 2808] GPSD_JSON driver enhancements, step 1.
   6781   Fix crash during cleanup if GPS device not present and char device.
   6782   Increase internal token buffer to parse all JSON data, even SKY.
   6783   Defer logging of errors during driver init until the first unit is
   6784   started, so the syslog is not cluttered when the driver is not used.
   6785   Various improvements, see http://bugs.ntp.org/2808 for details.
   6786   Changed libjsmn to a more recent version.
   6787 * [Bug 2810] refclock_shm.c memory barrier code needs tweaks for QNX.
   6788 * [Bug 2813] HP-UX needs -D__STDC_VERSION__=199901L and limits.h.
   6789 * [Bug 2815] net-snmp before v5.4 has circular library dependencies.
   6790 * [Bug 2821] Add a missing NTP_PRINTF and a missing const.
   6791 * [Bug 2822] New leap column in sntp broke NTP::Util.pm.
   6792 * [Bug 2824] Convert update-leap to perl. (also see 2769)
   6793 * [Bug 2825] Quiet file installation in html/ .
   6794 * [Bug 2830] ntpd doesn't always transfer the correct TAI offset via autokey
   6795    NTPD transfers the current TAI (instead of an announcement) now.
   6796    This might still needed improvement.
   6797    Update autokey data ASAP when 'sys_tai' changes.
   6798    Fix unit test that was broken by changes for autokey update.
   6799    Avoid potential signature length issue and use DPRINTF where possible
   6800      in ntp_crypto.c.
   6801 * [Bug 2832] refclock_jjy.c supports the TDC-300.
   6802 * [Bug 2834] Correct a broken html tag in html/refclock.html
   6803 * [Bug 2836] DFC77 patches from Frank Kardel to make decoding more
   6804   robust, and require 2 consecutive timestamps to be consistent.
   6805 * [Bug 2837] Allow a configurable DSCP value.
   6806 * [Bug 2837] add test for DSCP to ntpd/complete.conf.in
   6807 * [Bug 2842] Glitch in ntp.conf.def documentation stanza.
   6808 * [Bug 2842] Bug in mdoc2man.
   6809 * [Bug 2843] make check fails on 4.3.36
   6810    Fixed compiler warnings about numeric range overflow
   6811    (The original topic was fixed in a byplay to bug#2830)
   6812 * [Bug 2845] Harden memory allocation in ntpd.
   6813 * [Bug 2852] 'make check' can't find unity.h.  Hal Murray.
   6814 * [Bug 2854] Missing brace in libntp/strdup.c.  Masanari Iida.
   6815 * [Bug 2855] Parser fix for conditional leap smear code.  Harlan Stenn.
   6816 * [Bug 2855] Report leap smear in the REFID.  Harlan Stenn.
   6817 * [Bug 2855] Implement conditional leap smear code.  Martin Burnicki.
   6818 * [Bug 2856] ntpd should wait() on terminated child processes.  Paul Green.
   6819 * [Bug 2857] Stratus VOS does not support SIGIO.  Paul Green.
   6820 * [Bug 2859] Improve raw DCF77 robustness deconding.  Frank Kardel.
   6821 * [Bug 2860] ntpq ifstats sanity check is too stringent.  Frank Kardel.
   6822 * html/drivers/driver22.html: typo fix.  Harlan Stenn.
   6823 * refidsmear test cleanup.  Tomasz Flendrich.
   6824 * refidsmear function support and tests.  Harlan Stenn.
   6825 * sntp/tests/Makefile.am: remove g_nameresolution.cpp as it tested
   6826   something that was only in the 4.2.6 sntp.  Harlan Stenn.
   6827 * Modified tests/bug-2803/Makefile.am so it builds Unity framework tests.
   6828   Damir Tomi
   6829 * Modified tests/libtnp/Makefile.am so it builds Unity framework tests.
   6830   Damir Tomi
   6831 * Modified sntp/tests/Makefile.am so it builds Unity framework tests.
   6832   Damir Tomi
   6833 * tests/sandbox/smeartest.c: Harlan Stenn, Damir Tomic, Juergen Perlinger.
   6834 * Converted from gtest to Unity: tests/bug-2803/. Damir Tomi
   6835 * Converted from gtest to Unity: tests/libntp/ a_md5encrypt, atoint.c,
   6836   atouint.c, authkeys.c, buftvtots.c, calendar.c, caljulian.c,
   6837   calyearstart.c, clocktime.c, hextoint.c, lfpfunc.c, modetoa.c,
   6838   numtoa.c, numtohost.c, refnumtoa.c, ssl_init.c, statestr.c,
   6839   timespecops.c, timevalops.c, uglydate.c, vi64ops.c, ymd2yd.c.
   6840   Damir Tomi
   6841 * Converted from gtest to Unity: sntp/tests/ kodDatabase.c, kodFile.c,
   6842   networking.c, keyFile.c, utilities.cpp, sntptest.h,
   6843   fileHandlingTest.h. Damir Tomi
   6844 * Initial support for experimental leap smear code.  Harlan Stenn.
   6845 * Fixes to sntp/tests/fileHandlingTest.h.in.  Harlan Stenn.
   6846 * Report select() debug messages at debug level 3 now.
   6847 * sntp/scripts/genLocInfo: treat raspbian as debian.
   6848 * Unity test framework fixes.
   6849   ** Requires ruby for changes to tests.
   6850 * Initial support for PACKAGE_VERSION tests.
   6851 * sntp/libpkgver belongs in EXTRA_DIST, not DIST_SUBDIRS.
   6852 * tests/bug-2803/Makefile.am must distribute bug-2803.h.
   6853 * Add an assert to the ntpq ifstats code.
   6854 * Clean up the RLIMIT_STACK code.
   6855 * Improve the ntpq documentation around the controlkey keyid.
   6856 * ntpq.c cleanup.
   6857 * Windows port build cleanup.
   6858 
   6859 ---
   6860 NTP 4.2.8p2 (Harlan Stenn <stenn (a] ntp.org>, 2015/04/07) 
   6861 
   6862 Focus: Security and Bug fixes, enhancements.
   6863 
   6864 Severity: MEDIUM
   6865  
   6866 In addition to bug fixes and enhancements, this release fixes the
   6867 following medium-severity vulnerabilities involving private key
   6868 authentication:
   6869 
   6870 * [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto.
   6871 
   6872     References: Sec 2779 / CVE-2015-1798 / VU#374268
   6873     Affects: All NTP4 releases starting with ntp-4.2.5p99 up to but not
   6874 	including ntp-4.2.8p2 where the installation uses symmetric keys
   6875 	to authenticate remote associations.
   6876     CVSS: (AV:A/AC:M/Au:N/C:P/I:P/A:P) Base Score: 5.4
   6877     Date Resolved: Stable (4.2.8p2) 07 Apr 2015
   6878     Summary: When ntpd is configured to use a symmetric key to authenticate
   6879 	a remote NTP server/peer, it checks if the NTP message
   6880 	authentication code (MAC) in received packets is valid, but not if
   6881 	there actually is any MAC included. Packets without a MAC are
   6882 	accepted as if they had a valid MAC. This allows a MITM attacker to
   6883 	send false packets that are accepted by the client/peer without
   6884 	having to know the symmetric key. The attacker needs to know the
   6885 	transmit timestamp of the client to match it in the forged reply
   6886 	and the false reply needs to reach the client before the genuine
   6887 	reply from the server. The attacker doesn't necessarily need to be
   6888 	relaying the packets between the client and the server.
   6889 
   6890 	Authentication using autokey doesn't have this problem as there is
   6891 	a check that requires the key ID to be larger than NTP_MAXKEY,
   6892 	which fails for packets without a MAC.
   6893     Mitigation:
   6894         Upgrade to 4.2.8p2, or later, from the NTP Project Download Page
   6895 	or the NTP Public Services Project Download Page
   6896         Configure ntpd with enough time sources and monitor it properly. 
   6897     Credit: This issue was discovered by Miroslav Lichvar, of Red Hat. 
   6898 
   6899 * [Sec 2781] Authentication doesn't protect symmetric associations against
   6900   DoS attacks.
   6901 
   6902     References: Sec 2781 / CVE-2015-1799 / VU#374268
   6903     Affects: All NTP releases starting with at least xntp3.3wy up to but
   6904 	not including ntp-4.2.8p2 where the installation uses symmetric
   6905 	key authentication.
   6906     CVSS: (AV:A/AC:M/Au:N/C:P/I:P/A:P) Base Score: 5.4
   6907     Note: the CVSS base Score for this issue could be 4.3 or lower, and
   6908 	it could be higher than 5.4.
   6909     Date Resolved: Stable (4.2.8p2) 07 Apr 2015
   6910     Summary: An attacker knowing that NTP hosts A and B are peering with
   6911 	each other (symmetric association) can send a packet to host A
   6912 	with source address of B which will set the NTP state variables
   6913 	on A to the values sent by the attacker. Host A will then send
   6914 	on its next poll to B a packet with originate timestamp that
   6915 	doesn't match the transmit timestamp of B and the packet will
   6916 	be dropped. If the attacker does this periodically for both
   6917 	hosts, they won't be able to synchronize to each other. This is
   6918 	a known denial-of-service attack, described at
   6919 	https://www.eecis.udel.edu/~mills/onwire.html .
   6920 
   6921 	According to the document the NTP authentication is supposed to
   6922 	protect symmetric associations against this attack, but that
   6923 	doesn't seem to be the case. The state variables are updated even
   6924 	when authentication fails and the peers are sending packets with
   6925 	originate timestamps that don't match the transmit timestamps on
   6926 	the receiving side.
   6927 
   6928 	This seems to be a very old problem, dating back to at least
   6929 	xntp3.3wy. It's also in the NTPv3 (RFC 1305) and NTPv4 (RFC 5905)
   6930 	specifications, so other NTP implementations with support for
   6931 	symmetric associations and authentication may be vulnerable too.
   6932 	An update to the NTP RFC to correct this error is in-process.
   6933     Mitigation:
   6934         Upgrade to 4.2.8p2, or later, from the NTP Project Download Page
   6935 	or the NTP Public Services Project Download Page
   6936         Note that for users of autokey, this specific style of MITM attack
   6937 	is simply a long-known potential problem.
   6938         Configure ntpd with appropriate time sources and monitor ntpd.
   6939 	Alert your staff if problems are detected. 
   6940     Credit: This issue was discovered by Miroslav Lichvar, of Red Hat. 
   6941 
   6942 * New script: update-leap
   6943 The update-leap script will verify and if necessary, update the
   6944 leap-second definition file.
   6945 It requires the following commands in order to work:
   6946 
   6947 	wget logger tr sed shasum
   6948 
   6949 Some may choose to run this from cron.  It needs more portability testing.
   6950 
   6951 Bug Fixes and Improvements:
   6952 
   6953 * [Bug 1787] DCF77's formerly "antenna" bit is "call bit" since 2003.
   6954 * [Bug 1960] setsockopt IPV6_MULTICAST_IF: Invalid argument.
   6955 * [Bug 2346] "graceful termination" signals do not do peer cleanup.
   6956 * [Bug 2728] See if C99-style structure initialization works.
   6957 * [Bug 2747] Upgrade libevent to 2.1.5-beta.
   6958 * [Bug 2749] ntp/lib/NTP/Util.pm needs update for ntpq -w, IPv6, .POOL. .
   6959 * [Bug 2751] jitter.h has stale copies of l_fp macros.
   6960 * [Bug 2756] ntpd hangs in startup with gcc 3.3.5 on ARM.
   6961 * [Bug 2757] Quiet compiler warnings.
   6962 * [Bug 2759] Expose nonvolatile/clk_wander_threshold to ntpq.
   6963 * [Bug 2763] Allow different thresholds for forward and backward steps.
   6964 * [Bug 2766] ntp-keygen output files should not be world-readable.
   6965 * [Bug 2767] ntp-keygen -M should symlink to ntp.keys.
   6966 * [Bug 2771] nonvolatile value is documented in wrong units.
   6967 * [Bug 2773] Early leap announcement from Palisade/Thunderbolt
   6968 * [Bug 2774] Unreasonably verbose printout - leap pending/warning
   6969 * [Bug 2775] ntp-keygen.c fails to compile under Windows.
   6970 * [Bug 2777] Fixed loops and decoding of Meinberg GPS satellite info.
   6971   Removed non-ASCII characters from some copyright comments.
   6972   Removed trailing whitespace.
   6973   Updated definitions for Meinberg clocks from current Meinberg header files.
   6974   Now use C99 fixed-width types and avoid non-ASCII characters in comments.
   6975   Account for updated definitions pulled from Meinberg header files.
   6976   Updated comments on Meinberg GPS receivers which are not only called GPS16x.
   6977   Replaced some constant numbers by defines from ntp_calendar.h
   6978   Modified creation of parse-specific variables for Meinberg devices
   6979   in gps16x_message().
   6980   Reworked mk_utcinfo() to avoid printing of ambiguous leap second dates.
   6981   Modified mbg_tm_str() which now expexts an additional parameter controlling
   6982   if the time status shall be printed.
   6983 * [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto.
   6984 * [Sec 2781] Authentication doesn't protect symmetric associations against
   6985   DoS attacks.
   6986 * [Bug 2783] Quiet autoconf warnings about missing AC_LANG_SOURCE.
   6987 * [Bug 2789] Quiet compiler warnings from libevent.
   6988 * [Bug 2790] If ntpd sets the Windows MM timer highest resolution
   6989   pause briefly before measuring system clock precision to yield
   6990   correct results.
   6991 * Comment from Juergen Perlinger in ntp_calendar.c to make the code clearer.
   6992 * Use predefined function types for parse driver functions
   6993   used to set up function pointers.
   6994   Account for changed prototype of parse_inp_fnc_t functions.
   6995   Cast parse conversion results to appropriate types to avoid
   6996   compiler warnings.
   6997   Let ioctl() for Windows accept a (void *) to avoid compiler warnings
   6998   when called with pointers to different types.
   6999 
   7000 ---
   7001 NTP 4.2.8p1 (Harlan Stenn <stenn (a] ntp.org>, 2015/02/04) 
   7002 
   7003 Focus: Security and Bug fixes, enhancements.
   7004 
   7005 Severity: HIGH
   7006  
   7007 In addition to bug fixes and enhancements, this release fixes the
   7008 following high-severity vulnerabilities:
   7009 
   7010 * vallen is not validated in several places in ntp_crypto.c, leading
   7011   to a potential information leak or possibly a crash
   7012 
   7013     References: Sec 2671 / CVE-2014-9297 / VU#852879
   7014     Affects: All NTP4 releases before 4.2.8p1 that are running autokey.
   7015     CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
   7016     Date Resolved: Stable (4.2.8p1) 04 Feb 2015
   7017     Summary: The vallen packet value is not validated in several code
   7018              paths in ntp_crypto.c which can lead to information leakage
   7019 	     or perhaps a crash of the ntpd process.
   7020     Mitigation - any of:
   7021 	Upgrade to 4.2.8p1, or later, from the NTP Project Download Page
   7022 		or the NTP Public Services Project Download Page.
   7023 	Disable Autokey Authentication by removing, or commenting out,
   7024 		all configuration directives beginning with the "crypto"
   7025 		keyword in your ntp.conf file. 
   7026     Credit: This vulnerability was discovered by Stephen Roettger of the
   7027     	Google Security Team, with additional cases found by Sebastian
   7028 	Krahmer of the SUSE Security Team and Harlan Stenn of Network
   7029 	Time Foundation. 
   7030 
   7031 * ::1 can be spoofed on some OSes, so ACLs based on IPv6 ::1 addresses
   7032   can be bypassed.
   7033 
   7034     References: Sec 2672 / CVE-2014-9298 / VU#852879
   7035     Affects: All NTP4 releases before 4.2.8p1, under at least some
   7036 	versions of MacOS and Linux. *BSD has not been seen to be vulnerable.
   7037     CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:C) Base Score: 9
   7038     Date Resolved: Stable (4.2.8p1) 04 Feb 2014
   7039     Summary: While available kernels will prevent 127.0.0.1 addresses
   7040 	from "appearing" on non-localhost IPv4 interfaces, some kernels
   7041 	do not offer the same protection for ::1 source addresses on
   7042 	IPv6 interfaces. Since NTP's access control is based on source
   7043 	address and localhost addresses generally have no restrictions,
   7044 	an attacker can send malicious control and configuration packets
   7045 	by spoofing ::1 addresses from the outside. Note Well: This is
   7046 	not really a bug in NTP, it's a problem with some OSes. If you
   7047 	have one of these OSes where ::1 can be spoofed, ALL ::1 -based
   7048 	ACL restrictions on any application can be bypassed!
   7049     Mitigation:
   7050         Upgrade to 4.2.8p1, or later, from the NTP Project Download Page
   7051 	or the NTP Public Services Project Download Page
   7052         Install firewall rules to block packets claiming to come from
   7053 	::1 from inappropriate network interfaces. 
   7054     Credit: This vulnerability was discovered by Stephen Roettger of
   7055 	the Google Security Team. 
   7056 
   7057 Additionally, over 30 bugfixes and improvements were made to the codebase.
   7058 See the ChangeLog for more information.
   7059 
   7060 ---
   7061 NTP 4.2.8 (Harlan Stenn <stenn (a] ntp.org>, 2014/12/18) 
   7062  
   7063 Focus: Security and Bug fixes, enhancements.
   7064  
   7065 Severity: HIGH
   7066  
   7067 In addition to bug fixes and enhancements, this release fixes the
   7068 following high-severity vulnerabilities:
   7069 
   7070 ************************** vv NOTE WELL vv *****************************
   7071 
   7072 The vulnerabilities listed below can be significantly mitigated by
   7073 following the BCP of putting
   7074 
   7075  restrict default ... noquery
   7076 
   7077 in the ntp.conf file.  With the exception of:
   7078 
   7079    receive(): missing return on error
   7080    References: Sec 2670 / CVE-2014-9296 / VU#852879
   7081 
   7082 below (which is a limited-risk vulnerability), none of the recent
   7083 vulnerabilities listed below can be exploited if the source IP is
   7084 restricted from sending a 'query'-class packet by your ntp.conf file.
   7085 
   7086 ************************** ^^ NOTE WELL ^^ *****************************
   7087 
   7088 * Weak default key in config_auth().
   7089 
   7090   References: [Sec 2665] / CVE-2014-9293 / VU#852879
   7091   CVSS: (AV:N/AC:L/Au:M/C:P/I:P/A:C) Base Score: 7.3
   7092   Vulnerable Versions: all releases prior to 4.2.7p11
   7093   Date Resolved: 28 Jan 2010
   7094 
   7095   Summary: If no 'auth' key is set in the configuration file, ntpd
   7096 	would generate a random key on the fly.  There were two
   7097 	problems with this: 1) the generated key was 31 bits in size,
   7098 	and 2) it used the (now weak) ntp_random() function, which was
   7099 	seeded with a 32-bit value and could only provide 32 bits of
   7100 	entropy.  This was sufficient back in the late 1990s when the
   7101 	code was written.  Not today.
   7102 
   7103   Mitigation - any of:
   7104 	- Upgrade to 4.2.7p11 or later.
   7105 	- Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
   7106 
   7107   Credit: This vulnerability was noticed in ntp-4.2.6 by Neel Mehta
   7108   	of the Google Security Team.
   7109 
   7110 * Non-cryptographic random number generator with weak seed used by
   7111   ntp-keygen to generate symmetric keys.
   7112 
   7113   References: [Sec 2666] / CVE-2014-9294 / VU#852879
   7114   CVSS: (AV:N/AC:L/Au:M/C:P/I:P/A:C) Base Score: 7.3
   7115   Vulnerable Versions: All NTP4 releases before 4.2.7p230
   7116   Date Resolved: Dev (4.2.7p230) 01 Nov 2011
   7117 
   7118   Summary: Prior to ntp-4.2.7p230 ntp-keygen used a weak seed to
   7119   	prepare a random number generator that was of good quality back
   7120 	in the late 1990s. The random numbers produced was then used to
   7121 	generate symmetric keys. In ntp-4.2.8 we use a current-technology
   7122 	cryptographic random number generator, either RAND_bytes from
   7123 	OpenSSL, or arc4random(). 
   7124 
   7125   Mitigation - any of:
   7126   	- Upgrade to 4.2.7p230 or later.
   7127 	- Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
   7128 
   7129   Credit:  This vulnerability was discovered in ntp-4.2.6 by
   7130   	Stephen Roettger of the Google Security Team.
   7131 
   7132 * Buffer overflow in crypto_recv()
   7133 
   7134   References: Sec 2667 / CVE-2014-9295 / VU#852879
   7135   CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
   7136   Versions: All releases before 4.2.8
   7137   Date Resolved: Stable (4.2.8) 18 Dec 2014
   7138 
   7139   Summary: When Autokey Authentication is enabled (i.e. the ntp.conf
   7140   	file contains a 'crypto pw ...' directive) a remote attacker
   7141 	can send a carefully crafted packet that can overflow a stack
   7142 	buffer and potentially allow malicious code to be executed
   7143 	with the privilege level of the ntpd process.
   7144 
   7145   Mitigation - any of:
   7146   	- Upgrade to 4.2.8, or later, or
   7147 	- Disable Autokey Authentication by removing, or commenting out,
   7148 	  all configuration directives beginning with the crypto keyword
   7149 	  in your ntp.conf file. 
   7150 
   7151   Credit: This vulnerability was discovered by Stephen Roettger of the
   7152   	Google Security Team. 
   7153 
   7154 * Buffer overflow in ctl_putdata()
   7155 
   7156   References: Sec 2668 / CVE-2014-9295 / VU#852879
   7157   CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
   7158   Versions: All NTP4 releases before 4.2.8
   7159   Date Resolved: Stable (4.2.8) 18 Dec 2014
   7160 
   7161   Summary: A remote attacker can send a carefully crafted packet that
   7162   	can overflow a stack buffer and potentially allow malicious
   7163 	code to be executed with the privilege level of the ntpd process.
   7164 
   7165   Mitigation - any of:
   7166   	- Upgrade to 4.2.8, or later.
   7167 	- Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
   7168 
   7169   Credit: This vulnerability was discovered by Stephen Roettger of the
   7170   	Google Security Team. 
   7171 
   7172 * Buffer overflow in configure()
   7173 
   7174   References: Sec 2669 / CVE-2014-9295 / VU#852879
   7175   CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
   7176   Versions: All NTP4 releases before 4.2.8
   7177   Date Resolved: Stable (4.2.8) 18 Dec 2014
   7178 
   7179   Summary: A remote attacker can send a carefully crafted packet that
   7180 	can overflow a stack buffer and potentially allow malicious
   7181 	code to be executed with the privilege level of the ntpd process.
   7182 
   7183   Mitigation - any of:
   7184   	- Upgrade to 4.2.8, or later.
   7185 	- Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
   7186 
   7187   Credit: This vulnerability was discovered by Stephen Roettger of the
   7188 	Google Security Team. 
   7189 
   7190 * receive(): missing return on error
   7191 
   7192   References: Sec 2670 / CVE-2014-9296 / VU#852879
   7193   CVSS: (AV:N/AC:L/Au:N/C:N/I:N/A:P) Base Score: 5.0
   7194   Versions: All NTP4 releases before 4.2.8
   7195   Date Resolved: Stable (4.2.8) 18 Dec 2014
   7196 
   7197   Summary: Code in ntp_proto.c:receive() was missing a 'return;' in
   7198   	the code path where an error was detected, which meant
   7199 	processing did not stop when a specific rare error occurred.
   7200 	We haven't found a way for this bug to affect system integrity.
   7201 	If there is no way to affect system integrity the base CVSS
   7202 	score for this bug is 0. If there is one avenue through which
   7203 	system integrity can be partially affected, the base score
   7204 	becomes a 5. If system integrity can be partially affected
   7205 	via all three integrity metrics, the CVSS base score become 7.5.
   7206 
   7207   Mitigation - any of:
   7208         - Upgrade to 4.2.8, or later,
   7209         - Remove or comment out all configuration directives
   7210 	  beginning with the crypto keyword in your ntp.conf file. 
   7211 
   7212   Credit: This vulnerability was discovered by Stephen Roettger of the
   7213   	Google Security Team. 
   7214 
   7215 See http://support.ntp.org/security for more information.
   7216 
   7217 New features / changes in this release:
   7218 
   7219 Important Changes
   7220 
   7221 * Internal NTP Era counters
   7222 
   7223 The internal counters that track the "era" (range of years) we are in
   7224 rolls over every 136 years'.  The current "era" started at the stroke of
   7225 midnight on 1 Jan 1900, and ends just before the stroke of midnight on
   7226 1 Jan 2036.
   7227 In the past, we have used the "midpoint" of the  range to decide which
   7228 era we were in.  Given the longevity of some products, it became clear
   7229 that it would be more functional to "look back" less, and "look forward"
   7230 more.  We now compile a timestamp into the ntpd executable and when we
   7231 get a timestamp we us the "built-on" to tell us what era we are in.
   7232 This check "looks back" 10 years, and "looks forward" 126 years.
   7233 
   7234 * ntpdc responses disabled by default
   7235 
   7236 Dave Hart writes:
   7237 
   7238 For a long time, ntpq and its mostly text-based mode 6 (control) 
   7239 protocol have been preferred over ntpdc and its mode 7 (private 
   7240 request) protocol for runtime queries and configuration.  There has 
   7241 been a goal of deprecating ntpdc, previously held back by numerous 
   7242 capabilities exposed by ntpdc with no ntpq equivalent.  I have been 
   7243 adding commands to ntpq to cover these cases, and I believe I've 
   7244 covered them all, though I've not compared command-by-command 
   7245 recently. 
   7246 
   7247 As I've said previously, the binary mode 7 protocol involves a lot of 
   7248 hand-rolled structure layout and byte-swapping code in both ntpd and 
   7249 ntpdc which is hard to get right.  As ntpd grows and changes, the 
   7250 changes are difficult to expose via ntpdc while maintaining forward 
   7251 and backward compatibility between ntpdc and ntpd.  In contrast, 
   7252 ntpq's text-based, label=value approach involves more code reuse and 
   7253 allows compatible changes without extra work in most cases. 
   7254 
   7255 Mode 7 has always been defined as vendor/implementation-specific while 
   7256 mode 6 is described in RFC 1305 and intended to be open to interoperate 
   7257 with other implementations.  There is an early draft of an updated 
   7258 mode 6 description that likely will join the other NTPv4 RFCs 
   7259 eventually. (http://tools.ietf.org/html/draft-odonoghue-ntpv4-control-01)
   7260 
   7261 For these reasons, ntpd 4.2.7p230 by default disables processing of 
   7262 ntpdc queries, reducing ntpd's attack surface and functionally 
   7263 deprecating ntpdc.  If you are in the habit of using ntpdc for certain 
   7264 operations, please try the ntpq equivalent.  If there's no equivalent, 
   7265 please open a bug report at http://bugs.ntp.org./
   7266 
   7267 In addition to the above, over 1100 issues have been resolved between
   7268 the 4.2.6 branch and 4.2.8.  The ChangeLog file in the distribution
   7269 lists these.
   7270 
   7271 --- 
   7272 NTP 4.2.6p5 (Harlan Stenn <stenn (a] ntp.org>, 2011/12/24) 
   7273  
   7274 Focus: Bug fixes
   7275  
   7276 Severity: Medium 
   7277  
   7278 This is a recommended upgrade. 
   7279 
   7280 This release updates sys_rootdisp and sys_jitter calculations to match the
   7281 RFC specification, fixes a potential IPv6 address matching error for the
   7282 "nic" and "interface" configuration directives, suppresses the creation of
   7283 extraneous ephemeral associations for certain broadcastclient and
   7284 multicastclient configurations, cleans up some ntpq display issues, and
   7285 includes improvements to orphan mode, minor bugs fixes and code clean-ups.
   7286 
   7287 New features / changes in this release:
   7288 
   7289 ntpd
   7290 
   7291  * Updated "nic" and "interface" IPv6 address handling to prevent 
   7292    mismatches with localhost [::1] and wildcard [::] which resulted from
   7293    using the address/prefix format (e.g. fe80::/64)
   7294  * Fix orphan mode stratum incorrectly counting to infinity
   7295  * Orphan parent selection metric updated to includes missing ntohl()
   7296  * Non-printable stratum 16 refid no longer sent to ntp
   7297  * Duplicate ephemeral associations suppressed for broadcastclient and
   7298    multicastclient without broadcastdelay
   7299  * Exclude undetermined sys_refid from use in loopback TEST12
   7300  * Exclude MODE_SERVER responses from KoD rate limiting
   7301  * Include root delay in clock_update() sys_rootdisp calculations
   7302  * get_systime() updated to exclude sys_residual offset (which only
   7303    affected bits "below" sys_tick, the precision threshold)
   7304  * sys.peer jitter weighting corrected in sys_jitter calculation
   7305 
   7306 ntpq
   7307 
   7308  * -n option extended to include the billboard "server" column
   7309  * IPv6 addresses in the local column truncated to prevent overruns
   7310 
   7311 --- 
   7312 NTP 4.2.6p4 (Harlan Stenn <stenn (a] ntp.org>, 2011/09/22) 
   7313  
   7314 Focus: Bug fixes and portability improvements 
   7315  
   7316 Severity: Medium 
   7317  
   7318 This is a recommended upgrade. 
   7319  
   7320 This release includes build infrastructure updates, code 
   7321 clean-ups, minor bug fixes, fixes for a number of minor 
   7322 ref-clock issues, and documentation revisions. 
   7323  
   7324 Portability improvements affect AIX, HP-UX, Linux, OS X and 64-bit time_t. 
   7325  
   7326 New features / changes in this release: 
   7327  
   7328 Build system 
   7329  
   7330 * Fix checking for struct rtattr 
   7331 * Update config.guess and config.sub for AIX 
   7332 * Upgrade required version of autogen and libopts for building 
   7333   from our source code repository 
   7334  
   7335 ntpd 
   7336  
   7337 * Back-ported several fixes for Coverity warnings from ntp-dev 
   7338 * Fix a rare boundary condition in UNLINK_EXPR_SLIST() 
   7339 * Allow "logconfig =allall" configuration directive 
   7340 * Bind tentative IPv6 addresses on Linux 
   7341 * Correct WWVB/Spectracom driver to timestamp CR instead of LF 
   7342 * Improved tally bit handling to prevent incorrect ntpq peer status reports 
   7343 * Exclude the Undisciplined Local Clock and ACTS drivers from the initial 
   7344   candidate list unless they are designated a "prefer peer" 
   7345 * Prevent the consideration of Undisciplined Local Clock or ACTS drivers for 
   7346   selection during the 'tos orphanwait' period 
   7347 * Prefer an Orphan Mode Parent over the Undisciplined Local Clock or ACTS 
   7348   drivers 
   7349 * Improved support of the Parse Refclock trusttime flag in Meinberg mode 
   7350 * Back-port utility routines from ntp-dev: mprintf(), emalloc_zero() 
   7351 * Added the NTPD_TICKADJ_PPM environment variable for specifying baseline 
   7352   clock slew on Microsoft Windows 
   7353 * Code cleanup in libntpq 
   7354  
   7355 ntpdc 
   7356  
   7357 * Fix timerstats reporting 
   7358  
   7359 ntpdate 
   7360  
   7361 * Reduce time required to set clock 
   7362 * Allow a timeout greater than 2 seconds 
   7363  
   7364 sntp 
   7365  
   7366 * Backward incompatible command-line option change: 
   7367   -l/--filelog changed -l/--logfile (to be consistent with ntpd) 
   7368  
   7369 Documentation 
   7370  
   7371 * Update html2man. Fix some tags in the .html files 
   7372 * Distribute ntp-wait.html 
   7373 
   7374 ---
   7375 NTP 4.2.6p3 (Harlan Stenn <stenn (a] ntp.org>, 2011/01/03)
   7376 
   7377 Focus: Bug fixes and portability improvements
   7378 
   7379 Severity: Medium
   7380 
   7381 This is a recommended upgrade.
   7382 
   7383 This release includes build infrastructure updates, code
   7384 clean-ups, minor bug fixes, fixes for a number of minor
   7385 ref-clock issues, and documentation revisions.
   7386 
   7387 Portability improvements in this release affect AIX, Atari FreeMiNT,
   7388 FreeBSD4, Linux and Microsoft Windows.
   7389 
   7390 New features / changes in this release:
   7391 
   7392 Build system
   7393 * Use lsb_release to get information about Linux distributions.
   7394 * 'test' is in /usr/bin (instead of /bin) on some systems.
   7395 * Basic sanity checks for the ChangeLog file.
   7396 * Source certain build files with ./filename for systems without . in PATH.
   7397 * IRIX portability fix.
   7398 * Use a single copy of the "libopts" code.
   7399 * autogen/libopts upgrade.
   7400 * configure.ac m4 quoting cleanup.
   7401 
   7402 ntpd
   7403 * Do not bind to IN6_IFF_ANYCAST addresses.
   7404 * Log the reason for exiting under Windows.
   7405 * Multicast fixes for Windows.
   7406 * Interpolation fixes for Windows.
   7407 * IPv4 and IPv6 Multicast fixes.
   7408 * Manycast solicitation fixes and general repairs.
   7409 * JJY refclock cleanup.
   7410 * NMEA refclock improvements.
   7411 * Oncore debug message cleanup.
   7412 * Palisade refclock now builds under Linux.
   7413 * Give RAWDCF more baud rates.
   7414 * Support Truetime Satellite clocks under Windows.
   7415 * Support Arbiter 1093C Satellite clocks under Windows.
   7416 * Make sure that the "filegen" configuration command defaults to "enable".
   7417 * Range-check the status codes (plus other cleanup) in the RIPE-NCC driver.
   7418 * Prohibit 'includefile' directive in remote configuration command.
   7419 * Fix 'nic' interface bindings.
   7420 * Fix the way we link with openssl if openssl is installed in the base
   7421   system.
   7422 
   7423 ntp-keygen
   7424 * Fix -V coredump.
   7425 * OpenSSL version display cleanup.
   7426 
   7427 ntpdc
   7428 * Many counters should be treated as unsigned.
   7429 
   7430 ntpdate
   7431 * Do not ignore replies with equal receive and transmit timestamps.
   7432 
   7433 ntpq
   7434 * libntpq warning cleanup.
   7435 
   7436 ntpsnmpd
   7437 * Correct SNMP type for "precision" and "resolution".
   7438 * Update the MIB from the draft version to RFC-5907.
   7439 
   7440 sntp
   7441 * Display timezone offset when showing time for sntp in the local
   7442   timezone.
   7443 * Pay proper attention to RATE KoD packets.
   7444 * Fix a miscalculation of the offset.
   7445 * Properly parse empty lines in the key file.
   7446 * Logging cleanup.
   7447 * Use tv_usec correctly in set_time().
   7448 * Documentation cleanup.
   7449 
   7450 ---
   7451 NTP 4.2.6p2 (Harlan Stenn <stenn (a] ntp.org>, 2010/07/08)
   7452 
   7453 Focus: Bug fixes and portability improvements
   7454 
   7455 Severity: Medium
   7456 
   7457 This is a recommended upgrade.
   7458 
   7459 This release includes build infrastructure updates, code
   7460 clean-ups, minor bug fixes, fixes for a number of minor
   7461 ref-clock issues, improved KOD handling, OpenSSL related
   7462 updates and documentation revisions.
   7463 
   7464 Portability improvements in this release affect Irix, Linux,
   7465 Mac OS, Microsoft Windows, OpenBSD and QNX6
   7466 
   7467 New features / changes in this release:
   7468 
   7469 ntpd
   7470 * Range syntax for the trustedkey configuration directive
   7471 * Unified IPv4 and IPv6 restrict lists
   7472 
   7473 ntpdate
   7474 * Rate limiting and KOD handling
   7475 
   7476 ntpsnmpd
   7477 * default connection to net-snmpd via a unix-domain socket
   7478 * command-line 'socket name' option
   7479 
   7480 ntpq / ntpdc
   7481 * support for the "passwd ..." syntax
   7482 * key-type specific password prompts
   7483 
   7484 sntp
   7485 * MD5 authentication of an ntpd
   7486 * Broadcast and crypto
   7487 * OpenSSL support
   7488 
   7489 ---
   7490 NTP 4.2.6p1 (Harlan Stenn <stenn (a] ntp.org>, 2010/04/09)
   7491 
   7492 Focus: Bug fixes, portability fixes, and documentation improvements
   7493 
   7494 Severity: Medium
   7495 
   7496 This is a recommended upgrade.
   7497 
   7498 ---
   7499 NTP 4.2.6 (Harlan Stenn <stenn (a] ntp.org>, 2009/12/08)
   7500 
   7501 Focus: enhancements and bug fixes.
   7502 
   7503 ---
   7504 NTP 4.2.4p8 (Harlan Stenn <stenn (a] ntp.org>, 2009/12/08)
   7505 
   7506 Focus: Security Fixes
   7507 
   7508 Severity: HIGH
   7509 
   7510 This release fixes the following high-severity vulnerability:
   7511 
   7512 * [Sec 1331] DoS with mode 7 packets - CVE-2009-3563.
   7513 
   7514   See http://support.ntp.org/security for more information.
   7515 
   7516   NTP mode 7 (MODE_PRIVATE) is used by the ntpdc query and control utility.
   7517   In contrast, ntpq uses NTP mode 6 (MODE_CONTROL), while routine NTP time
   7518   transfers use modes 1 through 5.  Upon receipt of an incorrect mode 7
   7519   request or a mode 7 error response from an address which is not listed
   7520   in a "restrict ... noquery" or "restrict ... ignore" statement, ntpd will
   7521   reply with a mode 7 error response (and log a message).  In this case:
   7522 
   7523 	* If an attacker spoofs the source address of ntpd host A in a
   7524 	  mode 7 response packet sent to ntpd host B, both A and B will
   7525 	  continuously send each other error responses, for as long as
   7526 	  those packets get through.
   7527 
   7528 	* If an attacker spoofs an address of ntpd host A in a mode 7
   7529 	  response packet sent to ntpd host A, A will respond to itself
   7530 	  endlessly, consuming CPU and logging excessively.
   7531 
   7532   Credit for finding this vulnerability goes to Robin Park and Dmitri
   7533   Vinokurov of Alcatel-Lucent.
   7534 
   7535 THIS IS A STRONGLY RECOMMENDED UPGRADE.
   7536 
   7537 ---
   7538 ntpd now syncs to refclocks right away.
   7539 
   7540 Backward-Incompatible changes:
   7541 
   7542 ntpd no longer accepts '-v name' or '-V name' to define internal variables.
   7543 Use '--var name' or '--dvar name' instead. (Bug 817)
   7544 
   7545 ---
   7546 NTP 4.2.4p7 (Harlan Stenn <stenn (a] ntp.org>, 2009/05/04)
   7547 
   7548 Focus: Security and Bug Fixes
   7549 
   7550 Severity: HIGH
   7551 
   7552 This release fixes the following high-severity vulnerability:
   7553 
   7554 * [Sec 1151] Remote exploit if autokey is enabled.  CVE-2009-1252
   7555 
   7556   See http://support.ntp.org/security for more information.
   7557 
   7558   If autokey is enabled (if ntp.conf contains a "crypto pw whatever"
   7559   line) then a carefully crafted packet sent to the machine will cause
   7560   a buffer overflow and possible execution of injected code, running
   7561   with the privileges of the ntpd process (often root).
   7562 
   7563   Credit for finding this vulnerability goes to Chris Ries of CMU.
   7564 
   7565 This release fixes the following low-severity vulnerabilities:
   7566 
   7567 * [Sec 1144] limited (two byte) buffer overflow in ntpq.  CVE-2009-0159
   7568   Credit for finding this vulnerability goes to Geoff Keating of Apple.
   7569   
   7570 * [Sec 1149] use SO_EXCLUSIVEADDRUSE on Windows
   7571   Credit for finding this issue goes to Dave Hart.
   7572 
   7573 This release fixes a number of bugs and adds some improvements:
   7574 
   7575 * Improved logging
   7576 * Fix many compiler warnings
   7577 * Many fixes and improvements for Windows
   7578 * Adds support for AIX 6.1
   7579 * Resolves some issues under MacOS X and Solaris
   7580 
   7581 THIS IS A STRONGLY RECOMMENDED UPGRADE.
   7582 
   7583 ---
   7584 NTP 4.2.4p6 (Harlan Stenn <stenn (a] ntp.org>, 2009/01/07)
   7585 
   7586 Focus: Security Fix
   7587 
   7588 Severity: Low
   7589 
   7590 This release fixes oCERT.org's CVE-2009-0021, a vulnerability affecting
   7591 the OpenSSL library relating to the incorrect checking of the return
   7592 value of EVP_VerifyFinal function.
   7593 
   7594 Credit for finding this issue goes to the Google Security Team for
   7595 finding the original issue with OpenSSL, and to ocert.org for finding
   7596 the problem in NTP and telling us about it.
   7597 
   7598 This is a recommended upgrade.
   7599 ---
   7600 NTP 4.2.4p5 (Harlan Stenn <stenn (a] ntp.org>, 2008/08/17)
   7601 
   7602 Focus: Minor Bugfixes 
   7603 
   7604 This release fixes a number of Windows-specific ntpd bugs and 
   7605 platform-independent ntpdate bugs. A logging bugfix has been applied
   7606 to the ONCORE driver.
   7607 
   7608 The "dynamic" keyword and is now obsolete and deferred binding to local 
   7609 interfaces is the new default. The minimum time restriction for the 
   7610 interface update interval has been dropped. 
   7611 
   7612 A number of minor build system and documentation fixes are included. 
   7613 
   7614 This is a recommended upgrade for Windows. 
   7615 
   7616 ---
   7617 NTP 4.2.4p4 (Harlan Stenn <stenn (a] ntp.org>, 2007/09/10)
   7618 
   7619 Focus: Minor Bugfixes
   7620 
   7621 This release updates certain copyright information, fixes several display
   7622 bugs in ntpdc, avoids SIGIO interrupting malloc(), cleans up file descriptor
   7623 shutdown in the parse refclock driver, removes some lint from the code,
   7624 stops accessing certain buffers immediately after they were freed, fixes
   7625 a problem with non-command-line specification of -6, and allows the loopback
   7626 interface to share addresses with other interfaces.
   7627 
   7628 ---
   7629 NTP 4.2.4p3 (Harlan Stenn <stenn (a] ntp.org>, 2007/06/29)
   7630 
   7631 Focus: Minor Bugfixes
   7632 
   7633 This release fixes a bug in Windows that made it difficult to
   7634 terminate ntpd under windows.
   7635 This is a recommended upgrade for Windows.
   7636 
   7637 ---
   7638 NTP 4.2.4p2 (Harlan Stenn <stenn (a] ntp.org>, 2007/06/19)
   7639 
   7640 Focus: Minor Bugfixes
   7641 
   7642 This release fixes a multicast mode authentication problem, 
   7643 an error in NTP packet handling on Windows that could lead to 
   7644 ntpd crashing, and several other minor bugs. Handling of 
   7645 multicast interfaces and logging configuration were improved. 
   7646 The required versions of autogen and libopts were incremented.
   7647 This is a recommended upgrade for Windows and multicast users.
   7648 
   7649 ---
   7650 NTP 4.2.4 (Harlan Stenn <stenn (a] ntp.org>, 2006/12/31)
   7651 
   7652 Focus: enhancements and bug fixes.
   7653 
   7654 Dynamic interface rescanning was added to simplify the use of ntpd in 
   7655 conjunction with DHCP. GNU AutoGen is used for its command-line options 
   7656 processing. Separate PPS devices are supported for PARSE refclocks, MD5 
   7657 signatures are now provided for the release files. Drivers have been 
   7658 added for some new ref-clocks and have been removed for some older 
   7659 ref-clocks. This release also includes other improvements, documentation 
   7660 and bug fixes. 
   7661 
   7662 K&R C is no longer supported as of NTP-4.2.4. We are now aiming for ANSI 
   7663 C support.
   7664 
   7665 ---
   7666 NTP 4.2.0 (Harlan Stenn <stenn (a] ntp.org>, 2003/10/15)
   7667 
   7668 Focus: enhancements and bug fixes.
   7669