1052d159aSCy Schubert--- 2*f5f40dd6SCy SchubertNTP 4.2.8p18 (Harlan Stenn <stenn@ntp.org>, 2024 May 24) 3*f5f40dd6SCy Schubert 4*f5f40dd6SCy SchubertFocus: Bug fixes 5*f5f40dd6SCy Schubert 6*f5f40dd6SCy SchubertSeverity: Recommended 7*f5f40dd6SCy Schubert 8*f5f40dd6SCy SchubertThis release: 9*f5f40dd6SCy Schubert 10*f5f40dd6SCy Schubert- changes crypto (OpenSSL or compatible) detection and default build behavior. 11*f5f40dd6SCy Schubert Previously, crypto was supported if available unless the --without-crypto 12*f5f40dd6SCy Schubert option was given to configure. With this release, the prior behavior of 13*f5f40dd6SCy Schubert falling back to a crypto-free build if usable libcrypto was not found has 14*f5f40dd6SCy Schubert changed to instead cause configure to fail with an error. 15*f5f40dd6SCy Schubert The --without-crypto option must be explicitly provided if you want a build 16*f5f40dd6SCy Schubert that does not use libcrypto functionality. 17*f5f40dd6SCy Schubert- Fixes 40 bugs 18*f5f40dd6SCy Schubert- Includes 40 other improvements 19*f5f40dd6SCy Schubert 20*f5f40dd6SCy SchubertDetails below: 21*f5f40dd6SCy Schubert 22*f5f40dd6SCy Schubert* [Bug 3918] Tweak openssl header/library handling. <stenn@ntp.org> 23*f5f40dd6SCy Schubert* [Bug 3914] Spurious "Unexpected origin timestamp" logged after time 24*f5f40dd6SCy Schubert stepped. <hart@ntp.org> 25*f5f40dd6SCy Schubert* [Bug 3913] Avoid duplicate IPv6 link-local manycast associations. 26*f5f40dd6SCy Schubert <hart@ntp.org> 27*f5f40dd6SCy Schubert* [Bug 3912] Avoid rare math errors in ntptrace. <brian.utterback@oracle.com> 28*f5f40dd6SCy Schubert* [Bug 3910] Memory leak using openssl-3 <hart@ntp.org> 29*f5f40dd6SCy Schubert* [Bug 3909] Do not select multicast local address for unicast peer. 30*f5f40dd6SCy Schubert <hart@ntp.org> 31*f5f40dd6SCy Schubert* [Bug 3903] lib/isc/win32/strerror.c NTstrerror() is not thread-safe. 32*f5f40dd6SCy Schubert <hart@ntp.org> 33*f5f40dd6SCy Schubert* [Bug 3901] LIB_GETBUF isn't thread-safe. <hart@ntp.org> 34*f5f40dd6SCy Schubert* [Bug 3900] fast_xmit() selects wrong local addr responding to mcast on 35*f5f40dd6SCy Schubert Windows. <hart@ntp.org> 36*f5f40dd6SCy Schubert* [Bug 3888] ntpd with multiple same-subnet IPs using manycastclient creates 37*f5f40dd6SCy Schubert duplicate associations. <hart@ntp.org> 38*f5f40dd6SCy Schubert* [Bug 3872] Ignore restrict mask for hostname. <hart@ntp.org> 39*f5f40dd6SCy Schubert* [Bug 3871] 4.2.8p17 build without hopf6021 refclock enabled fails. 40*f5f40dd6SCy Schubert Reported by Hans Mayer. Moved NONEMPTY_TRANSLATION_UNIT 41*f5f40dd6SCy Schubert declaration from ntp_types.h to config.h. <hart@ntp.org> 42*f5f40dd6SCy Schubert* [Bug 3870] Server drops client packets with ppoll < 4. <stenn@ntp.org> 43*f5f40dd6SCy Schubert* [Bug 3869] Remove long-gone "calldelay" & "crypto sign" from docs. 44*f5f40dd6SCy Schubert Reported by PoolMUC@web.de. <hart@ntp.org> 45*f5f40dd6SCy Schubert* [Bug 3868] Cannot restrict a pool peer. <hart@ntp.org> Thanks to 46*f5f40dd6SCy Schubert Edward McGuire for tracking down the deficiency. 47*f5f40dd6SCy Schubert* [Bug 3864] ntpd IPv6 refid different for big-endian and little-endian. 48*f5f40dd6SCy Schubert <hart@ntp.org> 49*f5f40dd6SCy Schubert* [Bug 3859] Use NotifyIpInterfaceChange on Windows ntpd. <hart@ntp.org> 50*f5f40dd6SCy Schubert* [Bug 3856] Enable Edit & Continue debugging with Visual Studio. 51*f5f40dd6SCy Schubert <hart@ntp.org> 52*f5f40dd6SCy Schubert* [Bug 3855] ntpq lacks an equivalent to ntpdc's delrestrict. <hart@ntp.org> 53*f5f40dd6SCy Schubert* [Bug 3854] ntpd 4.2.8p17 corrupts rawstats file with space in refid. 54*f5f40dd6SCy Schubert <hart@ntp.org> 55*f5f40dd6SCy Schubert* [Bug 3853] Clean up warnings with modern compilers. <hart@ntp.org> 56*f5f40dd6SCy Schubert* [Bug 3852] check-libntp.mf and friends are not triggering rebuilds as 57*f5f40dd6SCy Schubert intended. <hart@ntp.org> 58*f5f40dd6SCy Schubert* [Bug 3851] Drop pool server when no local address can reach it. 59*f5f40dd6SCy Schubert <hart@ntp.org> 60*f5f40dd6SCy Schubert* [Bug 3850] ntpq -c apeers breaks column formatting s2 w/refclock refid. 61*f5f40dd6SCy Schubert <hart@ntp.org> 62*f5f40dd6SCy Schubert* [Bug 3849] ntpd --wait-sync times out. <hart@ntp.org> 63*f5f40dd6SCy Schubert* [Bug 3847] SSL detection in configure should run-test if runpath is needed. 64*f5f40dd6SCy Schubert <hart@ntp.org> 65*f5f40dd6SCy Schubert* [Bug 3846] Use -Wno-format-truncation by default. <hart@ntp.org> 66*f5f40dd6SCy Schubert* [Bug 3845] accelerate pool clock_sync when IPv6 has only link-local access. 67*f5f40dd6SCy Schubert <hart@ntp.org> 68*f5f40dd6SCy Schubert* [Bug 3842] Windows ntpd PPSAPI DLL load failure crashes. <hart@ntp.org> 69*f5f40dd6SCy Schubert* [Bug 3841] 4.2.8p17 build break w/ gcc 12 -Wformat-security without -Wformat 70*f5f40dd6SCy Schubert Need to remove --Wformat-security when removing -Wformat to 71*f5f40dd6SCy Schubert silence numerous libopts warnings. <hart@ntp.org> 72*f5f40dd6SCy Schubert* [Bug 3837] NULL pointer deref crash when ntpd deletes last interface. 73*f5f40dd6SCy Schubert Reported by renmingshuai. Correct UNLINK_EXPR_SLIST() when the 74*f5f40dd6SCy Schubert list is empty. <hart@ntp.org> 75*f5f40dd6SCy Schubert* [Bug 3835] NTP_HARD_*FLAGS not used by libevent tearoff. <hart@ntp.org> 76*f5f40dd6SCy Schubert* [Bug 3831] pollskewlist zeroed on runtime configuration. <hart@ntp.org> 77*f5f40dd6SCy Schubert* [Bug 3830] configure libevent check intersperses output with answer. <stenn@> 78*f5f40dd6SCy Schubert* [Bug 3828] BK should ignore a git repo in the same directory. 79*f5f40dd6SCy Schubert <burnicki@ntp.org> 80*f5f40dd6SCy Schubert* [Bug 3827] Fix build in case CLOCK_HOPF6021 or CLOCK_WHARTON_400A 81*f5f40dd6SCy Schubert is disabled. <burnicki@ntp.org> 82*f5f40dd6SCy Schubert* [Bug 3825] Don't touch HTML files unless building inside a BK repo. 83*f5f40dd6SCy Schubert Fix the script checkHtmlFileDates. <burnicki@ntp.org> 84*f5f40dd6SCy Schubert* [Bug 3756] Improve OpenSSL library/header detection. 85*f5f40dd6SCy Schubert* [Bug 3753] ntpd fails to start with FIPS-enabled OpenSSL 3. <hart@ntp.org> 86*f5f40dd6SCy Schubert* [Bug 2734] TEST3 prevents initial interleave sync. Fix from <PoolMUC@web.de> 87*f5f40dd6SCy Schubert* Log failures to allocate receive buffers. <hart@ntp.org> 88*f5f40dd6SCy Schubert* Remove extraneous */ from libparse/ieee754io.c 89*f5f40dd6SCy Schubert* Fix .datecheck target line in Makefile.am. <stenn@ntp.org> 90*f5f40dd6SCy Schubert* Update the copyright year. <stenn@ntp.org> 91*f5f40dd6SCy Schubert* Update ntp.conf documentation to add "delrestrict" and correct information 92*f5f40dd6SCy Schubert about KoD rate limiting. <hart@ntp.org> 93*f5f40dd6SCy Schubert* html/clockopt.html cleanup. <stenn@ntp.org> 94*f5f40dd6SCy Schubert* util/lsf-times - added. <stenn@ntp.org> 95*f5f40dd6SCy Schubert* Add DSA, DSA-SHA, and SHA to tests/libntp/digests.c. <hart@ntp.org> 96*f5f40dd6SCy Schubert* Provide ntpd thread names to debugger on Windows. <hart@ntp.org> 97*f5f40dd6SCy Schubert* Remove dead code libntp/numtohost.c and its unit tests. <hart@ntp.org> 98*f5f40dd6SCy Schubert* Remove class A, B, C IPv4 distinctions in netof(). <hart@ntp.org> 99*f5f40dd6SCy Schubert* Use @configure_input@ in various *.in files to include a comment that 100*f5f40dd6SCy Schubert the file is generated from another pointing to the *.in. <hart@ntp.org> 101*f5f40dd6SCy Schubert* Correct underquoting, indents in ntp_facilitynames.m4. <hart@ntp.org> 102*f5f40dd6SCy Schubert* Clean up a few warnings seen building with older gcc. <hart@ntp.org> 103*f5f40dd6SCy Schubert* Fix build on older FreeBSD lacking sys/procctl.h. <hart@ntp.org> 104*f5f40dd6SCy Schubert* Disable [Bug 3627] workaround on newer FreeBSD which has the kernel fix 105*f5f40dd6SCy Schubert that makes it unnecessary, re-enabling ASLR stack gap. <hart@ntp.org> 106*f5f40dd6SCy Schubert* Use NONEMPTY_COMPILATION_UNIT in more conditionally-compiled files. 107*f5f40dd6SCy Schubert* Remove useless pointer to Windows Help from system error messages. 108*f5f40dd6SCy Schubert* Avoid newlines within Windows error messages. <hart@ntp.org> 109*f5f40dd6SCy Schubert* Ensure unique association IDs if wrapped. <hart@ntp.org> 110*f5f40dd6SCy Schubert* Simplify calc_addr_distance(). <hart@ntp.org> 111*f5f40dd6SCy Schubert* Clamp min/maxpoll in edge cases in newpeer(). <hart@ntp.org> 112*f5f40dd6SCy Schubert* Quiet local addr change logging when unpeering. <hart@ntp.org> 113*f5f40dd6SCy Schubert* Correct missing arg for %s printf specifier in 114*f5f40dd6SCy Schubert send_blocking_resp_internal(). <hart@ntp.org> 115*f5f40dd6SCy Schubert* Suppress OpenSSL 3 deprecation warning clutter. <hart@ntp.org> 116*f5f40dd6SCy Schubert* Correct OpenSSL usage in Autokey code to avoid warnings about 117*f5f40dd6SCy Schubert discarding const qualifiers with OpenSSL 3. <hart@ntp.org> 118*f5f40dd6SCy Schubert* Display KoD refid as text in recently added message. <hart@ntp.org> 119*f5f40dd6SCy Schubert* Avoid running checkHtmlFileDates script repeatedly when no html/*.html 120*f5f40dd6SCy Schubert files have changed. <hart@ntp.org> 121*f5f40dd6SCy Schubert* Abort configure if --enable-crypto-rand given & unavailable. <hart@ntp.org> 122*f5f40dd6SCy Schubert* Add configure --enable-verbose-ssl to trace SSL detection. <hart@ntp.org> 123*f5f40dd6SCy Schubert* Add build test coverage for --disable-saveconfig to flock-build script. 124*f5f40dd6SCy Schubert <hart@ntp.org> 125*f5f40dd6SCy Schubert* Remove deprecated configure --with-arlib option. <hart@ntp.org> 126*f5f40dd6SCy Schubert* Remove configure support for ISC UNIX ca. 1998. <hart@ntp.org> 127*f5f40dd6SCy Schubert* Move NTP_OPENSSL and NTP_CRYPTO_RAND invocations from configure.ac files 128*f5f40dd6SCy Schubert to NTP_LIBNTP. <hart@ntp.org> 129*f5f40dd6SCy Schubert* Remove dead code: HAVE_U_INT32_ONLY_WITH_DNS. <hart@ntp.org> 130*f5f40dd6SCy Schubert* Eliminate [v]snprintf redefinition warnings on macOS. <hart@ntp.org> 131*f5f40dd6SCy Schubert* Fix clang 14 cast increases alignment warning on Linux. <hart@ntp.org> 132*f5f40dd6SCy Schubert* Move ENABLE_CMAC to ntp_openssl.m4, reviving sntp/tests CMAC unit tests. 133*f5f40dd6SCy Schubert <hart@ntp.org> 134*f5f40dd6SCy Schubert* Use NTP_HARD_CPPFLAGS in libopts tearoff. <hart@ntp.org> 135*f5f40dd6SCy Schubert* wire in --enable-build-framework-help 136*f5f40dd6SCy Schubert 137*f5f40dd6SCy Schubert--- 138*f5f40dd6SCy SchubertNTP 4.2.8p17 (Harlan Stenn <stenn@ntp.org>, 2023 Jun 06) 139*f5f40dd6SCy Schubert 140*f5f40dd6SCy SchubertFocus: Bug fixes 141*f5f40dd6SCy Schubert 142*f5f40dd6SCy SchubertSeverity: HIGH (for people running 4.2.8p16) 143*f5f40dd6SCy Schubert 144*f5f40dd6SCy SchubertThis release: 145*f5f40dd6SCy Schubert 146*f5f40dd6SCy Schubert- fixes 3 bugs, including a regression 147*f5f40dd6SCy Schubert- adds new unit tests 148*f5f40dd6SCy Schubert 149*f5f40dd6SCy SchubertDetails below: 150*f5f40dd6SCy Schubert 151*f5f40dd6SCy Schubert* [Bug 3824] Spurious "ntpd: daemon failed to notify parent!" logged at 152*f5f40dd6SCy Schubert event_sync. Reported by Edward McGuire. <hart@ntp.org> 153*f5f40dd6SCy Schubert* [Bug 3822] ntpd significantly delays first poll of servers specified by name. 154*f5f40dd6SCy Schubert <hart@ntp.org> Miroslav Lichvar identified regression in 4.2.8p16. 155*f5f40dd6SCy Schubert* [Bug 3821] 4.2.8p16 misreads hex authentication keys, won't interop with 156*f5f40dd6SCy Schubert 4.2.8p15 or earlier. Reported by Matt Nordhoff, thanks to 157*f5f40dd6SCy Schubert Miroslav Lichvar and Matt for rapid testing and identifying the 158*f5f40dd6SCy Schubert problem. <hart@ntp.org> 159*f5f40dd6SCy Schubert* Add tests/libntp/digests.c to catch regressions reading keys file or with 160*f5f40dd6SCy Schubert symmetric authentication digest output. 161*f5f40dd6SCy Schubert 162*f5f40dd6SCy Schubert--- 163*f5f40dd6SCy SchubertNTP 4.2.8p16 (Harlan Stenn <stenn@ntp.org>, 2023 May 30) 164*f5f40dd6SCy Schubert 165*f5f40dd6SCy SchubertFocus: Security, Bug fixes 166*f5f40dd6SCy Schubert 167*f5f40dd6SCy SchubertSeverity: LOW 168*f5f40dd6SCy Schubert 169*f5f40dd6SCy SchubertThis release: 170*f5f40dd6SCy Schubert 171*f5f40dd6SCy Schubert- fixes 4 vulnerabilities (3 LOW and 1 None severity), 172*f5f40dd6SCy Schubert- fixes 46 bugs 173*f5f40dd6SCy Schubert- includes 15 general improvements 174*f5f40dd6SCy Schubert- adds support for OpenSSL-3.0 175*f5f40dd6SCy Schubert 176*f5f40dd6SCy SchubertDetails below: 177*f5f40dd6SCy Schubert 178*f5f40dd6SCy Schubert* [Sec 3808] Assertion failure in ntpq on malformed RT-11 date <perlinger@ntp.org> 179*f5f40dd6SCy Schubert* [Sec 3807] praecis_parse() in the Palisade refclock driver has a 180*f5f40dd6SCy Schubert hypothetical input buffer overflow. Reported by ... stenn@ 181*f5f40dd6SCy Schubert* [Sec 3806] libntp/mstolfp.c needs bounds checking <perlinger@ntp.org> 182*f5f40dd6SCy Schubert - solved numerically instead of using string manipulation 183*f5f40dd6SCy Schubert* [Sec 3767] An OOB KoD RATE value triggers an assertion when debug is enabled. 184*f5f40dd6SCy Schubert <stenn@ntp.org> 185*f5f40dd6SCy Schubert* [Bug 3819] Updated libopts/Makefile.am was missing NTP_HARD_* values. <stenn@> 186*f5f40dd6SCy Schubert* [Bug 3817] Bounds-check "tos floor" configuration. <hart@ntp.org> 187*f5f40dd6SCy Schubert* [Bug 3814] First poll delay of new or cleared associations miscalculated. 188*f5f40dd6SCy Schubert <hart@ntp.org> 189*f5f40dd6SCy Schubert* [Bug 3802] ntp-keygen -I default identity modulus bits too small for 190*f5f40dd6SCy Schubert OpenSSL 3. Reported by rmsh1216@163.com <hart@ntp.org> 191*f5f40dd6SCy Schubert* [Bug 3801] gpsdjson refclock gps_open() device name mishandled. <hart@ntp.org> 192*f5f40dd6SCy Schubert* [Bug 3800] libopts-42.1.17 does not compile with Microsoft C. <hart@ntp.org> 193*f5f40dd6SCy Schubert* [Bug 3799] Enable libopts noreturn compiler advice for MSC. <hart@ntp.org> 194*f5f40dd6SCy Schubert* [Bug 3797] Windows getaddrinfo w/AI_ADDRCONFIG fails for localhost when 195*f5f40dd6SCy Schubert disconnected, breaking ntpq and ntpdc. <hart@ntp.org> 196*f5f40dd6SCy Schubert* [Bug 3795] pollskewlist documentation uses | when it shouldn't. 197*f5f40dd6SCy Schubert - ntp.conf manual page and miscopt.html corrections. <hart@ntp.org> 198*f5f40dd6SCy Schubert* [Bug 3793] Wrong variable type passed to record_raw_stats(). <hart@ntp.org> 199*f5f40dd6SCy Schubert - Report and patch by Yuezhen LUAN <wei6410@sina.com>. 200*f5f40dd6SCy Schubert* [Bug 3786] Timer starvation on high-load Windows ntpd. <hart@ntp.org> 201*f5f40dd6SCy Schubert* [Bug 3784] high-load ntpd on Windows deaf after enough ICMP TTL exceeded. 202*f5f40dd6SCy Schubert <hart@ntp.org> 203*f5f40dd6SCy Schubert* [Bug 3781] log "Unable to listen for broadcasts" for IPv4 <hart@ntp.org> 204*f5f40dd6SCy Schubert* [Bug 3774] mode 6 packets corrupted in rawstats file <hart@ntp.org> 205*f5f40dd6SCy Schubert - Reported by Edward McGuire, fix identified by <wei6410@sina.com>. 206*f5f40dd6SCy Schubert* [Bug 3758] Provide a 'device' config statement for refclocks <perlinger@ntp.org> 207*f5f40dd6SCy Schubert* [Bug 3757] Improve handling of Linux-PPS in NTPD <perlinger@ntp.org> 208*f5f40dd6SCy Schubert* [Bug 3741] 4.2.8p15 can't build with glibc 2.34 <perlinger@ntp.org> 209*f5f40dd6SCy Schubert* [Bug 3725] Make copyright of clk_wharton.c compatible with Debian. 210*f5f40dd6SCy Schubert Philippe De Muyter <phdm@macqel.be> 211*f5f40dd6SCy Schubert* [Bug 3724] ntp-keygen with openSSL 1.1.1 fails on Windows <perlinger@ntp.org> 212*f5f40dd6SCy Schubert - openssl applink needed again for openSSL-1.1.1 213*f5f40dd6SCy Schubert* [Bug 3719] configure.ac checks for closefrom() and getdtablesize() missing. 214*f5f40dd6SCy Schubert Reported by Brian Utterback, broken in 2010 by <hart@ntp.org> 215*f5f40dd6SCy Schubert* [Bug 3699] Problems handling drift file and restoring previous drifts <perlinger@ntp.org> 216*f5f40dd6SCy Schubert - command line options override config statements where applicable 217*f5f40dd6SCy Schubert - make initial frequency settings idempotent and reversible 218*f5f40dd6SCy Schubert - make sure kernel PLL gets a recovered drift componsation 219*f5f40dd6SCy Schubert* [Bug 3695] Fix memory leak with ntpq on Windows Server 2019 <perlinger@ntp.org> 220*f5f40dd6SCy Schubert* [Bug 3694] NMEA refclock seems to unnecessarily require location in messages 221*f5f40dd6SCy Schubert - misleading title; essentially a request to ignore the receiver status. 222*f5f40dd6SCy Schubert Added a mode bit for this. <perlinger@ntp.org> 223*f5f40dd6SCy Schubert* [Bug 3693] Improvement of error handling key lengths <perlinger@ntp.org> 224*f5f40dd6SCy Schubert - original patch by Richard Schmidt, with mods & unit test fixes 225*f5f40dd6SCy Schubert* [Bug 3692] /dev/gpsN requirement prevents KPPS <perlinger@ntp.org> 226*f5f40dd6SCy Schubert - implement/wrap 'realpath()' to resolve symlinks in device names 227*f5f40dd6SCy Schubert* [Bug 3691] Buffer Overflow reading GPSD output 228*f5f40dd6SCy Schubert - original patch by matt<ntpbr@mattcorallo.com> 229*f5f40dd6SCy Schubert - increased max PDU size to 4k to avoid truncation 230*f5f40dd6SCy Schubert* [Bug 3690] newline in ntp clock variable (parse) <perlinger@ntp.org> 231*f5f40dd6SCy Schubert - patch by Frank Kardel 232*f5f40dd6SCy Schubert* [Bug 3689] Extension for MD5, SHA-1 and other keys <perlinger@ntp.org> 233*f5f40dd6SCy Schubert - ntp{q,dc} now use the same password processing as ntpd does in the key 234*f5f40dd6SCy Schubert file, so having a binary secret >= 11 bytes is possible for all keys. 235*f5f40dd6SCy Schubert (This is a different approach to the problem than suggested) 236*f5f40dd6SCy Schubert* [Bug 3688] GCC 10 build errors in testsuite <perlinger@ntp.org> 237*f5f40dd6SCy Schubert* [Bug 3687] ntp_crypto_rand RNG status not known <perlinger@ntp.org> 238*f5f40dd6SCy Schubert - patch by Gerry Garvey 239*f5f40dd6SCy Schubert* [Bug 3682] Fixes for warnings when compiled without OpenSSL <perlinger@ntp.org> 240*f5f40dd6SCy Schubert - original patch by Gerry Garvey 241*f5f40dd6SCy Schubert* [Bug 3677] additional peer events not decoded in associations listing <perlinger@ntp.org> 242*f5f40dd6SCy Schubert - original patch by Gerry Garvey 243*f5f40dd6SCy Schubert* [Bug 3676] compiler warnings (CMAC, interrupt_buf, typo, fallthrough) 244*f5f40dd6SCy Schubert - applied patches by Gerry Garvey 245*f5f40dd6SCy Schubert* [Bug 3675] ntpq ccmds[] stores pointer to non-persistent storage 246*f5f40dd6SCy Schubert* [Bug 3674] ntpq command 'execute only' using '~' prefix <perlinger@ntp.org> 247*f5f40dd6SCy Schubert - idea+patch by Gerry Garvey 248*f5f40dd6SCy Schubert* [Bug 3672] fix biased selection in median cut <perlinger@ntp.org> 249*f5f40dd6SCy Schubert* [Bug 3666] avoid unlimited receive buffer allocation <perlinger@ntp.org> 250*f5f40dd6SCy Schubert - follow-up: fix inverted sense in check, reset shortfall counter 251*f5f40dd6SCy Schubert* [Bug 3660] Revert 4.2.8p15 change to manycast. <hart@ntp.org> 252*f5f40dd6SCy Schubert* [Bug 3640] document "discard monitor" and fix the code. <hart@ntp.org> 253*f5f40dd6SCy Schubert - fixed bug identified by Edward McGuire <perlinger@ntp.org> 254*f5f40dd6SCy Schubert* [Bug 3626] (SNTP) UTC offset calculation needs dst flag <perlinger@ntp.org> 255*f5f40dd6SCy Schubert - applied patch by Gerry Garvey 256*f5f40dd6SCy Schubert* [Bug 3432] refclocks that 'write()' should check the result <perlinger@ntp.org> 257*f5f40dd6SCy Schubert - backport from -dev, plus some more work on warnings for unchecked results 258*f5f40dd6SCy Schubert* [Bug 3428] ntpd spinning consuming CPU on Linux router with full table. 259*f5f40dd6SCy Schubert Reported by Israel G. Lugo. <hart@ntp.org> 260*f5f40dd6SCy Schubert* [Bug 3103] libopts zsave_warn format string too few arguments <bkorb@gnu.org> 261*f5f40dd6SCy Schubert* [Bug 2990] multicastclient incorrectly causes bind to broadcast address. 262*f5f40dd6SCy Schubert Integrated patch from Brian Utterback. <hart@ntp.org> 263*f5f40dd6SCy Schubert* [Bug 2525] Turn on automake subdir-objects across the project. <hart@ntp.org> 264*f5f40dd6SCy Schubert* [Bug 2410] syslog an error message on panic exceeded. <brian.utterback@oracle.com> 265*f5f40dd6SCy Schubert* Use correct rounding in mstolfp(). perlinger/hart 266*f5f40dd6SCy Schubert* M_ADDF should use u_int32. <hart@ntp.org> 267*f5f40dd6SCy Schubert* Only define tv_fmt_libbuf() if we will use it. <stenn@ntp.org> 268*f5f40dd6SCy Schubert* Use recv_buffer instead of the longer recv_space.X_recv_buffer. hart/stenn 269*f5f40dd6SCy Schubert* Make sure the value returned by refid_str() prints cleanly. <stenn@ntp.org> 270*f5f40dd6SCy Schubert* If DEBUG is enabled, the startup banner now says that debug assertions 271*f5f40dd6SCy Schubert are in force and that ntpd will abort if any are violated. <stenn@ntp.org> 272*f5f40dd6SCy Schubert* syslog valid incoming KoDs. <stenn@ntp.org> 273*f5f40dd6SCy Schubert* Rename a poorly-named variable. <stenn@ntp.org> 274*f5f40dd6SCy Schubert* Disable "embedded NUL in string" messages in libopts, when we can. <stenn@> 275*f5f40dd6SCy Schubert* Use https in the AC_INIT URLs in configure.ac. <stenn@ntp.org> 276*f5f40dd6SCy Schubert* Implement NTP_FUNC_REALPATH. <stenn@ntp.org> 277*f5f40dd6SCy Schubert* Lose a gmake construct in ntpd/Makefile.am. <stenn@ntp.org> 278*f5f40dd6SCy Schubert* upgrade to: autogen-5.18.16 279*f5f40dd6SCy Schubert* upgrade to: libopts-42.1.17 280*f5f40dd6SCy Schubert* upgrade to: autoconf-2.71 281*f5f40dd6SCy Schubert* upgrade to: automake-1.16.15 282*f5f40dd6SCy Schubert* Upgrade to libevent-2.1.12-stable <stenn@ntp.org> 283*f5f40dd6SCy Schubert* Support OpenSSL-3.0 284*f5f40dd6SCy Schubert 285*f5f40dd6SCy Schubert--- 286*f5f40dd6SCy SchubertNTP 4.2.8p15 (Harlan Stenn <stenn@ntp.org>, 2020 Jun 23) 287*f5f40dd6SCy Schubert 288*f5f40dd6SCy SchubertFocus: Security, Bug fixes 289*f5f40dd6SCy Schubert 290*f5f40dd6SCy SchubertSeverity: MEDIUM 291*f5f40dd6SCy Schubert 292*f5f40dd6SCy SchubertThis release fixes one vulnerability: Associations that use CMAC 293*f5f40dd6SCy Schubertauthentication between ntpd from versions 4.2.8p11/4.3.97 and 294*f5f40dd6SCy Schubert4.2.8p14/4.3.100 will leak a small amount of memory for each packet. 295*f5f40dd6SCy SchubertEventually, ntpd will run out of memory and abort. 296*f5f40dd6SCy Schubert 297*f5f40dd6SCy SchubertIt also fixes 13 other bugs. 298*f5f40dd6SCy Schubert 299*f5f40dd6SCy Schubert* [Sec 3661] memory leak with AES128CMAC keys <perlinger@ntp.org> 300*f5f40dd6SCy Schubert* [Bug 3670] Regression from bad merger between 3592 and 3596 <perlinger@> 301*f5f40dd6SCy Schubert - Thanks to Sylar Tao 302*f5f40dd6SCy Schubert* [Bug 3667] decodenetnum fails with numeric port <perlinger@ntp.org> 303*f5f40dd6SCy Schubert - rewrite 'decodenetnum()' in terms of inet_pton 304*f5f40dd6SCy Schubert* [Bug 3666] avoid unlimited receive buffer allocation <perlinger@ntp.org> 305*f5f40dd6SCy Schubert - limit number of receive buffers, with an iron reserve for refclocks 306*f5f40dd6SCy Schubert* [Bug 3664] Enable openSSL CMAC support on Windows <burnicki@ntp.org> 307*f5f40dd6SCy Schubert* [Bug 3662] Fix build errors on Windows with VS2008 <burnicki@ntp.org> 308*f5f40dd6SCy Schubert* [Bug 3660] Manycast orphan mode startup discovery problem. <stenn@ntp.org> 309*f5f40dd6SCy Schubert - integrated patch from Charles Claggett 310*f5f40dd6SCy Schubert* [Bug 3659] Move definition of psl[] from ntp_config.h to 311*f5f40dd6SCy Schubert ntp_config.h <perlinger@ntp.org> 312*f5f40dd6SCy Schubert* [Bug 3657] Wrong "Autokey group mismatch" debug message <perlinger@ntp.org> 313*f5f40dd6SCy Schubert* [Bug 3655] ntpdc memstats hash counts <perlinger@ntp.org> 314*f5f40dd6SCy Schubert - fix by Gerry garvey 315*f5f40dd6SCy Schubert* [Bug 3653] Refclock jitter RMS calculation <perlinger@ntp.org> 316*f5f40dd6SCy Schubert - thanks to Gerry Garvey 317*f5f40dd6SCy Schubert* [Bug 3646] Avoid sync with unsync orphan <perlinger@ntp.org> 318*f5f40dd6SCy Schubert - patch by Gerry Garvey 319*f5f40dd6SCy Schubert* [Bug 3644] Unsynchronized server [...] selected as candidate <perlinger@ntp.org> 320*f5f40dd6SCy Schubert* [Bug 3639] refclock_jjy: TS-JJY0x can skip time sync depending on the STUS reply. <abe@ntp.org> 321*f5f40dd6SCy Schubert - applied patch by Takao Abe 322*f5f40dd6SCy Schubert 323*f5f40dd6SCy Schubert--- 324*f5f40dd6SCy SchubertNTP 4.2.8p14 (Harlan Stenn <stenn@ntp.org>, 2020 Mar 03) 325*f5f40dd6SCy Schubert 326*f5f40dd6SCy SchubertFocus: Security, Bug fixes, enhancements. 327*f5f40dd6SCy Schubert 328*f5f40dd6SCy SchubertSeverity: MEDIUM 329*f5f40dd6SCy Schubert 330*f5f40dd6SCy SchubertThis release fixes three vulnerabilities: a bug that causes causes an ntpd 331*f5f40dd6SCy Schubertinstance that is explicitly configured to override the default and allow 332*f5f40dd6SCy Schubertntpdc (mode 7) connections to be made to a server to read some uninitialized 333*f5f40dd6SCy Schubertmemory; fixes the case where an unmonitored ntpd using an unauthenticated 334*f5f40dd6SCy Schubertassociation to its servers may be susceptible to a forged packet DoS attack; 335*f5f40dd6SCy Schubertand fixes an attack against a client instance that uses a single 336*f5f40dd6SCy Schubertunauthenticated time source. It also fixes 46 other bugs and addresses 337*f5f40dd6SCy Schubert4 other issues. 338*f5f40dd6SCy Schubert 339*f5f40dd6SCy Schubert* [Sec 3610] process_control() should bail earlier on short packets. stenn@ 340*f5f40dd6SCy Schubert - Reported by Philippe Antoine 341*f5f40dd6SCy Schubert* [Sec 3596] Highly predictable timestamp attack. <stenn@ntp.org> 342*f5f40dd6SCy Schubert - Reported by Miroslav Lichvar 343*f5f40dd6SCy Schubert* [Sec 3592] DoS attack on client ntpd <perlinger@ntp.org> 344*f5f40dd6SCy Schubert - Reported by Miroslav Lichvar 345*f5f40dd6SCy Schubert* [Bug 3637] Emit the version of ntpd in saveconfig. stenn@ 346*f5f40dd6SCy Schubert* [Bug 3636] NMEA: combine time/date from multiple sentences <perlinger@ntp.org> 347*f5f40dd6SCy Schubert* [Bug 3635] Make leapsecond file hash check optional <perlinger@ntp.org> 348*f5f40dd6SCy Schubert* [Bug 3634] Typo in discipline.html, reported by Jason Harrison. stenn@ 349*f5f40dd6SCy Schubert* [Bug 3628] raw DCF decoding - improve robustness with Zeller's congruence 350*f5f40dd6SCy Schubert - implement Zeller's congruence in libparse and libntp <perlinger@ntp.org> 351*f5f40dd6SCy Schubert* [Bug 3627] SIGSEGV on FreeBSD-12 with stack limit and stack gap <perlinger@ntp.org> 352*f5f40dd6SCy Schubert - integrated patch by Cy Schubert 353*f5f40dd6SCy Schubert* [Bug 3620] memory leak in ntpq sysinfo <perlinger@ntp.org> 354*f5f40dd6SCy Schubert - applied patch by Gerry Garvey 355*f5f40dd6SCy Schubert* [Bug 3619] Honour drefid setting in cooked mode and sysinfo <perlinger@ntp.org> 356*f5f40dd6SCy Schubert - applied patch by Gerry Garvey 357*f5f40dd6SCy Schubert* [Bug 3617] Add support for ACE III and Copernicus II receivers <perlinger@ntp.org> 358*f5f40dd6SCy Schubert - integrated patch by Richard Steedman 359*f5f40dd6SCy Schubert* [Bug 3615] accelerate refclock startup <perlinger@ntp.org> 360*f5f40dd6SCy Schubert* [Bug 3613] Propagate noselect to mobilized pool servers <stenn@ntp.org> 361*f5f40dd6SCy Schubert - Reported by Martin Burnicki 362*f5f40dd6SCy Schubert* [Bug 3612] Use-of-uninitialized-value in receive function <perlinger@ntp.org> 363*f5f40dd6SCy Schubert - Reported by Philippe Antoine 364*f5f40dd6SCy Schubert* [Bug 3611] NMEA time interpreted incorrectly <perlinger@ntp.org> 365*f5f40dd6SCy Schubert - officially document new "trust date" mode bit for NMEA driver 366*f5f40dd6SCy Schubert - restore the (previously undocumented) "trust date" feature lost with [bug 3577] 367*f5f40dd6SCy Schubert* [Bug 3609] Fixing wrong falseticker in case of non-statistic jitter <perlinger@ntp.org> 368*f5f40dd6SCy Schubert - mostly based on a patch by Michael Haardt, implementing 'fudge minjitter' 369*f5f40dd6SCy Schubert* [Bug 3608] libparse fails to compile on S11.4SRU13 and later <perlinger@ntp.org> 370*f5f40dd6SCy Schubert - removed ffs() and fls() prototypes as per Brian Utterback 371*f5f40dd6SCy Schubert* [Bug 3604] Wrong param byte order passing into record_raw_stats() in 372*f5f40dd6SCy Schubert ntp_io.c <perlinger@ntp.org> 373*f5f40dd6SCy Schubert - fixed byte and paramter order as suggested by wei6410@sina.com 374*f5f40dd6SCy Schubert* [Bug 3601] Tests fail to link on platforms with ntp_cv_gc_sections_runs=no <perlinger@ntp.org> 375*f5f40dd6SCy Schubert* [Bug 3599] Build fails on linux-m68k due to alignment issues <perlinger@ntp.org> 376*f5f40dd6SCy Schubert - added padding as suggested by John Paul Adrian Glaubitz 377*f5f40dd6SCy Schubert* [Bug 3594] ntpd discards messages coming through nmead <perlinger@ntp.org> 378*f5f40dd6SCy Schubert* [Bug 3593] ntpd discards silently nmea messages after the 5th string <perlinger@ntp.org> 379*f5f40dd6SCy Schubert* [Bug 3590] Update refclock_oncore.c to the new GPS date API <perlinger@ntp.org> 380*f5f40dd6SCy Schubert* [Bug 3585] Unity tests mix buffered and unbuffered output <perlinger@ntp.org> 381*f5f40dd6SCy Schubert - stdout+stderr are set to line buffered during test setup now 382*f5f40dd6SCy Schubert* [Bug 3583] synchronization error <perlinger@ntp.org> 383*f5f40dd6SCy Schubert - set clock to base date if system time is before that limit 384*f5f40dd6SCy Schubert* [Bug 3582] gpsdjson refclock fudgetime1 adjustment is doubled <perlinger@ntp.org> 385*f5f40dd6SCy Schubert* [Bug 3580] Possible bug ntpq-subs (NULL dereference in dogetassoc) <perlinger@ntp.org> 386*f5f40dd6SCy Schubert - Reported by Paulo Neves 387*f5f40dd6SCy Schubert* [Bug 3577] Update refclock_zyfer.c to the new GPS date API <perlinger@ntp.org> 388*f5f40dd6SCy Schubert - also updates for refclock_nmea.c and refclock_jupiter.c 389*f5f40dd6SCy Schubert* [Bug 3576] New GPS date function API <perlinger@ntp.org> 390*f5f40dd6SCy Schubert* [Bug 3573] nptdate: missleading error message <perlinger@ntp.org> 391*f5f40dd6SCy Schubert* [Bug 3570] NMEA driver docs: talker ID not mentioned, typo <perlinger@ntp.org> 392*f5f40dd6SCy Schubert* [Bug 3569] cleanup MOD_NANO/STA_NANO handling for 'ntpadjtimex()' <perlinger@ntp.org> 393*f5f40dd6SCy Schubert - sidekick: service port resolution in 'ntpdate' 394*f5f40dd6SCy Schubert* [Bug 3550] Reproducible build: Respect SOURCE_DATE_EPOCH <perlinger@ntp.org> 395*f5f40dd6SCy Schubert - applied patch by Douglas Royds 396*f5f40dd6SCy Schubert* [Bug 3542] ntpdc monlist parameters cannot be set <perlinger@ntp.org> 397*f5f40dd6SCy Schubert* [Bug 3533] ntpdc peer_info ipv6 issues <perlinger@ntp.org> 398*f5f40dd6SCy Schubert - applied patch by Gerry Garvey 399*f5f40dd6SCy Schubert* [Bug 3531] make check: test-decodenetnum fails <perlinger@ntp.org> 400*f5f40dd6SCy Schubert - try to harden 'decodenetnum()' against 'getaddrinfo()' errors 401*f5f40dd6SCy Schubert - fix wrong cond-compile tests in unit tests 402*f5f40dd6SCy Schubert* [Bug 3517] Reducing build noise <perlinger@ntp.org> 403*f5f40dd6SCy Schubert* [Bug 3516] Require tooling from this decade <perlinger@ntp.org> 404*f5f40dd6SCy Schubert - patch by Philipp Prindeville 405*f5f40dd6SCy Schubert* [Bug 3515] Refactor ntpdmain() dispatcher loop and group common code <perlinger@ntp.org> 406*f5f40dd6SCy Schubert - patch by Philipp Prindeville 407*f5f40dd6SCy Schubert* [Bug 3511] Get rid of AC_LANG_SOURCE() warnings <perlinger@ntp.org> 408*f5f40dd6SCy Schubert - patch by Philipp Prindeville 409*f5f40dd6SCy Schubert* [Bug 3510] Flatten out the #ifdef nesting in ntpdmain() <perlinger@ntp.org> 410*f5f40dd6SCy Schubert - partial application of patch by Philipp Prindeville 411*f5f40dd6SCy Schubert* [Bug 3491] Signed values of LFP datatypes should always display a sign 412*f5f40dd6SCy Schubert - applied patch by Gerry Garvey & fixed unit tests <perlinger@ntp.org> 413*f5f40dd6SCy Schubert* [Bug 3490] Patch to support Trimble Resolution Receivers <perlinger@ntp.org> 414*f5f40dd6SCy Schubert - applied (modified) patch by Richard Steedman 415*f5f40dd6SCy Schubert* [Bug 3473] RefID of refclocks should always be text format <perlinger@ntp.org> 416*f5f40dd6SCy Schubert - applied patch by Gerry Garvey (with minor formatting changes) 417*f5f40dd6SCy Schubert* [Bug 3132] Building 4.2.8p8 with disabled local libopts fails <perlinger@ntp.org> 418*f5f40dd6SCy Schubert - applied patch by Miroslav Lichvar 419*f5f40dd6SCy Schubert* [Bug 3094] ntpd trying to listen for broadcasts on a completely ipv6 network 420*f5f40dd6SCy Schubert <perlinger@ntp.org> 421*f5f40dd6SCy Schubert* [Bug 2420] ntpd doesn't run and exits with retval 0 when invalid user 422*f5f40dd6SCy Schubert is specified with -u <perlinger@ntp.org> 423*f5f40dd6SCy Schubert - monitor daemon child startup & propagate exit codes 424*f5f40dd6SCy Schubert* [Bug 1433] runtime check whether the kernel really supports capabilities 425*f5f40dd6SCy Schubert - (modified) patch by Kurt Roeckx <perlinger@ntp.org> 426*f5f40dd6SCy Schubert* Clean up sntp/networking.c:sendpkt() error message. <stenn@ntp.org> 427*f5f40dd6SCy Schubert* Provide more detail on unrecognized config file parser tokens. <stenn@ntp.org> 428*f5f40dd6SCy Schubert* Startup log improvements. <stenn@ntp.org> 429*f5f40dd6SCy Schubert* Update the copyright year. 430*f5f40dd6SCy Schubert 431*f5f40dd6SCy Schubert--- 432*f5f40dd6SCy SchubertNTP 4.2.8p13 (Harlan Stenn <stenn@ntp.org>, 2019 Mar 07) 433*f5f40dd6SCy Schubert 434*f5f40dd6SCy SchubertFocus: Security, Bug fixes, enhancements. 435*f5f40dd6SCy Schubert 436*f5f40dd6SCy SchubertSeverity: MEDIUM 437*f5f40dd6SCy Schubert 438*f5f40dd6SCy SchubertThis release fixes a bug that allows an attacker with access to an 439*f5f40dd6SCy Schubertexplicitly trusted source to send a crafted malicious mode 6 (ntpq) 440*f5f40dd6SCy Schubertpacket that can trigger a NULL pointer dereference, crashing ntpd. 441*f5f40dd6SCy SchubertIt also provides 17 other bugfixes and 1 other improvement: 442*f5f40dd6SCy Schubert 443*f5f40dd6SCy Schubert* [Sec 3565] Crafted null dereference attack in authenticated 444*f5f40dd6SCy Schubert mode 6 packet <perlinger@ntp.org> 445*f5f40dd6SCy Schubert - reported by Magnus Stubman 446*f5f40dd6SCy Schubert* [Bug 3560] Fix build when HAVE_DROPROOT is not defined <perlinger@ntp.org> 447*f5f40dd6SCy Schubert - applied patch by Ian Lepore 448*f5f40dd6SCy Schubert* [Bug 3558] Crash and integer size bug <perlinger@ntp.org> 449*f5f40dd6SCy Schubert - isolate and fix linux/windows specific code issue 450*f5f40dd6SCy Schubert* [Bug 3556] ntp_loopfilter.c snprintf compilation warnings <perlinger@ntp.org> 451*f5f40dd6SCy Schubert - provide better function for incremental string formatting 452*f5f40dd6SCy Schubert* [Bug 3555] Tidy up print alignment of debug output from ntpdate <perlinger@ntp.org> 453*f5f40dd6SCy Schubert - applied patch by Gerry Garvey 454*f5f40dd6SCy Schubert* [Bug 3554] config revoke stores incorrect value <perlinger@ntp.org> 455*f5f40dd6SCy Schubert - original finding by Gerry Garvey, additional cleanup needed 456*f5f40dd6SCy Schubert* [Bug 3549] Spurious initgroups() error message <perlinger@ntp.org> 457*f5f40dd6SCy Schubert - patch by Christous Zoulas 458*f5f40dd6SCy Schubert* [Bug 3548] Signature not verified on windows system <perlinger@ntp.org> 459*f5f40dd6SCy Schubert - finding by Chen Jiabin, plus another one by me 460*f5f40dd6SCy Schubert* [Bug 3541] patch to fix STA_NANO struct timex units <perlinger@ntp.org> 461*f5f40dd6SCy Schubert - applied patch by Maciej Szmigiero 462*f5f40dd6SCy Schubert* [Bug 3540] Cannot set minsane to 0 anymore <perlinger@ntp.org> 463*f5f40dd6SCy Schubert - applied patch by Andre Charbonneau 464*f5f40dd6SCy Schubert* [Bug 3539] work_fork build fails when droproot is not supported <perlinger@ntp.org> 465*f5f40dd6SCy Schubert - applied patch by Baruch Siach 466*f5f40dd6SCy Schubert* [Bug 3538] Build fails for no-MMU targets <perlinger@ntp.org> 467*f5f40dd6SCy Schubert - applied patch by Baruch Siach 468*f5f40dd6SCy Schubert* [Bug 3535] libparse won't handle GPS week rollover <perlinger@ntp.org> 469*f5f40dd6SCy Schubert - refactored handling of GPS era based on 'tos basedate' for 470*f5f40dd6SCy Schubert parse (TSIP) and JUPITER clocks 471*f5f40dd6SCy Schubert* [Bug 3529] Build failures on Mac OS X 10.13 (High Sierra) <perlinger@ntp.org> 472*f5f40dd6SCy Schubert - patch by Daniel J. Luke; this does not fix a potential linker 473*f5f40dd6SCy Schubert regression issue on MacOS. 474*f5f40dd6SCy Schubert* [Bug 3527 - Backward Incompatible] mode7 clockinfo fudgeval2 packet 475*f5f40dd6SCy Schubert anomaly <perlinger@ntp.org>, reported by GGarvey. 476*f5f40dd6SCy Schubert - --enable-bug3527-fix support by HStenn 477*f5f40dd6SCy Schubert* [Bug 3526] Incorrect poll interval in packet <perlinger@ntp.org> 478*f5f40dd6SCy Schubert - applied patch by Gerry Garvey 479*f5f40dd6SCy Schubert* [Bug 3471] Check for openssl/[ch]mac.h. <perlinger@ntp.org> 480*f5f40dd6SCy Schubert - added missing check, reported by Reinhard Max <perlinger@ntp.org> 481*f5f40dd6SCy Schubert* [Bug 1674] runtime crashes and sync problems affecting both x86 and x86_64 482*f5f40dd6SCy Schubert - this is a variant of [bug 3558] and should be fixed with it 483*f5f40dd6SCy Schubert* Implement 'configure --disable-signalled-io' 484*f5f40dd6SCy Schubert 485*f5f40dd6SCy Schubert-- 486*f5f40dd6SCy SchubertNTP 4.2.8p12 (Harlan Stenn <stenn@ntp.org>, 2018/14/09) 487*f5f40dd6SCy Schubert 488*f5f40dd6SCy SchubertFocus: Security, Bug fixes, enhancements. 489*f5f40dd6SCy Schubert 490*f5f40dd6SCy SchubertSeverity: MEDIUM 491*f5f40dd6SCy Schubert 492*f5f40dd6SCy SchubertThis release fixes a "hole" in the noepeer capability introduced to ntpd 493*f5f40dd6SCy Schubertin ntp-4.2.8p11, and a buffer overflow in the openhost() function used by 494*f5f40dd6SCy Schubertntpq and ntpdc. It also provides 26 other bugfixes, and 4 other improvements: 495*f5f40dd6SCy Schubert 496*f5f40dd6SCy Schubert* [Sec 3505] Buffer overflow in the openhost() call of ntpq and ntpdc. 497*f5f40dd6SCy Schubert 498*f5f40dd6SCy Schubert* [Sec 3012] Fix a hole in the new "noepeer" processing. 499*f5f40dd6SCy Schubert 500*f5f40dd6SCy Schubert* Bug Fixes: 501*f5f40dd6SCy Schubert [Bug 3521] Fix a logic bug in the INVALIDNAK checks. <stenn@ntp.org> 502*f5f40dd6SCy Schubert [Bug 3509] Add support for running as non-root on FreeBSD, Darwin, 503*f5f40dd6SCy Schubert other TrustedBSD platforms 504*f5f40dd6SCy Schubert - applied patch by Ian Lepore <perlinger@ntp.org> 505*f5f40dd6SCy Schubert [Bug 3506] Service Control Manager interacts poorly with NTPD <perlinger@ntp.org> 506*f5f40dd6SCy Schubert - changed interaction with SCM to signal pending startup 507*f5f40dd6SCy Schubert [Bug 3486] Buffer overflow in ntpq/ntpq.c:tstflags() <perlinger@ntp.org> 508*f5f40dd6SCy Schubert - applied patch by Gerry Garvey 509*f5f40dd6SCy Schubert [Bug 3485] Undefined sockaddr used in error messages in ntp_config.c <perlinger@ntp.org> 510*f5f40dd6SCy Schubert - applied patch by Gerry Garvey 511*f5f40dd6SCy Schubert [Bug 3484] ntpq response from ntpd is incorrect when REFID is null <perlinger@ntp.org> 512*f5f40dd6SCy Schubert - rework of ntpq 'nextvar()' key/value parsing 513*f5f40dd6SCy Schubert [Bug 3482] Fixes for compilation warnings (ntp_io.c & ntpq-subs.c) <perlinger@ntp.org> 514*f5f40dd6SCy Schubert - applied patch by Gerry Garvey (with mods) 515*f5f40dd6SCy Schubert [Bug 3480] Refclock sample filter not cleared on clock STEP <perlinger@ntp.org> 516*f5f40dd6SCy Schubert - applied patch by Gerry Garvey 517*f5f40dd6SCy Schubert [Bug 3479] ctl_putrefid() allows unsafe characters through to ntpq <perlinger@ntp.org> 518*f5f40dd6SCy Schubert - applied patch by Gerry Garvey (with mods) 519*f5f40dd6SCy Schubert [Bug 3476]ctl_putstr() sends empty unquoted string [...] <perlinger@ntp.org> 520*f5f40dd6SCy Schubert - applied patch by Gerry Garvey (with mods); not sure if that's bug or feature, though 521*f5f40dd6SCy Schubert [Bug 3475] modify prettydate() to suppress output of zero time <perlinger@ntp.org> 522*f5f40dd6SCy Schubert - applied patch by Gerry Garvey 523*f5f40dd6SCy Schubert [Bug 3474] Missing pmode in mode7 peer info response <perlinger@ntp.org> 524*f5f40dd6SCy Schubert - applied patch by Gerry Garvey 525*f5f40dd6SCy Schubert [Bug 3471] Check for openssl/[ch]mac.h. HStenn. 526*f5f40dd6SCy Schubert - add #define ENABLE_CMAC support in configure. HStenn. 527*f5f40dd6SCy Schubert [Bug 3470] ntpd4.2.8p11 fails to compile without OpenSSL <perlinger@ntp.org> 528*f5f40dd6SCy Schubert [Bug 3469] Incomplete string compare [...] in is_refclk_addr <perlinger@ntp.org> 529*f5f40dd6SCy Schubert - patch by Stephen Friedl 530*f5f40dd6SCy Schubert [Bug 3467] Potential memory fault in ntpq [...] <perlinger@ntp.org> 531*f5f40dd6SCy Schubert - fixed IO redirection and CTRL-C handling in ntq and ntpdc 532*f5f40dd6SCy Schubert [Bug 3465] Default TTL values cannot be used <perlinger@ntp.org> 533*f5f40dd6SCy Schubert [Bug 3461] refclock_shm.c: clear error status on clock recovery <perlinger@ntp.org> 534*f5f40dd6SCy Schubert - initial patch by Hal Murray; also fixed refclock_report() trouble 535*f5f40dd6SCy Schubert [Bug 3460] Fix typo in ntpq.texi, reported by Kenyon Ralph. <stenn@ntp.org> 536*f5f40dd6SCy Schubert [Bug 3456] Use uintptr_t rather than size_t to store an integer in a pointer 537*f5f40dd6SCy Schubert - According to Brooks Davis, there was only one location <perlinger@ntp.org> 538*f5f40dd6SCy Schubert [Bug 3449] ntpq - display "loop" instead of refid [...] <perlinger@ntp.org> 539*f5f40dd6SCy Schubert - applied patch by Gerry Garvey 540*f5f40dd6SCy Schubert [Bug 3445] Symmetric peer won't sync on startup <perlinger@ntp.org> 541*f5f40dd6SCy Schubert - applied patch by Gerry Garvey 542*f5f40dd6SCy Schubert [Bug 3442] Fixes for ntpdate as suggested by Gerry Garvey, 543*f5f40dd6SCy Schubert with modifications 544*f5f40dd6SCy Schubert New macro REFID_ISTEXT() which is also used in ntpd/ntp_control.c. 545*f5f40dd6SCy Schubert [Bug 3434] ntpd clears STA_UNSYNC on start <perlinger@ntp.org> 546*f5f40dd6SCy Schubert - applied patch by Miroslav Lichvar 547*f5f40dd6SCy Schubert [Bug 3426] ntpdate.html -t default is 2 seconds. Leonid Evdokimov. 548*f5f40dd6SCy Schubert [Bug 3121] Drop root privileges for the forked DNS worker <perlinger@ntp.org> 549*f5f40dd6SCy Schubert - integrated patch by Reinhard Max 550*f5f40dd6SCy Schubert [Bug 2821] minor build issues <perlinger@ntp.org> 551*f5f40dd6SCy Schubert - applied patches by Christos Zoulas, including real bug fixes 552*f5f40dd6SCy Schubert html/authopt.html: cleanup, from <stenn@ntp.org> 553*f5f40dd6SCy Schubert ntpd/ntpd.c: DROPROOT cleanup. <stenn@ntp.org> 554*f5f40dd6SCy Schubert Symmetric key range is 1-65535. Update docs. <stenn@ntp.org> 555*f5f40dd6SCy Schubert 556*f5f40dd6SCy Schubert-- 557*f5f40dd6SCy SchubertNTP 4.2.8p11 (Harlan Stenn <stenn@ntp.org>, 2018/02/27) 558*f5f40dd6SCy Schubert 559*f5f40dd6SCy SchubertFocus: Security, Bug fixes, enhancements. 560*f5f40dd6SCy Schubert 561*f5f40dd6SCy SchubertSeverity: MEDIUM 562*f5f40dd6SCy Schubert 563*f5f40dd6SCy SchubertThis release fixes 2 low-/medium-, 1 informational/medum-, and 2 low-severity 564*f5f40dd6SCy Schubertvulnerabilities in ntpd, one medium-severity vulernability in ntpq, and 565*f5f40dd6SCy Schubertprovides 65 other non-security fixes and improvements: 566*f5f40dd6SCy Schubert 567*f5f40dd6SCy Schubert* NTP Bug 3454: Unauthenticated packet can reset authenticated interleaved 568*f5f40dd6SCy Schubert association (LOW/MED) 569*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p11) 27 Feb 2018 570*f5f40dd6SCy Schubert References: Sec 3454 / CVE-2018-7185 / VU#961909 571*f5f40dd6SCy Schubert Affects: ntp-4.2.6, up to but not including ntp-4.2.8p11. 572*f5f40dd6SCy Schubert CVSS2: MED 4.3 (AV:N/AC:M/Au:N/C:N/I:N/A:P) This could score between 573*f5f40dd6SCy Schubert 2.9 and 6.8. 574*f5f40dd6SCy Schubert 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*f5f40dd6SCy Schubert score between 2.6 and 3.1 576*f5f40dd6SCy Schubert Summary: 577*f5f40dd6SCy Schubert The NTP Protocol allows for both non-authenticated and 578*f5f40dd6SCy Schubert authenticated associations, in client/server, symmetric (peer), 579*f5f40dd6SCy Schubert and several broadcast modes. In addition to the basic NTP 580*f5f40dd6SCy Schubert operational modes, symmetric mode and broadcast servers can 581*f5f40dd6SCy Schubert support an interleaved mode of operation. In ntp-4.2.8p4 a bug 582*f5f40dd6SCy Schubert was inadvertently introduced into the protocol engine that 583*f5f40dd6SCy Schubert allows a non-authenticated zero-origin (reset) packet to reset 584*f5f40dd6SCy Schubert an authenticated interleaved peer association. If an attacker 585*f5f40dd6SCy Schubert can send a packet with a zero-origin timestamp and the source 586*f5f40dd6SCy Schubert IP address of the "other side" of an interleaved association, 587*f5f40dd6SCy Schubert the 'victim' ntpd will reset its association. The attacker must 588*f5f40dd6SCy Schubert continue sending these packets in order to maintain the 589*f5f40dd6SCy Schubert disruption of the association. In ntp-4.0.0 thru ntp-4.2.8p6, 590*f5f40dd6SCy Schubert interleave mode could be entered dynamically. As of ntp-4.2.8p7, 591*f5f40dd6SCy Schubert interleaved mode must be explicitly configured/enabled. 592*f5f40dd6SCy Schubert Mitigation: 593*f5f40dd6SCy Schubert Implement BCP-38. 594*f5f40dd6SCy Schubert Upgrade to 4.2.8p11, or later, from the NTP Project Download Page 595*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page. 596*f5f40dd6SCy Schubert If you are unable to upgrade to 4.2.8p11 or later and have 597*f5f40dd6SCy Schubert 'peer HOST xleave' lines in your ntp.conf file, remove the 598*f5f40dd6SCy Schubert 'xleave' option. 599*f5f40dd6SCy Schubert Have enough sources of time. 600*f5f40dd6SCy Schubert Properly monitor your ntpd instances. 601*f5f40dd6SCy Schubert If ntpd stops running, auto-restart it without -g . 602*f5f40dd6SCy Schubert Credit: 603*f5f40dd6SCy Schubert This weakness was discovered by Miroslav Lichvar of Red Hat. 604*f5f40dd6SCy Schubert 605*f5f40dd6SCy Schubert* NTP Bug 3453: Interleaved symmetric mode cannot recover from bad 606*f5f40dd6SCy Schubert state (LOW/MED) 607*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p11) 27 Feb 2018 608*f5f40dd6SCy Schubert References: Sec 3453 / CVE-2018-7184 / VU#961909 609*f5f40dd6SCy Schubert Affects: ntpd in ntp-4.2.8p4, up to but not including ntp-4.2.8p11. 610*f5f40dd6SCy Schubert CVSS2: MED 4.3 (AV:N/AC:M/Au:N/C:P/I:N/A:N) 611*f5f40dd6SCy Schubert Could score between 2.9 and 6.8. 612*f5f40dd6SCy Schubert CVSS3: LOW 3.1 - CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L 613*f5f40dd6SCy Schubert Could score between 2.6 and 6.0. 614*f5f40dd6SCy Schubert Summary: 615*f5f40dd6SCy Schubert The fix for NtpBug2952 was incomplete, and while it fixed one 616*f5f40dd6SCy Schubert problem it created another. Specifically, it drops bad packets 617*f5f40dd6SCy Schubert before updating the "received" timestamp. This means a 618*f5f40dd6SCy Schubert third-party can inject a packet with a zero-origin timestamp, 619*f5f40dd6SCy Schubert meaning the sender wants to reset the association, and the 620*f5f40dd6SCy Schubert transmit timestamp in this bogus packet will be saved as the 621*f5f40dd6SCy Schubert most recent "received" timestamp. The real remote peer does 622*f5f40dd6SCy Schubert not know this value and this will disrupt the association until 623*f5f40dd6SCy Schubert the association resets. 624*f5f40dd6SCy Schubert Mitigation: 625*f5f40dd6SCy Schubert Implement BCP-38. 626*f5f40dd6SCy Schubert Upgrade to ntp-4.2.8p11 or later from the NTP Project Download Page 627*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page. 628*f5f40dd6SCy Schubert Use authentication with 'peer' mode. 629*f5f40dd6SCy Schubert Have enough sources of time. 630*f5f40dd6SCy Schubert Properly monitor your ntpd instances. 631*f5f40dd6SCy Schubert If ntpd stops running, auto-restart it without -g . 632*f5f40dd6SCy Schubert Credit: 633*f5f40dd6SCy Schubert This weakness was discovered by Miroslav Lichvar of Red Hat. 634*f5f40dd6SCy Schubert 635*f5f40dd6SCy Schubert* NTP Bug 3415: Provide a way to prevent authenticated symmetric passive 636*f5f40dd6SCy Schubert peering (LOW) 637*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p11) 27 Feb 2018 638*f5f40dd6SCy Schubert References: Sec 3415 / CVE-2018-7170 / VU#961909 639*f5f40dd6SCy Schubert Sec 3012 / CVE-2016-1549 / VU#718152 640*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p7, and 641*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.92. Resolved in 4.2.8p11. 642*f5f40dd6SCy Schubert CVSS2: LOW 3.5 - (AV:N/AC:M/Au:S/C:N/I:P/A:N) 643*f5f40dd6SCy Schubert CVSS3: LOW 3.1 - CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N 644*f5f40dd6SCy Schubert Summary: 645*f5f40dd6SCy Schubert ntpd can be vulnerable to Sybil attacks. If a system is set up to 646*f5f40dd6SCy Schubert use a trustedkey and if one is not using the feature introduced in 647*f5f40dd6SCy Schubert ntp-4.2.8p6 allowing an optional 4th field in the ntp.keys file to 648*f5f40dd6SCy Schubert specify which IPs can serve time, a malicious authenticated peer 649*f5f40dd6SCy Schubert -- i.e. one where the attacker knows the private symmetric key -- 650*f5f40dd6SCy Schubert can create arbitrarily-many ephemeral associations in order to win 651*f5f40dd6SCy Schubert the clock selection of ntpd and modify a victim's clock. Three 652*f5f40dd6SCy Schubert additional protections are offered in ntp-4.2.8p11. One is the 653*f5f40dd6SCy Schubert new 'noepeer' directive, which disables symmetric passive 654*f5f40dd6SCy Schubert ephemeral peering. Another is the new 'ippeerlimit' directive, 655*f5f40dd6SCy Schubert which limits the number of peers that can be created from an IP. 656*f5f40dd6SCy Schubert The third extends the functionality of the 4th field in the 657*f5f40dd6SCy Schubert ntp.keys file to include specifying a subnet range. 658*f5f40dd6SCy Schubert Mitigation: 659*f5f40dd6SCy Schubert Implement BCP-38. 660*f5f40dd6SCy Schubert Upgrade to ntp-4.2.8p11 or later from the NTP Project Download Page 661*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page. 662*f5f40dd6SCy Schubert Use the 'noepeer' directive to prohibit symmetric passive 663*f5f40dd6SCy Schubert ephemeral associations. 664*f5f40dd6SCy Schubert Use the 'ippeerlimit' directive to limit the number of peers 665*f5f40dd6SCy Schubert that can be created from an IP. 666*f5f40dd6SCy Schubert Use the 4th argument in the ntp.keys file to limit the IPs and 667*f5f40dd6SCy Schubert subnets that can be time servers. 668*f5f40dd6SCy Schubert Have enough sources of time. 669*f5f40dd6SCy Schubert Properly monitor your ntpd instances. 670*f5f40dd6SCy Schubert If ntpd stops running, auto-restart it without -g . 671*f5f40dd6SCy Schubert Credit: 672*f5f40dd6SCy Schubert This weakness was reported as Bug 3012 by Matthew Van Gundy of 673*f5f40dd6SCy Schubert Cisco ASIG, and separately by Stefan Moser as Bug 3415. 674*f5f40dd6SCy Schubert 675*f5f40dd6SCy Schubert* ntpq Bug 3414: decodearr() can write beyond its 'buf' limits (Medium) 676*f5f40dd6SCy Schubert Date Resolved: 27 Feb 2018 677*f5f40dd6SCy Schubert References: Sec 3414 / CVE-2018-7183 / VU#961909 678*f5f40dd6SCy Schubert Affects: ntpq in ntp-4.2.8p6, up to but not including ntp-4.2.8p11. 679*f5f40dd6SCy Schubert CVSS2: MED 6.8 (AV:N/AC:M/Au:N/C:P/I:P/A:P) 680*f5f40dd6SCy Schubert CVSS3: MED 5.0 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L 681*f5f40dd6SCy Schubert Summary: 682*f5f40dd6SCy Schubert ntpq is a monitoring and control program for ntpd. decodearr() 683*f5f40dd6SCy Schubert is an internal function of ntpq that is used to -- wait for it -- 684*f5f40dd6SCy Schubert decode an array in a response string when formatted data is being 685*f5f40dd6SCy Schubert displayed. This is a problem in affected versions of ntpq if a 686*f5f40dd6SCy Schubert maliciously-altered ntpd returns an array result that will trip this 687*f5f40dd6SCy Schubert bug, or if a bad actor is able to read an ntpq request on its way to 688*f5f40dd6SCy Schubert a remote ntpd server and forge and send a response before the remote 689*f5f40dd6SCy Schubert ntpd sends its response. It's potentially possible that the 690*f5f40dd6SCy Schubert malicious data could become injectable/executable code. 691*f5f40dd6SCy Schubert Mitigation: 692*f5f40dd6SCy Schubert Implement BCP-38. 693*f5f40dd6SCy Schubert Upgrade to ntp-4.2.8p11 or later from the NTP Project Download Page 694*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page. 695*f5f40dd6SCy Schubert Credit: 696*f5f40dd6SCy Schubert This weakness was discovered by Michael Macnair of Thales e-Security. 697*f5f40dd6SCy Schubert 698*f5f40dd6SCy Schubert* NTP Bug 3412: ctl_getitem(): buffer read overrun leads to undefined 699*f5f40dd6SCy Schubert behavior and information leak (Info/Medium) 700*f5f40dd6SCy Schubert Date Resolved: 27 Feb 2018 701*f5f40dd6SCy Schubert References: Sec 3412 / CVE-2018-7182 / VU#961909 702*f5f40dd6SCy Schubert Affects: ntp-4.2.8p6, up to but not including ntp-4.2.8p11. 703*f5f40dd6SCy Schubert 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*f5f40dd6SCy Schubert 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*f5f40dd6SCy Schubert 0.0 if C:N 706*f5f40dd6SCy Schubert Summary: 707*f5f40dd6SCy Schubert ctl_getitem() is used by ntpd to process incoming mode 6 packets. 708*f5f40dd6SCy Schubert A malicious mode 6 packet can be sent to an ntpd instance, and 709*f5f40dd6SCy Schubert if the ntpd instance is from 4.2.8p6 thru 4.2.8p10, that will 710*f5f40dd6SCy Schubert cause ctl_getitem() to read past the end of its buffer. 711*f5f40dd6SCy Schubert Mitigation: 712*f5f40dd6SCy Schubert Implement BCP-38. 713*f5f40dd6SCy Schubert Upgrade to ntp-4.2.8p11 or later from the NTP Project Download Page 714*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page. 715*f5f40dd6SCy Schubert Have enough sources of time. 716*f5f40dd6SCy Schubert Properly monitor your ntpd instances. 717*f5f40dd6SCy Schubert If ntpd stops running, auto-restart it without -g . 718*f5f40dd6SCy Schubert Credit: 719*f5f40dd6SCy Schubert This weakness was discovered by Yihan Lian of Qihoo 360. 720*f5f40dd6SCy Schubert 721*f5f40dd6SCy Schubert* NTP Bug 3012: Sybil vulnerability: ephemeral association attack 722*f5f40dd6SCy Schubert Also see Bug 3415, above. 723*f5f40dd6SCy Schubert Date Mitigated: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 724*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p11) 27 Feb 2018 725*f5f40dd6SCy Schubert References: Sec 3012 / CVE-2016-1549 / VU#718152 726*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p7, and 727*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.92. Resolved in 4.2.8p11. 728*f5f40dd6SCy Schubert CVSS2: LOW 3.5 - (AV:N/AC:M/Au:S/C:N/I:P/A:N) 729*f5f40dd6SCy Schubert CVSS3: MED 5.3 - CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N 730*f5f40dd6SCy Schubert Summary: 731*f5f40dd6SCy Schubert ntpd can be vulnerable to Sybil attacks. If a system is set up 732*f5f40dd6SCy Schubert to use a trustedkey and if one is not using the feature 733*f5f40dd6SCy Schubert introduced in ntp-4.2.8p6 allowing an optional 4th field in the 734*f5f40dd6SCy Schubert ntp.keys file to specify which IPs can serve time, a malicious 735*f5f40dd6SCy Schubert authenticated peer -- i.e. one where the attacker knows the 736*f5f40dd6SCy Schubert private symmetric key -- can create arbitrarily-many ephemeral 737*f5f40dd6SCy Schubert associations in order to win the clock selection of ntpd and 738*f5f40dd6SCy Schubert modify a victim's clock. Two additional protections are 739*f5f40dd6SCy Schubert offered in ntp-4.2.8p11. One is the 'noepeer' directive, which 740*f5f40dd6SCy Schubert disables symmetric passive ephemeral peering. The other extends 741*f5f40dd6SCy Schubert the functionality of the 4th field in the ntp.keys file to 742*f5f40dd6SCy Schubert include specifying a subnet range. 743*f5f40dd6SCy Schubert Mitigation: 744*f5f40dd6SCy Schubert Implement BCP-38. 745*f5f40dd6SCy Schubert Upgrade to 4.2.8p11, or later, from the NTP Project Download Page or 746*f5f40dd6SCy Schubert the NTP Public Services Project Download Page. 747*f5f40dd6SCy Schubert Use the 'noepeer' directive to prohibit symmetric passive 748*f5f40dd6SCy Schubert ephemeral associations. 749*f5f40dd6SCy Schubert Use the 'ippeerlimit' directive to limit the number of peer 750*f5f40dd6SCy Schubert associations from an IP. 751*f5f40dd6SCy Schubert Use the 4th argument in the ntp.keys file to limit the IPs 752*f5f40dd6SCy Schubert and subnets that can be time servers. 753*f5f40dd6SCy Schubert Properly monitor your ntpd instances. 754*f5f40dd6SCy Schubert Credit: 755*f5f40dd6SCy Schubert This weakness was discovered by Matthew Van Gundy of Cisco ASIG. 756*f5f40dd6SCy Schubert 757*f5f40dd6SCy Schubert* Bug fixes: 758*f5f40dd6SCy Schubert [Bug 3457] OpenSSL FIPS mode regression <perlinger@ntp.org> 759*f5f40dd6SCy Schubert [Bug 3455] ntpd doesn't use scope id when binding multicast <perlinger@ntp.org> 760*f5f40dd6SCy Schubert - applied patch by Sean Haugh 761*f5f40dd6SCy Schubert [Bug 3452] PARSE driver prints uninitialized memory. <perlinger@ntp.org> 762*f5f40dd6SCy Schubert [Bug 3450] Dubious error messages from plausibility checks in get_systime() 763*f5f40dd6SCy Schubert - removed error log caused by rounding/slew, ensured postcondition <perlinger@ntp.org> 764*f5f40dd6SCy Schubert [Bug 3447] AES-128-CMAC (fixes) <perlinger@ntp.org> 765*f5f40dd6SCy Schubert - refactoring the MAC code, too 766*f5f40dd6SCy Schubert [Bug 3441] Validate the assumption that AF_UNSPEC is 0. stenn@ntp.org 767*f5f40dd6SCy Schubert [Bug 3439] When running multiple commands / hosts in ntpq... <perlinger@ntp.org> 768*f5f40dd6SCy Schubert - applied patch by ggarvey 769*f5f40dd6SCy Schubert [Bug 3438] Negative values and values > 999 days in... <perlinger@ntp.org> 770*f5f40dd6SCy Schubert - applied patch by ggarvey (with minor mods) 771*f5f40dd6SCy Schubert [Bug 3437] ntpd tries to open socket with AF_UNSPEC domain 772*f5f40dd6SCy Schubert - applied patch (with mods) by Miroslav Lichvar <perlinger@ntp.org> 773*f5f40dd6SCy Schubert [Bug 3435] anchor NTP era alignment <perlinger@ntp.org> 774*f5f40dd6SCy Schubert [Bug 3433] sntp crashes when run with -a. <stenn@ntp.org> 775*f5f40dd6SCy Schubert [Bug 3430] ntpq dumps core (SIGSEGV) for "keytype md2" 776*f5f40dd6SCy Schubert - fixed several issues with hash algos in ntpd, sntp, ntpq, 777*f5f40dd6SCy Schubert ntpdc and the test suites <perlinger@ntp.org> 778*f5f40dd6SCy Schubert [Bug 3424] Trimble Thunderbolt 1024 week millenium bug <perlinger@ntp.org> 779*f5f40dd6SCy Schubert - initial patch by Daniel Pouzzner 780*f5f40dd6SCy Schubert [Bug 3423] QNX adjtime() implementation error checking is 781*f5f40dd6SCy Schubert wrong <perlinger@ntp.org> 782*f5f40dd6SCy Schubert [Bug 3417] ntpq ifstats packet counters can be negative 783*f5f40dd6SCy Schubert made IFSTATS counter quantities unsigned <perlinger@ntp.org> 784*f5f40dd6SCy Schubert [Bug 3411] problem about SIGN(6) packet handling for ntp-4.2.8p10 785*f5f40dd6SCy Schubert - raised receive buffer size to 1200 <perlinger@ntp.org> 786*f5f40dd6SCy Schubert [Bug 3408] refclock_jjy.c: Avoid a wrong report of the coverity static 787*f5f40dd6SCy Schubert analysis tool. <abe@ntp.org> 788*f5f40dd6SCy Schubert [Bug 3405] update-leap.in: general cleanup, HTTPS support. Paul McMath. 789*f5f40dd6SCy Schubert [Bug 3404] Fix openSSL DLL usage under Windows <perlinger@ntp.org> 790*f5f40dd6SCy Schubert - fix/drop assumptions on OpenSSL libs directory layout 791*f5f40dd6SCy Schubert [Bug 3399] NTP: linker error in 4.2.8p10 during Linux cross-compilation 792*f5f40dd6SCy Schubert - initial patch by timeflies@mail2tor.com <perlinger@ntp.org> 793*f5f40dd6SCy Schubert [Bug 3398] tests fail with core dump <perlinger@ntp.org> 794*f5f40dd6SCy Schubert - patch contributed by Alexander Bluhm 795*f5f40dd6SCy Schubert [Bug 3397] ctl_putstr() asserts that data fits in its buffer 796*f5f40dd6SCy Schubert rework of formatting & data transfer stuff in 'ntp_control.c' 797*f5f40dd6SCy Schubert avoids unecessary buffers and size limitations. <perlinger@ntp.org> 798*f5f40dd6SCy Schubert [Bug 3394] Leap second deletion does not work on ntpd clients 799*f5f40dd6SCy Schubert - fixed handling of dynamic deletion w/o leap file <perlinger@ntp.org> 800*f5f40dd6SCy Schubert [Bug 3391] ntpd segfaults on startup due to small warmup thread stack size 801*f5f40dd6SCy Schubert - increased mimimum stack size to 32kB <perlinger@ntp.org> 802*f5f40dd6SCy Schubert [Bug 3367] Faulty LinuxPPS NMEA clock support in 4.2.8 <perlinger@ntp.org> 803*f5f40dd6SCy Schubert - reverted handling of PPS kernel consumer to 4.2.6 behavior 804*f5f40dd6SCy Schubert [Bug 3365] Updates driver40(-ja).html and miscopt.html <abe@ntp.org> 805*f5f40dd6SCy Schubert [Bug 3358] Spurious KoD log messages in .INIT. phase. HStenn. 806*f5f40dd6SCy Schubert [Bug 3016] wrong error position reported for bad ":config pool" 807*f5f40dd6SCy Schubert - fixed location counter & ntpq output <perlinger@ntp.org> 808*f5f40dd6SCy Schubert [Bug 2900] libntp build order problem. HStenn. 809*f5f40dd6SCy Schubert [Bug 2878] Tests are cluttering up syslog <perlinger@ntp.org> 810*f5f40dd6SCy Schubert [Bug 2737] Wrong phone number listed for USNO. ntp-bugs@bodosom.net, 811*f5f40dd6SCy Schubert perlinger@ntp.org 812*f5f40dd6SCy Schubert [Bug 2557] Fix Thunderbolt init. ntp-bugs@bodosom.net, perlinger@ntp. 813*f5f40dd6SCy Schubert [Bug 948] Trustedkey config directive leaks memory. <perlinger@ntp.org> 814*f5f40dd6SCy Schubert Use strlcpy() to copy strings, not memcpy(). HStenn. 815*f5f40dd6SCy Schubert Typos. HStenn. 816*f5f40dd6SCy Schubert test_ntp_scanner_LDADD needs ntpd/ntp_io.o. HStenn. 817*f5f40dd6SCy Schubert refclock_jjy.c: Add missing "%s" to an msyslog() call. HStenn. 818*f5f40dd6SCy Schubert Build ntpq and libntpq.a with NTP_HARD_*FLAGS. perlinger@ntp.org 819*f5f40dd6SCy Schubert Fix trivial warnings from 'make check'. perlinger@ntp.org 820*f5f40dd6SCy Schubert Fix bug in the override portion of the compiler hardening macro. HStenn. 821*f5f40dd6SCy Schubert record_raw_stats(): Log entire packet. Log writes. HStenn. 822*f5f40dd6SCy Schubert AES-128-CMAC support. BInglis, HStenn, JPerlinger. 823*f5f40dd6SCy Schubert sntp: tweak key file logging. HStenn. 824*f5f40dd6SCy Schubert sntp: pkt_output(): Improve debug output. HStenn. 825*f5f40dd6SCy Schubert update-leap: updates from Paul McMath. 826*f5f40dd6SCy Schubert When using pkg-config, report --modversion. HStenn. 827*f5f40dd6SCy Schubert Clean up libevent configure checks. HStenn. 828*f5f40dd6SCy Schubert sntp: show the IP of who sent us a crypto-NAK. HStenn. 829*f5f40dd6SCy Schubert Allow .../N to specify subnet bits for IPs in ntp.keys. HStenn, JPerlinger. 830*f5f40dd6SCy Schubert authistrustedip() - use it in more places. HStenn, JPerlinger. 831*f5f40dd6SCy Schubert New sysstats: sys_lamport, sys_tsrounding. HStenn. 832*f5f40dd6SCy Schubert Update ntp.keys .../N documentation. HStenn. 833*f5f40dd6SCy Schubert Distribute testconf.yml. HStenn. 834*f5f40dd6SCy Schubert Add DPRINTF(2,...) lines to receive() for packet drops. HStenn. 835*f5f40dd6SCy Schubert Rename the configuration flag fifo variables. HStenn. 836*f5f40dd6SCy Schubert Improve saveconfig output. HStenn. 837*f5f40dd6SCy Schubert Decode restrict flags on receive() debug output. HStenn. 838*f5f40dd6SCy Schubert Decode interface flags on receive() debug output. HStenn. 839*f5f40dd6SCy Schubert Warn the user if deprecated "driftfile name WanderThreshold" is used. HStenn. 840*f5f40dd6SCy Schubert Update the documentation in ntp.conf.def . HStenn. 841*f5f40dd6SCy Schubert restrictions() must return restrict flags and ippeerlimit. HStenn. 842*f5f40dd6SCy Schubert Update ntpq peer documentation to describe the 'p' type. HStenn. 843*f5f40dd6SCy Schubert Rename restrict 'flags' to 'rflags. Use an enum for the values. HStenn. 844*f5f40dd6SCy Schubert Provide dump_restricts() for debugging. HStenn. 845*f5f40dd6SCy Schubert Use consistent 4th arg type for [gs]etsockopt. JPerlinger. 846*f5f40dd6SCy Schubert 847*f5f40dd6SCy Schubert* Other items: 848*f5f40dd6SCy Schubert 849*f5f40dd6SCy Schubert* update-leap needs the following perl modules: 850*f5f40dd6SCy Schubert Net::SSLeay 851*f5f40dd6SCy Schubert IO::Socket::SSL 852*f5f40dd6SCy Schubert 853*f5f40dd6SCy Schubert* New sysstats variables: sys_lamport, sys_tsrounding 854*f5f40dd6SCy SchubertSee them with: ntpq -c "rv 0 ss_lamport,ss_tsrounding" 855*f5f40dd6SCy Schubertsys_lamport counts the number of observed Lamport violations, while 856*f5f40dd6SCy Schubertsys_tsrounding counts observed timestamp rounding events. 857*f5f40dd6SCy Schubert 858*f5f40dd6SCy Schubert* New ntp.conf items: 859*f5f40dd6SCy Schubert 860*f5f40dd6SCy Schubert- restrict ... noepeer 861*f5f40dd6SCy Schubert- restrict ... ippeerlimit N 862*f5f40dd6SCy Schubert 863*f5f40dd6SCy SchubertThe 'noepeer' directive will disallow all ephemeral/passive peer 864*f5f40dd6SCy Schubertrequests. 865*f5f40dd6SCy Schubert 866*f5f40dd6SCy SchubertThe 'ippeerlimit' directive limits the number of time associations 867*f5f40dd6SCy Schubertfor each IP in the designated set of addresses. This limit does not 868*f5f40dd6SCy Schubertapply to explicitly-configured associations. A value of -1, the current 869*f5f40dd6SCy Schubertdefault, means an unlimited number of associations may connect from a 870*f5f40dd6SCy Schubertsingle IP. 0 means "none", etc. Ordinarily the only way multiple 871*f5f40dd6SCy Schubertassociations would come from the same IP would be if the remote side 872*f5f40dd6SCy Schubertwas using a proxy. But a trusted machine might become compromised, 873*f5f40dd6SCy Schubertin which case an attacker might spin up multiple authenticated sessions 874*f5f40dd6SCy Schubertfrom different ports. This directive should be helpful in this case. 875*f5f40dd6SCy Schubert 876*f5f40dd6SCy Schubert* New ntp.keys feature: Each IP in the optional list of IPs in the 4th 877*f5f40dd6SCy Schubertfield may contain a /subnetbits specification, which identifies the 878*f5f40dd6SCy Schubertscope of IPs that may use this key. This IP/subnet restriction can be 879*f5f40dd6SCy Schubertused to limit the IPs that may use the key in most all situations where 880*f5f40dd6SCy Schuberta key is used. 881*f5f40dd6SCy Schubert-- 882*f5f40dd6SCy SchubertNTP 4.2.8p10 (Harlan Stenn <stenn@ntp.org>, 2017/03/21) 883*f5f40dd6SCy Schubert 884*f5f40dd6SCy SchubertFocus: Security, Bug fixes, enhancements. 885*f5f40dd6SCy Schubert 886*f5f40dd6SCy SchubertSeverity: MEDIUM 887*f5f40dd6SCy Schubert 888*f5f40dd6SCy SchubertThis release fixes 5 medium-, 6 low-, and 4 informational-severity 889*f5f40dd6SCy Schubertvulnerabilities, and provides 15 other non-security fixes and improvements: 890*f5f40dd6SCy Schubert 891*f5f40dd6SCy Schubert* NTP-01-016 NTP: Denial of Service via Malformed Config (Medium) 892*f5f40dd6SCy Schubert Date Resolved: 21 Mar 2017 893*f5f40dd6SCy Schubert References: Sec 3389 / CVE-2017-6464 / VU#325339 894*f5f40dd6SCy Schubert Affects: All versions of NTP-4, up to but not including ntp-4.2.8p10, and 895*f5f40dd6SCy Schubert ntp-4.3.0 up to, but not including ntp-4.3.94. 896*f5f40dd6SCy Schubert CVSS2: MED 4.6 (AV:N/AC:H/Au:M/C:N/I:N/A:C) 897*f5f40dd6SCy Schubert CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H 898*f5f40dd6SCy Schubert Summary: 899*f5f40dd6SCy Schubert A vulnerability found in the NTP server makes it possible for an 900*f5f40dd6SCy Schubert authenticated remote user to crash ntpd via a malformed mode 901*f5f40dd6SCy Schubert configuration directive. 902*f5f40dd6SCy Schubert Mitigation: 903*f5f40dd6SCy Schubert Implement BCP-38. 904*f5f40dd6SCy Schubert Upgrade to 4.2.8p10, or later, from the NTP Project Download Page or 905*f5f40dd6SCy Schubert the NTP Public Services Project Download Page 906*f5f40dd6SCy Schubert Properly monitor your ntpd instances, and auto-restart 907*f5f40dd6SCy Schubert ntpd (without -g) if it stops running. 908*f5f40dd6SCy Schubert Credit: 909*f5f40dd6SCy Schubert This weakness was discovered by Cure53. 910*f5f40dd6SCy Schubert 911*f5f40dd6SCy Schubert* NTP-01-014 NTP: Buffer Overflow in DPTS Clock (Low) 912*f5f40dd6SCy Schubert Date Resolved: 21 Mar 2017 913*f5f40dd6SCy Schubert References: Sec 3388 / CVE-2017-6462 / VU#325339 914*f5f40dd6SCy Schubert 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*f5f40dd6SCy Schubert CVSS2: Low 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P) 916*f5f40dd6SCy Schubert CVSS3: Low 1.6 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L 917*f5f40dd6SCy Schubert Summary: 918*f5f40dd6SCy Schubert There is a potential for a buffer overflow in the legacy Datum 919*f5f40dd6SCy Schubert Programmable Time Server refclock driver. Here the packets are 920*f5f40dd6SCy Schubert processed from the /dev/datum device and handled in 921*f5f40dd6SCy Schubert datum_pts_receive(). Since an attacker would be required to 922*f5f40dd6SCy Schubert somehow control a malicious /dev/datum device, this does not 923*f5f40dd6SCy Schubert appear to be a practical attack and renders this issue "Low" in 924*f5f40dd6SCy Schubert terms of severity. 925*f5f40dd6SCy Schubert Mitigation: 926*f5f40dd6SCy Schubert If you have a Datum reference clock installed and think somebody 927*f5f40dd6SCy Schubert may maliciously change the device, upgrade to 4.2.8p10, or 928*f5f40dd6SCy Schubert later, from the NTP Project Download Page or the NTP Public 929*f5f40dd6SCy Schubert Services Project Download Page 930*f5f40dd6SCy Schubert Properly monitor your ntpd instances, and auto-restart 931*f5f40dd6SCy Schubert ntpd (without -g) if it stops running. 932*f5f40dd6SCy Schubert Credit: 933*f5f40dd6SCy Schubert This weakness was discovered by Cure53. 934*f5f40dd6SCy Schubert 935*f5f40dd6SCy Schubert* NTP-01-012 NTP: Authenticated DoS via Malicious Config Option (Medium) 936*f5f40dd6SCy Schubert Date Resolved: 21 Mar 2017 937*f5f40dd6SCy Schubert References: Sec 3387 / CVE-2017-6463 / VU#325339 938*f5f40dd6SCy Schubert Affects: All versions of ntp, up to but not including ntp-4.2.8p10, and 939*f5f40dd6SCy Schubert ntp-4.3.0 up to, but not including ntp-4.3.94. 940*f5f40dd6SCy Schubert CVSS2: MED 4.6 (AV:N/AC:H/Au:M/C:N/I:N/A:C) 941*f5f40dd6SCy Schubert CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H 942*f5f40dd6SCy Schubert Summary: 943*f5f40dd6SCy Schubert A vulnerability found in the NTP server allows an authenticated 944*f5f40dd6SCy Schubert remote attacker to crash the daemon by sending an invalid setting 945*f5f40dd6SCy Schubert via the :config directive. The unpeer option expects a number or 946*f5f40dd6SCy Schubert an address as an argument. In case the value is "0", a 947*f5f40dd6SCy Schubert segmentation fault occurs. 948*f5f40dd6SCy Schubert Mitigation: 949*f5f40dd6SCy Schubert Implement BCP-38. 950*f5f40dd6SCy Schubert Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 951*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 952*f5f40dd6SCy Schubert Properly monitor your ntpd instances, and auto-restart 953*f5f40dd6SCy Schubert ntpd (without -g) if it stops running. 954*f5f40dd6SCy Schubert Credit: 955*f5f40dd6SCy Schubert This weakness was discovered by Cure53. 956*f5f40dd6SCy Schubert 957*f5f40dd6SCy Schubert* NTP-01-011 NTP: ntpq_stripquotes() returns incorrect value (Informational) 958*f5f40dd6SCy Schubert Date Resolved: 21 Mar 2017 959*f5f40dd6SCy Schubert References: Sec 3386 960*f5f40dd6SCy Schubert Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and 961*f5f40dd6SCy Schubert ntp-4.3.0 up to, but not including ntp-4.3.94. 962*f5f40dd6SCy Schubert CVSS2: None 0.0 (AV:N/AC:H/Au:N/C:N/I:N/A:N) 963*f5f40dd6SCy Schubert CVSS3: None 0.0 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:N 964*f5f40dd6SCy Schubert Summary: 965*f5f40dd6SCy Schubert The NTP Mode 6 monitoring and control client, ntpq, uses the 966*f5f40dd6SCy Schubert function ntpq_stripquotes() to remove quotes and escape characters 967*f5f40dd6SCy Schubert from a given string. According to the documentation, the function 968*f5f40dd6SCy Schubert is supposed to return the number of copied bytes but due to 969*f5f40dd6SCy Schubert incorrect pointer usage this value is always zero. Although the 970*f5f40dd6SCy Schubert return value of this function is never used in the code, this 971*f5f40dd6SCy Schubert flaw could lead to a vulnerability in the future. Since relying 972*f5f40dd6SCy Schubert on wrong return values when performing memory operations is a 973*f5f40dd6SCy Schubert dangerous practice, it is recommended to return the correct value 974*f5f40dd6SCy Schubert in accordance with the documentation pertinent to the code. 975*f5f40dd6SCy Schubert Mitigation: 976*f5f40dd6SCy Schubert Implement BCP-38. 977*f5f40dd6SCy Schubert Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 978*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 979*f5f40dd6SCy Schubert Properly monitor your ntpd instances, and auto-restart 980*f5f40dd6SCy Schubert ntpd (without -g) if it stops running. 981*f5f40dd6SCy Schubert Credit: 982*f5f40dd6SCy Schubert This weakness was discovered by Cure53. 983*f5f40dd6SCy Schubert 984*f5f40dd6SCy Schubert* NTP-01-010 NTP: ereallocarray()/eallocarray() underused (Info) 985*f5f40dd6SCy Schubert Date Resolved: 21 Mar 2017 986*f5f40dd6SCy Schubert References: Sec 3385 987*f5f40dd6SCy Schubert Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and 988*f5f40dd6SCy Schubert ntp-4.3.0 up to, but not including ntp-4.3.94. 989*f5f40dd6SCy Schubert Summary: 990*f5f40dd6SCy Schubert NTP makes use of several wrappers around the standard heap memory 991*f5f40dd6SCy Schubert allocation functions that are provided by libc. This is mainly 992*f5f40dd6SCy Schubert done to introduce additional safety checks concentrated on 993*f5f40dd6SCy Schubert several goals. First, they seek to ensure that memory is not 994*f5f40dd6SCy Schubert accidentally freed, secondly they verify that a correct amount 995*f5f40dd6SCy Schubert is always allocated and, thirdly, that allocation failures are 996*f5f40dd6SCy Schubert correctly handled. There is an additional implementation for 997*f5f40dd6SCy Schubert scenarios where memory for a specific amount of items of the 998*f5f40dd6SCy Schubert same size needs to be allocated. The handling can be found in 999*f5f40dd6SCy Schubert the oreallocarray() function for which a further number-of-elements 1000*f5f40dd6SCy Schubert parameter needs to be provided. Although no considerable threat 1001*f5f40dd6SCy Schubert was identified as tied to a lack of use of this function, it is 1002*f5f40dd6SCy Schubert recommended to correctly apply oreallocarray() as a preferred 1003*f5f40dd6SCy Schubert option across all of the locations where it is possible. 1004*f5f40dd6SCy Schubert Mitigation: 1005*f5f40dd6SCy Schubert Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 1006*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1007*f5f40dd6SCy Schubert Credit: 1008*f5f40dd6SCy Schubert This weakness was discovered by Cure53. 1009*f5f40dd6SCy Schubert 1010*f5f40dd6SCy Schubert* NTP-01-009 NTP: Privileged execution of User Library code (WINDOWS 1011*f5f40dd6SCy Schubert PPSAPI ONLY) (Low) 1012*f5f40dd6SCy Schubert Date Resolved: 21 Mar 2017 1013*f5f40dd6SCy Schubert References: Sec 3384 / CVE-2017-6455 / VU#325339 1014*f5f40dd6SCy Schubert Affects: All Windows versions of ntp-4 that use the PPSAPI, up to but 1015*f5f40dd6SCy Schubert not including ntp-4.2.8p10, and ntp-4.3.0 up to, but not 1016*f5f40dd6SCy Schubert including ntp-4.3.94. 1017*f5f40dd6SCy Schubert CVSS2: MED 3.8 (AV:L/AC:H/Au:S/C:N/I:N/A:C) 1018*f5f40dd6SCy Schubert CVSS3: MED 4.0 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H 1019*f5f40dd6SCy Schubert Summary: 1020*f5f40dd6SCy Schubert The Windows NT port has the added capability to preload DLLs 1021*f5f40dd6SCy Schubert defined in the inherited global local environment variable 1022*f5f40dd6SCy Schubert PPSAPI_DLLS. The code contained within those libraries is then 1023*f5f40dd6SCy Schubert called from the NTPD service, usually running with elevated 1024*f5f40dd6SCy Schubert privileges. Depending on how securely the machine is setup and 1025*f5f40dd6SCy Schubert configured, if ntpd is configured to use the PPSAPI under Windows 1026*f5f40dd6SCy Schubert this can easily lead to a code injection. 1027*f5f40dd6SCy Schubert Mitigation: 1028*f5f40dd6SCy Schubert Implement BCP-38. 1029*f5f40dd6SCy Schubert Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 1030*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1031*f5f40dd6SCy Schubert Credit: 1032*f5f40dd6SCy Schubert This weakness was discovered by Cure53. 1033*f5f40dd6SCy Schubert 1034*f5f40dd6SCy Schubert* NTP-01-008 NTP: Stack Buffer Overflow from Command Line (WINDOWS 1035*f5f40dd6SCy Schubert installer ONLY) (Low) 1036*f5f40dd6SCy Schubert Date Resolved: 21 Mar 2017 1037*f5f40dd6SCy Schubert References: Sec 3383 / CVE-2017-6452 / VU#325339 1038*f5f40dd6SCy Schubert Affects: WINDOWS installer ONLY: All versions of the ntp-4 Windows 1039*f5f40dd6SCy Schubert installer, up to but not including ntp-4.2.8p10, and ntp-4.3.0 up 1040*f5f40dd6SCy Schubert to, but not including ntp-4.3.94. 1041*f5f40dd6SCy Schubert CVSS2: Low 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P) 1042*f5f40dd6SCy Schubert CVSS3: Low 1.8 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L 1043*f5f40dd6SCy Schubert Summary: 1044*f5f40dd6SCy Schubert The Windows installer for NTP calls strcat(), blindly appending 1045*f5f40dd6SCy Schubert the string passed to the stack buffer in the addSourceToRegistry() 1046*f5f40dd6SCy Schubert function. The stack buffer is 70 bytes smaller than the buffer 1047*f5f40dd6SCy Schubert in the calling main() function. Together with the initially 1048*f5f40dd6SCy Schubert copied Registry path, the combination causes a stack buffer 1049*f5f40dd6SCy Schubert overflow and effectively overwrites the stack frame. The 1050*f5f40dd6SCy Schubert passed application path is actually limited to 256 bytes by the 1051*f5f40dd6SCy Schubert operating system, but this is not sufficient to assure that the 1052*f5f40dd6SCy Schubert affected stack buffer is consistently protected against 1053*f5f40dd6SCy Schubert overflowing at all times. 1054*f5f40dd6SCy Schubert Mitigation: 1055*f5f40dd6SCy Schubert Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 1056*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1057*f5f40dd6SCy Schubert Credit: 1058*f5f40dd6SCy Schubert This weakness was discovered by Cure53. 1059*f5f40dd6SCy Schubert 1060*f5f40dd6SCy Schubert* NTP-01-007 NTP: Data Structure terminated insufficiently (WINDOWS 1061*f5f40dd6SCy Schubert installer ONLY) (Low) 1062*f5f40dd6SCy Schubert Date Resolved: 21 Mar 2017 1063*f5f40dd6SCy Schubert References: Sec 3382 / CVE-2017-6459 / VU#325339 1064*f5f40dd6SCy Schubert Affects: WINDOWS installer ONLY: All ntp-4 versions of the Windows 1065*f5f40dd6SCy Schubert installer, up to but not including ntp-4.2.8p10, and ntp-4.3.0 1066*f5f40dd6SCy Schubert up to, but not including ntp-4.3.94. 1067*f5f40dd6SCy Schubert CVSS2: Low 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P) 1068*f5f40dd6SCy Schubert CVSS3: Low 1.8 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L 1069*f5f40dd6SCy Schubert Summary: 1070*f5f40dd6SCy Schubert The Windows installer for NTP calls strcpy() with an argument 1071*f5f40dd6SCy Schubert that specifically contains multiple null bytes. strcpy() only 1072*f5f40dd6SCy Schubert copies a single terminating null character into the target 1073*f5f40dd6SCy Schubert buffer instead of copying the required double null bytes in the 1074*f5f40dd6SCy Schubert addKeysToRegistry() function. As a consequence, a garbage 1075*f5f40dd6SCy Schubert registry entry can be created. The additional arsize parameter 1076*f5f40dd6SCy Schubert is erroneously set to contain two null bytes and the following 1077*f5f40dd6SCy Schubert call to RegSetValueEx() claims to be passing in a multi-string 1078*f5f40dd6SCy Schubert value, though this may not be true. 1079*f5f40dd6SCy Schubert Mitigation: 1080*f5f40dd6SCy Schubert Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 1081*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1082*f5f40dd6SCy Schubert Credit: 1083*f5f40dd6SCy Schubert This weakness was discovered by Cure53. 1084*f5f40dd6SCy Schubert 1085*f5f40dd6SCy Schubert* NTP-01-006 NTP: Copious amounts of Unused Code (Informational) 1086*f5f40dd6SCy Schubert References: Sec 3381 1087*f5f40dd6SCy Schubert Summary: 1088*f5f40dd6SCy Schubert The report says: Statically included external projects 1089*f5f40dd6SCy Schubert potentially introduce several problems and the issue of having 1090*f5f40dd6SCy Schubert extensive amounts of code that is "dead" in the resulting binary 1091*f5f40dd6SCy Schubert must clearly be pointed out. The unnecessary unused code may or 1092*f5f40dd6SCy Schubert may not contain bugs and, quite possibly, might be leveraged for 1093*f5f40dd6SCy Schubert code-gadget-based branch-flow redirection exploits. Analogically, 1094*f5f40dd6SCy Schubert having source trees statically included as well means a failure 1095*f5f40dd6SCy Schubert in taking advantage of the free feature for periodical updates. 1096*f5f40dd6SCy Schubert This solution is offered by the system's Package Manager. The 1097*f5f40dd6SCy Schubert three libraries identified are libisc, libevent, and libopts. 1098*f5f40dd6SCy Schubert Resolution: 1099*f5f40dd6SCy Schubert For libisc, we already only use a portion of the original library. 1100*f5f40dd6SCy Schubert We've found and fixed bugs in the original implementation (and 1101*f5f40dd6SCy Schubert offered the patches to ISC), and plan to see what has changed 1102*f5f40dd6SCy Schubert since we last upgraded the code. libisc is generally not 1103*f5f40dd6SCy Schubert installed, and when it it we usually only see the static libisc.a 1104*f5f40dd6SCy Schubert file installed. Until we know for sure that the bugs we've found 1105*f5f40dd6SCy Schubert and fixed are fixed upstream, we're better off with the copy we 1106*f5f40dd6SCy Schubert are using. 1107*f5f40dd6SCy Schubert 1108*f5f40dd6SCy Schubert Version 1 of libevent was the only production version available 1109*f5f40dd6SCy Schubert until recently, and we've been requiring version 2 for a long time. 1110*f5f40dd6SCy Schubert But if the build system has at least version 2 of libevent 1111*f5f40dd6SCy Schubert installed, we'll use the version that is installed on the system. 1112*f5f40dd6SCy Schubert Otherwise, we provide a copy of libevent that we know works. 1113*f5f40dd6SCy Schubert 1114*f5f40dd6SCy Schubert libopts is provided by GNU AutoGen, and that library and package 1115*f5f40dd6SCy Schubert undergoes frequent API version updates. The version of autogen 1116*f5f40dd6SCy Schubert used to generate the tables for the code must match the API 1117*f5f40dd6SCy Schubert version in libopts. AutoGen can be ... difficult to build and 1118*f5f40dd6SCy Schubert install, and very few developers really need it. So we have it 1119*f5f40dd6SCy Schubert on our build and development machines, and we provide the 1120*f5f40dd6SCy Schubert specific version of the libopts code in the distribution to make 1121*f5f40dd6SCy Schubert sure that the proper API version of libopts is available. 1122*f5f40dd6SCy Schubert 1123*f5f40dd6SCy Schubert As for the point about there being code in these libraries that 1124*f5f40dd6SCy Schubert NTP doesn't use, OK. But other packages used these libraries as 1125*f5f40dd6SCy Schubert well, and it is reasonable to assume that other people are paying 1126*f5f40dd6SCy Schubert attention to security and code quality issues for the overall 1127*f5f40dd6SCy Schubert libraries. It takes significant resources to analyze and 1128*f5f40dd6SCy Schubert customize these libraries to only include what we need, and to 1129*f5f40dd6SCy Schubert date we believe the cost of this effort does not justify the benefit. 1130*f5f40dd6SCy Schubert Credit: 1131*f5f40dd6SCy Schubert This issue was discovered by Cure53. 1132*f5f40dd6SCy Schubert 1133*f5f40dd6SCy Schubert* NTP-01-005 NTP: Off-by-one in Oncore GPS Receiver (Low) 1134*f5f40dd6SCy Schubert Date Resolved: 21 Mar 2017 1135*f5f40dd6SCy Schubert References: Sec 3380 1136*f5f40dd6SCy Schubert Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and 1137*f5f40dd6SCy Schubert ntp-4.3.0 up to, but not including ntp-4.3.94. 1138*f5f40dd6SCy Schubert CVSS2: None 0.0 (AV:L/AC:H/Au:N/C:N/I:N/A:N) 1139*f5f40dd6SCy Schubert CVSS3: None 0.0 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N 1140*f5f40dd6SCy Schubert Summary: 1141*f5f40dd6SCy Schubert There is a fencepost error in a "recovery branch" of the code for 1142*f5f40dd6SCy Schubert the Oncore GPS receiver if the communication link to the ONCORE 1143*f5f40dd6SCy Schubert is weak / distorted and the decoding doesn't work. 1144*f5f40dd6SCy Schubert Mitigation: 1145*f5f40dd6SCy Schubert Upgrade to 4.2.8p10, or later, from the NTP Project Download Page or 1146*f5f40dd6SCy Schubert the NTP Public Services Project Download Page 1147*f5f40dd6SCy Schubert Properly monitor your ntpd instances, and auto-restart 1148*f5f40dd6SCy Schubert ntpd (without -g) if it stops running. 1149*f5f40dd6SCy Schubert Credit: 1150*f5f40dd6SCy Schubert This weakness was discovered by Cure53. 1151*f5f40dd6SCy Schubert 1152*f5f40dd6SCy Schubert* NTP-01-004 NTP: Potential Overflows in ctl_put() functions (Medium) 1153*f5f40dd6SCy Schubert Date Resolved: 21 Mar 2017 1154*f5f40dd6SCy Schubert References: Sec 3379 / CVE-2017-6458 / VU#325339 1155*f5f40dd6SCy Schubert Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and 1156*f5f40dd6SCy Schubert ntp-4.3.0 up to, but not including ntp-4.3.94. 1157*f5f40dd6SCy Schubert CVSS2: MED 4.6 (AV:N/AC:H/Au:M/C:N/I:N/A:C) 1158*f5f40dd6SCy Schubert CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H 1159*f5f40dd6SCy Schubert Summary: 1160*f5f40dd6SCy Schubert ntpd makes use of different wrappers around ctl_putdata() to 1161*f5f40dd6SCy Schubert create name/value ntpq (mode 6) response strings. For example, 1162*f5f40dd6SCy Schubert ctl_putstr() is usually used to send string data (variable names 1163*f5f40dd6SCy Schubert or string data). The formatting code was missing a length check 1164*f5f40dd6SCy Schubert for variable names. If somebody explicitly created any unusually 1165*f5f40dd6SCy Schubert long variable names in ntpd (longer than 200-512 bytes, depending 1166*f5f40dd6SCy Schubert on the type of variable), then if any of these variables are 1167*f5f40dd6SCy Schubert added to the response list it would overflow a buffer. 1168*f5f40dd6SCy Schubert Mitigation: 1169*f5f40dd6SCy Schubert Implement BCP-38. 1170*f5f40dd6SCy Schubert Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 1171*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1172*f5f40dd6SCy Schubert If you don't want to upgrade, then don't setvar variable names 1173*f5f40dd6SCy Schubert longer than 200-512 bytes in your ntp.conf file. 1174*f5f40dd6SCy Schubert Properly monitor your ntpd instances, and auto-restart 1175*f5f40dd6SCy Schubert ntpd (without -g) if it stops running. 1176*f5f40dd6SCy Schubert Credit: 1177*f5f40dd6SCy Schubert This weakness was discovered by Cure53. 1178*f5f40dd6SCy Schubert 1179*f5f40dd6SCy Schubert* NTP-01-003 NTP: Improper use of snprintf() in mx4200_send() (Low) 1180*f5f40dd6SCy Schubert Date Resolved: 21 Mar 2017 1181*f5f40dd6SCy Schubert References: Sec 3378 / CVE-2017-6451 / VU#325339 1182*f5f40dd6SCy Schubert Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and 1183*f5f40dd6SCy Schubert ntp-4.3.0 up to, but not including ntp-4.3.94. 1184*f5f40dd6SCy Schubert CVSS2: LOW 0.8 (AV:L/AC:H/Au:M/C:N/I:N/A:P) 1185*f5f40dd6SCy Schubert CVSS3: LOW 1.8 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N 1186*f5f40dd6SCy Schubert Summary: 1187*f5f40dd6SCy Schubert The legacy MX4200 refclock is only built if is specifically 1188*f5f40dd6SCy Schubert enabled, and furthermore additional code changes are required to 1189*f5f40dd6SCy Schubert compile and use it. But it uses the libc functions snprintf() 1190*f5f40dd6SCy Schubert and vsnprintf() incorrectly, which can lead to an out-of-bounds 1191*f5f40dd6SCy Schubert memory write due to an improper handling of the return value of 1192*f5f40dd6SCy Schubert snprintf()/vsnprintf(). Since the return value is used as an 1193*f5f40dd6SCy Schubert iterator and it can be larger than the buffer's size, it is 1194*f5f40dd6SCy Schubert possible for the iterator to point somewhere outside of the 1195*f5f40dd6SCy Schubert allocated buffer space. This results in an out-of-bound memory 1196*f5f40dd6SCy Schubert write. This behavior can be leveraged to overwrite a saved 1197*f5f40dd6SCy Schubert instruction pointer on the stack and gain control over the 1198*f5f40dd6SCy Schubert execution flow. During testing it was not possible to identify 1199*f5f40dd6SCy Schubert any malicious usage for this vulnerability. Specifically, no 1200*f5f40dd6SCy Schubert way for an attacker to exploit this vulnerability was ultimately 1201*f5f40dd6SCy Schubert unveiled. However, it has the potential to be exploited, so the 1202*f5f40dd6SCy Schubert code should be fixed. 1203*f5f40dd6SCy Schubert Mitigation, if you have a Magnavox MX4200 refclock: 1204*f5f40dd6SCy Schubert Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 1205*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page. 1206*f5f40dd6SCy Schubert Properly monitor your ntpd instances, and auto-restart 1207*f5f40dd6SCy Schubert ntpd (without -g) if it stops running. 1208*f5f40dd6SCy Schubert Credit: 1209*f5f40dd6SCy Schubert This weakness was discovered by Cure53. 1210*f5f40dd6SCy Schubert 1211*f5f40dd6SCy Schubert* NTP-01-002 NTP: Buffer Overflow in ntpq when fetching reslist from a 1212*f5f40dd6SCy Schubert malicious ntpd (Medium) 1213*f5f40dd6SCy Schubert Date Resolved: 21 Mar 2017 1214*f5f40dd6SCy Schubert References: Sec 3377 / CVE-2017-6460 / VU#325339 1215*f5f40dd6SCy Schubert Affects: All versions of ntpq, up to but not including ntp-4.2.8p10, and 1216*f5f40dd6SCy Schubert ntp-4.3.0 up to, but not including ntp-4.3.94. 1217*f5f40dd6SCy Schubert CVSS2: MED 4.9 (AV:N/AC:H/Au:S/C:N/I:N/A:C) 1218*f5f40dd6SCy Schubert CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H 1219*f5f40dd6SCy Schubert Summary: 1220*f5f40dd6SCy Schubert A stack buffer overflow in ntpq can be triggered by a malicious 1221*f5f40dd6SCy Schubert ntpd server when ntpq requests the restriction list from the server. 1222*f5f40dd6SCy Schubert This is due to a missing length check in the reslist() function. 1223*f5f40dd6SCy Schubert It occurs whenever the function parses the server's response and 1224*f5f40dd6SCy Schubert encounters a flagstr variable of an excessive length. The string 1225*f5f40dd6SCy Schubert will be copied into a fixed-size buffer, leading to an overflow on 1226*f5f40dd6SCy Schubert the function's stack-frame. Note well that this problem requires 1227*f5f40dd6SCy Schubert a malicious server, and affects ntpq, not ntpd. 1228*f5f40dd6SCy Schubert Mitigation: 1229*f5f40dd6SCy Schubert Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 1230*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1231*f5f40dd6SCy Schubert If you can't upgrade your version of ntpq then if you want to know 1232*f5f40dd6SCy Schubert the reslist of an instance of ntpd that you do not control, 1233*f5f40dd6SCy Schubert know that if the target ntpd is malicious that it can send back 1234*f5f40dd6SCy Schubert a response that intends to crash your ntpq process. 1235*f5f40dd6SCy Schubert Credit: 1236*f5f40dd6SCy Schubert This weakness was discovered by Cure53. 1237*f5f40dd6SCy Schubert 1238*f5f40dd6SCy Schubert* NTP-01-001 NTP: Makefile does not enforce Security Flags (Informational) 1239*f5f40dd6SCy Schubert Date Resolved: 21 Mar 2017 1240*f5f40dd6SCy Schubert References: Sec 3376 1241*f5f40dd6SCy Schubert Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and 1242*f5f40dd6SCy Schubert ntp-4.3.0 up to, but not including ntp-4.3.94. 1243*f5f40dd6SCy Schubert CVSS2: N/A 1244*f5f40dd6SCy Schubert CVSS3: N/A 1245*f5f40dd6SCy Schubert Summary: 1246*f5f40dd6SCy Schubert The build process for NTP has not, by default, provided compile 1247*f5f40dd6SCy Schubert or link flags to offer "hardened" security options. Package 1248*f5f40dd6SCy Schubert maintainers have always been able to provide hardening security 1249*f5f40dd6SCy Schubert flags for their builds. As of ntp-4.2.8p10, the NTP build 1250*f5f40dd6SCy Schubert system has a way to provide OS-specific hardening flags. Please 1251*f5f40dd6SCy Schubert note that this is still not a really great solution because it 1252*f5f40dd6SCy Schubert is specific to NTP builds. It's inefficient to have every 1253*f5f40dd6SCy Schubert package supply, track and maintain this information for every 1254*f5f40dd6SCy Schubert target build. It would be much better if there was a common way 1255*f5f40dd6SCy Schubert for OSes to provide this information in a way that arbitrary 1256*f5f40dd6SCy Schubert packages could benefit from it. 1257*f5f40dd6SCy Schubert Mitigation: 1258*f5f40dd6SCy Schubert Implement BCP-38. 1259*f5f40dd6SCy Schubert Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 1260*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1261*f5f40dd6SCy Schubert Properly monitor your ntpd instances, and auto-restart 1262*f5f40dd6SCy Schubert ntpd (without -g) if it stops running. 1263*f5f40dd6SCy Schubert Credit: 1264*f5f40dd6SCy Schubert This weakness was reported by Cure53. 1265*f5f40dd6SCy Schubert 1266*f5f40dd6SCy Schubert* 0rigin DoS (Medium) 1267*f5f40dd6SCy Schubert Date Resolved: 21 Mar 2017 1268*f5f40dd6SCy Schubert References: Sec 3361 / CVE-2016-9042 / VU#325339 1269*f5f40dd6SCy Schubert Affects: ntp-4.2.8p9 (21 Nov 2016), up to but not including ntp-4.2.8p10 1270*f5f40dd6SCy Schubert CVSS2: MED 4.9 (AV:N/AC:H/Au:N/C:N/I:N/A:C) (worst case) 1271*f5f40dd6SCy Schubert 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*f5f40dd6SCy Schubert Summary: 1273*f5f40dd6SCy Schubert An exploitable denial of service vulnerability exists in the 1274*f5f40dd6SCy Schubert origin timestamp check functionality of ntpd 4.2.8p9. A specially 1275*f5f40dd6SCy Schubert crafted unauthenticated network packet can be used to reset the 1276*f5f40dd6SCy Schubert expected origin timestamp for target peers. Legitimate replies 1277*f5f40dd6SCy Schubert from targeted peers will fail the origin timestamp check (TEST2) 1278*f5f40dd6SCy Schubert causing the reply to be dropped and creating a denial of service 1279*f5f40dd6SCy Schubert condition. This vulnerability can only be exploited if the 1280*f5f40dd6SCy Schubert attacker can spoof all of the servers. 1281*f5f40dd6SCy Schubert Mitigation: 1282*f5f40dd6SCy Schubert Implement BCP-38. 1283*f5f40dd6SCy Schubert Configure enough servers/peers that an attacker cannot target 1284*f5f40dd6SCy Schubert all of your time sources. 1285*f5f40dd6SCy Schubert Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 1286*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1287*f5f40dd6SCy Schubert Properly monitor your ntpd instances, and auto-restart 1288*f5f40dd6SCy Schubert ntpd (without -g) if it stops running. 1289*f5f40dd6SCy Schubert Credit: 1290*f5f40dd6SCy Schubert This weakness was discovered by Matthew Van Gundy of Cisco. 1291*f5f40dd6SCy Schubert 1292*f5f40dd6SCy SchubertOther fixes: 1293*f5f40dd6SCy Schubert 1294*f5f40dd6SCy Schubert* [Bug 3393] clang scan-build findings <perlinger@ntp.org> 1295*f5f40dd6SCy Schubert* [Bug 3363] Support for openssl-1.1.0 without compatibility modes 1296*f5f40dd6SCy Schubert - rework of patch set from <ntp.org@eroen.eu>. <perlinger@ntp.org> 1297*f5f40dd6SCy Schubert* [Bug 3356] Bugfix 3072 breaks multicastclient <perlinger@ntp.org> 1298*f5f40dd6SCy Schubert* [Bug 3216] libntp audio ioctl() args incorrectly cast to int 1299*f5f40dd6SCy Schubert on 4.4BSD-Lite derived platforms <perlinger@ntp.org> 1300*f5f40dd6SCy Schubert - original patch by Majdi S. Abbas 1301*f5f40dd6SCy Schubert* [Bug 3215] 'make distcheck' fails with new BK repo format <perlinger@ntp.org> 1302*f5f40dd6SCy Schubert* [Bug 3173] forking async worker: interrupted pipe I/O <perlinger@ntp.org> 1303*f5f40dd6SCy Schubert - initial patch by Christos Zoulas 1304*f5f40dd6SCy Schubert* [Bug 3139] (...) time_pps_create: Exec format error <perlinger@ntp.org> 1305*f5f40dd6SCy Schubert - move loader API from 'inline' to proper source 1306*f5f40dd6SCy Schubert - augment pathless dlls with absolute path to NTPD 1307*f5f40dd6SCy Schubert - use 'msyslog()' instead of 'printf() 'for reporting trouble 1308*f5f40dd6SCy Schubert* [Bug 3107] Incorrect Logic for Peer Event Limiting <perlinger@ntp.org> 1309*f5f40dd6SCy Schubert - applied patch by Matthew Van Gundy 1310*f5f40dd6SCy Schubert* [Bug 3065] Quiet warnings on NetBSD <perlinger@ntp.org> 1311*f5f40dd6SCy Schubert - applied some of the patches provided by Havard. Not all of them 1312*f5f40dd6SCy Schubert still match the current code base, and I did not touch libopt. 1313*f5f40dd6SCy Schubert* [Bug 3062] Change the process name of forked DNS worker <perlinger@ntp.org> 1314*f5f40dd6SCy Schubert - applied patch by Reinhard Max. See bugzilla for limitations. 1315*f5f40dd6SCy Schubert* [Bug 2923] Trap Configuration Fail <perlinger@ntp.org> 1316*f5f40dd6SCy Schubert - fixed dependency inversion from [Bug 2837] 1317*f5f40dd6SCy Schubert* [Bug 2896] Nothing happens if minsane < maxclock < minclock 1318*f5f40dd6SCy Schubert - produce ERROR log message about dysfunctional daemon. <perlinger@ntp.org> 1319*f5f40dd6SCy Schubert* [Bug 2851] allow -4/-6 on restrict line with mask <perlinger@ntp.org> 1320*f5f40dd6SCy Schubert - applied patch by Miroslav Lichvar for ntp4.2.6 compat 1321*f5f40dd6SCy Schubert* [Bug 2645] out-of-bound pointers in ctl_putsys and decode_bitflags 1322*f5f40dd6SCy Schubert - Fixed these and some more locations of this pattern. 1323*f5f40dd6SCy Schubert Probably din't get them all, though. <perlinger@ntp.org> 1324*f5f40dd6SCy Schubert* Update copyright year. 1325*f5f40dd6SCy Schubert 1326*f5f40dd6SCy Schubert-- 1327*f5f40dd6SCy Schubert(4.2.8p9-win) 2017/02/01 Released by Harlan Stenn <stenn@ntp.org> 1328*f5f40dd6SCy Schubert 1329*f5f40dd6SCy Schubert* [Bug 3144] NTP does not build without openSSL. <perlinger@ntp.org> 1330*f5f40dd6SCy Schubert - added missed changeset for automatic openssl lib detection 1331*f5f40dd6SCy Schubert - fixed some minor warning issues 1332*f5f40dd6SCy Schubert* [Bug 3095] More compatibility with openssl 1.1. <perlinger@ntp.org> 1333*f5f40dd6SCy Schubert* configure.ac cleanup. stenn@ntp.org 1334*f5f40dd6SCy Schubert* openssl configure cleanup. stenn@ntp.org 1335*f5f40dd6SCy Schubert 1336*f5f40dd6SCy Schubert-- 1337*f5f40dd6SCy SchubertNTP 4.2.8p9 (Harlan Stenn <stenn@ntp.org>, 2016/11/21) 1338*f5f40dd6SCy Schubert 1339*f5f40dd6SCy SchubertFocus: Security, Bug fixes, enhancements. 1340*f5f40dd6SCy Schubert 1341*f5f40dd6SCy SchubertSeverity: HIGH 1342*f5f40dd6SCy Schubert 1343*f5f40dd6SCy SchubertIn addition to bug fixes and enhancements, this release fixes the 1344*f5f40dd6SCy Schubertfollowing 1 high- (Windows only), 2 medium-, 2 medium-/low, and 1345*f5f40dd6SCy Schubert5 low-severity vulnerabilities, and provides 28 other non-security 1346*f5f40dd6SCy Schubertfixes and improvements: 1347*f5f40dd6SCy Schubert 1348*f5f40dd6SCy Schubert* Trap crash 1349*f5f40dd6SCy Schubert Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016 1350*f5f40dd6SCy Schubert References: Sec 3119 / CVE-2016-9311 / VU#633847 1351*f5f40dd6SCy Schubert Affects: ntp-4.0.90 (21 July 1999), possibly earlier, up to but not 1352*f5f40dd6SCy Schubert including 4.2.8p9, and ntp-4.3.0 up to but not including ntp-4.3.94. 1353*f5f40dd6SCy Schubert CVSS2: MED 4.9 (AV:N/AC:H/Au:N/C:N/I:N/A:C) 1354*f5f40dd6SCy Schubert CVSS3: MED 4.4 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H 1355*f5f40dd6SCy Schubert Summary: 1356*f5f40dd6SCy Schubert ntpd does not enable trap service by default. If trap service 1357*f5f40dd6SCy Schubert has been explicitly enabled, an attacker can send a specially 1358*f5f40dd6SCy Schubert crafted packet to cause a null pointer dereference that will 1359*f5f40dd6SCy Schubert crash ntpd, resulting in a denial of service. 1360*f5f40dd6SCy Schubert Mitigation: 1361*f5f40dd6SCy Schubert Implement BCP-38. 1362*f5f40dd6SCy Schubert Use "restrict default noquery ..." in your ntp.conf file. Only 1363*f5f40dd6SCy Schubert allow mode 6 queries from trusted networks and hosts. 1364*f5f40dd6SCy Schubert Upgrade to 4.2.8p9, or later, from the NTP Project Download Page 1365*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1366*f5f40dd6SCy Schubert Properly monitor your ntpd instances, and auto-restart ntpd 1367*f5f40dd6SCy Schubert (without -g) if it stops running. 1368*f5f40dd6SCy Schubert Credit: This weakness was discovered by Matthew Van Gundy of Cisco. 1369*f5f40dd6SCy Schubert 1370*f5f40dd6SCy Schubert* Mode 6 information disclosure and DDoS vector 1371*f5f40dd6SCy Schubert Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016 1372*f5f40dd6SCy Schubert References: Sec 3118 / CVE-2016-9310 / VU#633847 1373*f5f40dd6SCy Schubert Affects: ntp-4.0.90 (21 July 1999), possibly earlier, up to but not 1374*f5f40dd6SCy Schubert including 4.2.8p9, and ntp-4.3.0 up to but not including ntp-4.3.94. 1375*f5f40dd6SCy Schubert CVSS2: MED 6.4 (AV:A/AC:L/Au:N/C:N/I:N/A:P) 1376*f5f40dd6SCy Schubert CVSS3: MED 6.5 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L 1377*f5f40dd6SCy Schubert Summary: 1378*f5f40dd6SCy Schubert An exploitable configuration modification vulnerability exists 1379*f5f40dd6SCy Schubert in the control mode (mode 6) functionality of ntpd. If, against 1380*f5f40dd6SCy Schubert long-standing BCP recommendations, "restrict default noquery ..." 1381*f5f40dd6SCy Schubert is not specified, a specially crafted control mode packet can set 1382*f5f40dd6SCy Schubert ntpd traps, providing information disclosure and DDoS 1383*f5f40dd6SCy Schubert amplification, and unset ntpd traps, disabling legitimate 1384*f5f40dd6SCy Schubert monitoring. A remote, unauthenticated, network attacker can 1385*f5f40dd6SCy Schubert trigger this vulnerability. 1386*f5f40dd6SCy Schubert Mitigation: 1387*f5f40dd6SCy Schubert Implement BCP-38. 1388*f5f40dd6SCy Schubert Use "restrict default noquery ..." in your ntp.conf file. 1389*f5f40dd6SCy Schubert Upgrade to 4.2.8p9, or later, from the NTP Project Download Page 1390*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1391*f5f40dd6SCy Schubert Properly monitor your ntpd instances, and auto-restart ntpd 1392*f5f40dd6SCy Schubert (without -g) if it stops running. 1393*f5f40dd6SCy Schubert Credit: This weakness was discovered by Matthew Van Gundy of Cisco. 1394*f5f40dd6SCy Schubert 1395*f5f40dd6SCy Schubert* Broadcast Mode Replay Prevention DoS 1396*f5f40dd6SCy Schubert Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016 1397*f5f40dd6SCy Schubert References: Sec 3114 / CVE-2016-7427 / VU#633847 1398*f5f40dd6SCy Schubert Affects: ntp-4.2.8p6, up to but not including ntp-4.2.8p9, and 1399*f5f40dd6SCy Schubert ntp-4.3.90 up to, but not including ntp-4.3.94. 1400*f5f40dd6SCy Schubert CVSS2: LOW 3.3 (AV:A/AC:L/Au:N/C:N/I:N/A:P) 1401*f5f40dd6SCy Schubert CVSS3: MED 4.3 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L 1402*f5f40dd6SCy Schubert Summary: 1403*f5f40dd6SCy Schubert The broadcast mode of NTP is expected to only be used in a 1404*f5f40dd6SCy Schubert trusted network. If the broadcast network is accessible to an 1405*f5f40dd6SCy Schubert attacker, a potentially exploitable denial of service 1406*f5f40dd6SCy Schubert vulnerability in ntpd's broadcast mode replay prevention 1407*f5f40dd6SCy Schubert functionality can be abused. An attacker with access to the NTP 1408*f5f40dd6SCy Schubert broadcast domain can periodically inject specially crafted 1409*f5f40dd6SCy Schubert broadcast mode NTP packets into the broadcast domain which, 1410*f5f40dd6SCy Schubert while being logged by ntpd, can cause ntpd to reject broadcast 1411*f5f40dd6SCy Schubert mode packets from legitimate NTP broadcast servers. 1412*f5f40dd6SCy Schubert Mitigation: 1413*f5f40dd6SCy Schubert Implement BCP-38. 1414*f5f40dd6SCy Schubert Upgrade to 4.2.8p9, or later, from the NTP Project Download Page 1415*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1416*f5f40dd6SCy Schubert Properly monitor your ntpd instances, and auto-restart ntpd 1417*f5f40dd6SCy Schubert (without -g) if it stops running. 1418*f5f40dd6SCy Schubert Credit: This weakness was discovered by Matthew Van Gundy of Cisco. 1419*f5f40dd6SCy Schubert 1420*f5f40dd6SCy Schubert* Broadcast Mode Poll Interval Enforcement DoS 1421*f5f40dd6SCy Schubert Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016 1422*f5f40dd6SCy Schubert References: Sec 3113 / CVE-2016-7428 / VU#633847 1423*f5f40dd6SCy Schubert Affects: ntp-4.2.8p6, up to but not including ntp-4.2.8p9, and 1424*f5f40dd6SCy Schubert ntp-4.3.90 up to, but not including ntp-4.3.94 1425*f5f40dd6SCy Schubert CVSS2: LOW 3.3 (AV:A/AC:L/Au:N/C:N/I:N/A:P) 1426*f5f40dd6SCy Schubert CVSS3: MED 4.3 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L 1427*f5f40dd6SCy Schubert Summary: 1428*f5f40dd6SCy Schubert The broadcast mode of NTP is expected to only be used in a 1429*f5f40dd6SCy Schubert trusted network. If the broadcast network is accessible to an 1430*f5f40dd6SCy Schubert attacker, a potentially exploitable denial of service 1431*f5f40dd6SCy Schubert vulnerability in ntpd's broadcast mode poll interval enforcement 1432*f5f40dd6SCy Schubert functionality can be abused. To limit abuse, ntpd restricts the 1433*f5f40dd6SCy Schubert rate at which each broadcast association will process incoming 1434*f5f40dd6SCy Schubert packets. ntpd will reject broadcast mode packets that arrive 1435*f5f40dd6SCy Schubert before the poll interval specified in the preceding broadcast 1436*f5f40dd6SCy Schubert packet expires. An attacker with access to the NTP broadcast 1437*f5f40dd6SCy Schubert domain can send specially crafted broadcast mode NTP packets to 1438*f5f40dd6SCy Schubert the broadcast domain which, while being logged by ntpd, will 1439*f5f40dd6SCy Schubert cause ntpd to reject broadcast mode packets from legitimate NTP 1440*f5f40dd6SCy Schubert broadcast servers. 1441*f5f40dd6SCy Schubert Mitigation: 1442*f5f40dd6SCy Schubert Implement BCP-38. 1443*f5f40dd6SCy Schubert Upgrade to 4.2.8p9, or later, from the NTP Project Download Page 1444*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1445*f5f40dd6SCy Schubert Properly monitor your ntpd instances, and auto-restart ntpd 1446*f5f40dd6SCy Schubert (without -g) if it stops running. 1447*f5f40dd6SCy Schubert Credit: This weakness was discovered by Matthew Van Gundy of Cisco. 1448*f5f40dd6SCy Schubert 1449*f5f40dd6SCy Schubert* Windows: ntpd DoS by oversized UDP packet 1450*f5f40dd6SCy Schubert Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016 1451*f5f40dd6SCy Schubert References: Sec 3110 / CVE-2016-9312 / VU#633847 1452*f5f40dd6SCy Schubert Affects Windows only: ntp-4.?.?, up to but not including ntp-4.2.8p9, 1453*f5f40dd6SCy Schubert and ntp-4.3.0 up to, but not including ntp-4.3.94. 1454*f5f40dd6SCy Schubert CVSS2: HIGH 7.8 (AV:N/AC:L/Au:N/C:N/I:N/A:C) 1455*f5f40dd6SCy Schubert CVSS3: HIGH 7.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H 1456*f5f40dd6SCy Schubert Summary: 1457*f5f40dd6SCy Schubert If a vulnerable instance of ntpd on Windows receives a crafted 1458*f5f40dd6SCy Schubert malicious packet that is "too big", ntpd will stop working. 1459*f5f40dd6SCy Schubert Mitigation: 1460*f5f40dd6SCy Schubert Implement BCP-38. 1461*f5f40dd6SCy Schubert Upgrade to 4.2.8p9, or later, from the NTP Project Download Page 1462*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1463*f5f40dd6SCy Schubert Properly monitor your ntpd instances, and auto-restart ntpd 1464*f5f40dd6SCy Schubert (without -g) if it stops running. 1465*f5f40dd6SCy Schubert Credit: This weakness was discovered by Robert Pajak of ABB. 1466*f5f40dd6SCy Schubert 1467*f5f40dd6SCy Schubert* 0rigin (zero origin) issues 1468*f5f40dd6SCy Schubert Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016 1469*f5f40dd6SCy Schubert References: Sec 3102 / CVE-2016-7431 / VU#633847 1470*f5f40dd6SCy Schubert Affects: ntp-4.2.8p8, and ntp-4.3.93. 1471*f5f40dd6SCy Schubert CVSS2: MED 5.0 (AV:N/AC:L/Au:N/C:N/I:P/A:N) 1472*f5f40dd6SCy Schubert CVSS3: MED 5.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N 1473*f5f40dd6SCy Schubert Summary: 1474*f5f40dd6SCy Schubert Zero Origin timestamp problems were fixed by Bug 2945 in 1475*f5f40dd6SCy Schubert ntp-4.2.8p6. However, subsequent timestamp validation checks 1476*f5f40dd6SCy Schubert introduced a regression in the handling of some Zero origin 1477*f5f40dd6SCy Schubert timestamp checks. 1478*f5f40dd6SCy Schubert Mitigation: 1479*f5f40dd6SCy Schubert Implement BCP-38. 1480*f5f40dd6SCy Schubert Upgrade to 4.2.8p9, or later, from the NTP Project Download Page 1481*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1482*f5f40dd6SCy Schubert Properly monitor your ntpd instances, and auto-restart ntpd 1483*f5f40dd6SCy Schubert (without -g) if it stops running. 1484*f5f40dd6SCy Schubert Credit: This weakness was discovered by Sharon Goldberg and Aanchal 1485*f5f40dd6SCy Schubert Malhotra of Boston University. 1486*f5f40dd6SCy Schubert 1487*f5f40dd6SCy Schubert* read_mru_list() does inadequate incoming packet checks 1488*f5f40dd6SCy Schubert Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016 1489*f5f40dd6SCy Schubert References: Sec 3082 / CVE-2016-7434 / VU#633847 1490*f5f40dd6SCy Schubert Affects: ntp-4.2.7p22, up to but not including ntp-4.2.8p9, and 1491*f5f40dd6SCy Schubert ntp-4.3.0 up to, but not including ntp-4.3.94. 1492*f5f40dd6SCy Schubert CVSS2: LOW 3.8 (AV:L/AC:H/Au:S/C:N/I:N/A:C) 1493*f5f40dd6SCy Schubert CVSS3: LOW 3.8 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H 1494*f5f40dd6SCy Schubert Summary: 1495*f5f40dd6SCy Schubert If ntpd is configured to allow mrulist query requests from a 1496*f5f40dd6SCy Schubert server that sends a crafted malicious packet, ntpd will crash 1497*f5f40dd6SCy Schubert on receipt of that crafted malicious mrulist query packet. 1498*f5f40dd6SCy Schubert Mitigation: 1499*f5f40dd6SCy Schubert Only allow mrulist query packets from trusted hosts. 1500*f5f40dd6SCy Schubert Implement BCP-38. 1501*f5f40dd6SCy Schubert Upgrade to 4.2.8p9, or later, from the NTP Project Download Page 1502*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1503*f5f40dd6SCy Schubert Properly monitor your ntpd instances, and auto-restart ntpd 1504*f5f40dd6SCy Schubert (without -g) if it stops running. 1505*f5f40dd6SCy Schubert Credit: This weakness was discovered by Magnus Stubman. 1506*f5f40dd6SCy Schubert 1507*f5f40dd6SCy Schubert* Attack on interface selection 1508*f5f40dd6SCy Schubert Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016 1509*f5f40dd6SCy Schubert References: Sec 3072 / CVE-2016-7429 / VU#633847 1510*f5f40dd6SCy Schubert Affects: ntp-4.2.7p385, up to but not including ntp-4.2.8p9, and 1511*f5f40dd6SCy Schubert ntp-4.3.0 up to, but not including ntp-4.3.94 1512*f5f40dd6SCy Schubert CVSS2: LOW 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P) 1513*f5f40dd6SCy Schubert CVSS3: LOW 1.6 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L 1514*f5f40dd6SCy Schubert Summary: 1515*f5f40dd6SCy Schubert When ntpd receives a server response on a socket that corresponds 1516*f5f40dd6SCy Schubert to a different interface than was used for the request, the peer 1517*f5f40dd6SCy Schubert structure is updated to use the interface for new requests. If 1518*f5f40dd6SCy Schubert ntpd is running on a host with multiple interfaces in separate 1519*f5f40dd6SCy Schubert networks and the operating system doesn't check source address in 1520*f5f40dd6SCy Schubert received packets (e.g. rp_filter on Linux is set to 0), an 1521*f5f40dd6SCy Schubert attacker that knows the address of the source can send a packet 1522*f5f40dd6SCy Schubert with spoofed source address which will cause ntpd to select wrong 1523*f5f40dd6SCy Schubert interface for the source and prevent it from sending new requests 1524*f5f40dd6SCy Schubert until the list of interfaces is refreshed, which happens on 1525*f5f40dd6SCy Schubert routing changes or every 5 minutes by default. If the attack is 1526*f5f40dd6SCy Schubert repeated often enough (once per second), ntpd will not be able to 1527*f5f40dd6SCy Schubert synchronize with the source. 1528*f5f40dd6SCy Schubert Mitigation: 1529*f5f40dd6SCy Schubert Implement BCP-38. 1530*f5f40dd6SCy Schubert Upgrade to 4.2.8p9, or later, from the NTP Project Download Page 1531*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1532*f5f40dd6SCy Schubert If you are going to configure your OS to disable source address 1533*f5f40dd6SCy Schubert checks, also configure your firewall configuration to control 1534*f5f40dd6SCy Schubert what interfaces can receive packets from what networks. 1535*f5f40dd6SCy Schubert Properly monitor your ntpd instances, and auto-restart ntpd 1536*f5f40dd6SCy Schubert (without -g) if it stops running. 1537*f5f40dd6SCy Schubert Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 1538*f5f40dd6SCy Schubert 1539*f5f40dd6SCy Schubert* Client rate limiting and server responses 1540*f5f40dd6SCy Schubert Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016 1541*f5f40dd6SCy Schubert References: Sec 3071 / CVE-2016-7426 / VU#633847 1542*f5f40dd6SCy Schubert Affects: ntp-4.2.5p203, up to but not including ntp-4.2.8p9, and 1543*f5f40dd6SCy Schubert ntp-4.3.0 up to, but not including ntp-4.3.94 1544*f5f40dd6SCy Schubert CVSS2: LOW 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P) 1545*f5f40dd6SCy Schubert CVSS3: LOW 1.6 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L 1546*f5f40dd6SCy Schubert Summary: 1547*f5f40dd6SCy Schubert When ntpd is configured with rate limiting for all associations 1548*f5f40dd6SCy Schubert (restrict default limited in ntp.conf), the limits are applied 1549*f5f40dd6SCy Schubert also to responses received from its configured sources. An 1550*f5f40dd6SCy Schubert attacker who knows the sources (e.g., from an IPv4 refid in 1551*f5f40dd6SCy Schubert server response) and knows the system is (mis)configured in this 1552*f5f40dd6SCy Schubert way can periodically send packets with spoofed source address to 1553*f5f40dd6SCy Schubert keep the rate limiting activated and prevent ntpd from accepting 1554*f5f40dd6SCy Schubert valid responses from its sources. 1555*f5f40dd6SCy Schubert 1556*f5f40dd6SCy Schubert While this blanket rate limiting can be useful to prevent 1557*f5f40dd6SCy Schubert brute-force attacks on the origin timestamp, it allows this DoS 1558*f5f40dd6SCy Schubert attack. Similarly, it allows the attacker to prevent mobilization 1559*f5f40dd6SCy Schubert of ephemeral associations. 1560*f5f40dd6SCy Schubert Mitigation: 1561*f5f40dd6SCy Schubert Implement BCP-38. 1562*f5f40dd6SCy Schubert Upgrade to 4.2.8p9, or later, from the NTP Project Download Page 1563*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1564*f5f40dd6SCy Schubert Properly monitor your ntpd instances, and auto-restart ntpd 1565*f5f40dd6SCy Schubert (without -g) if it stops running. 1566*f5f40dd6SCy Schubert Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 1567*f5f40dd6SCy Schubert 1568*f5f40dd6SCy Schubert* Fix for bug 2085 broke initial sync calculations 1569*f5f40dd6SCy Schubert Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016 1570*f5f40dd6SCy Schubert References: Sec 3067 / CVE-2016-7433 / VU#633847 1571*f5f40dd6SCy Schubert Affects: ntp-4.2.7p385, up to but not including ntp-4.2.8p9, and 1572*f5f40dd6SCy Schubert ntp-4.3.0 up to, but not including ntp-4.3.94. But the 1573*f5f40dd6SCy Schubert root-distance calculation in general is incorrect in all versions 1574*f5f40dd6SCy Schubert of ntp-4 until this release. 1575*f5f40dd6SCy Schubert CVSS2: LOW 1.2 (AV:L/AC:H/Au:N/C:N/I:N/A:P) 1576*f5f40dd6SCy Schubert CVSS3: LOW 1.6 CVSS:3.0/AV:P/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:L 1577*f5f40dd6SCy Schubert Summary: 1578*f5f40dd6SCy Schubert Bug 2085 described a condition where the root delay was included 1579*f5f40dd6SCy Schubert twice, causing the jitter value to be higher than expected. Due 1580*f5f40dd6SCy Schubert to a misinterpretation of a small-print variable in The Book, the 1581*f5f40dd6SCy Schubert fix for this problem was incorrect, resulting in a root distance 1582*f5f40dd6SCy Schubert that did not include the peer dispersion. The calculations and 1583*f5f40dd6SCy Schubert formulae have been reviewed and reconciled, and the code has been 1584*f5f40dd6SCy Schubert updated accordingly. 1585*f5f40dd6SCy Schubert Mitigation: 1586*f5f40dd6SCy Schubert Upgrade to 4.2.8p9, or later, from the NTP Project Download Page 1587*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1588*f5f40dd6SCy Schubert Properly monitor your ntpd instances, and auto-restart ntpd 1589*f5f40dd6SCy Schubert (without -g) if it stops running. 1590*f5f40dd6SCy Schubert Credit: This weakness was discovered independently by Brian Utterback of 1591*f5f40dd6SCy Schubert Oracle, and Sharon Goldberg and Aanchal Malhotra of Boston University. 1592*f5f40dd6SCy Schubert 1593*f5f40dd6SCy SchubertOther fixes: 1594*f5f40dd6SCy Schubert 1595*f5f40dd6SCy Schubert* [Bug 3142] bug in netmask prefix length detection <perlinger@ntp.org> 1596*f5f40dd6SCy Schubert* [Bug 3138] gpsdjson refclock should honor fudgetime1. stenn@ntp.org 1597*f5f40dd6SCy Schubert* [Bug 3129] Unknown hosts can put resolver thread into a hard loop 1598*f5f40dd6SCy Schubert - moved retry decision where it belongs. <perlinger@ntp.org> 1599*f5f40dd6SCy Schubert* [Bug 3125] NTPD doesn't fully start when ntp.conf entries are out of order 1600*f5f40dd6SCy Schubert using the loopback-ppsapi-provider.dll <perlinger@ntp.org> 1601*f5f40dd6SCy Schubert* [Bug 3116] unit tests for NTP time stamp expansion. <perlinger@ntp.org> 1602*f5f40dd6SCy Schubert* [Bug 3100] ntpq can't retrieve daemon_version <perlinger@ntp.org> 1603*f5f40dd6SCy Schubert - fixed extended sysvar lookup (bug introduced with bug 3008 fix) 1604*f5f40dd6SCy Schubert* [Bug 3095] Compatibility with openssl 1.1 <perlinger@ntp.org> 1605*f5f40dd6SCy Schubert - applied patches by Kurt Roeckx <kurt@roeckx.be> to source 1606*f5f40dd6SCy Schubert - added shim layer for SSL API calls with issues (both directions) 1607*f5f40dd6SCy Schubert* [Bug 3089] Serial Parser does not work anymore for hopfser like device 1608*f5f40dd6SCy Schubert - simplified / refactored hex-decoding in driver. <perlinger@ntp.org> 1609*f5f40dd6SCy Schubert* [Bug 3084] update-leap mis-parses the leapfile name. HStenn. 1610*f5f40dd6SCy Schubert* [Bug 3068] Linker warnings when building on Solaris. perlinger@ntp.org 1611*f5f40dd6SCy Schubert - applied patch thanks to Andrew Stormont <andyjstormont@gmail.com> 1612*f5f40dd6SCy Schubert* [Bug 3067] Root distance calculation needs improvement. HStenn 1613*f5f40dd6SCy Schubert* [Bug 3066] NMEA clock ignores pps. perlinger@ntp.org 1614*f5f40dd6SCy Schubert - PPS-HACK works again. 1615*f5f40dd6SCy Schubert* [Bug 3059] Potential buffer overrun from oversized hash <perlinger@ntp.org> 1616*f5f40dd6SCy Schubert - applied patch by Brian Utterback <brian.utterback@oracle.com> 1617*f5f40dd6SCy Schubert* [Bug 3053] ntp_loopfilter.c frequency calc precedence error. Sarah White. 1618*f5f40dd6SCy Schubert* [Bug 3050] Fix for bug #2960 causes [...] spurious error message. 1619*f5f40dd6SCy Schubert <perlinger@ntp.org> 1620*f5f40dd6SCy Schubert - patches by Reinhard Max <max@suse.com> and Havard Eidnes <he@uninett.no> 1621*f5f40dd6SCy Schubert* [Bug 3047] Fix refclock_jjy C-DEX JST2000. abe@ntp.org 1622*f5f40dd6SCy Schubert - Patch provided by Kuramatsu. 1623*f5f40dd6SCy Schubert* [Bug 3021] unity_fixture.c needs pragma weak <perlinger@ntp.org> 1624*f5f40dd6SCy Schubert - removed unnecessary & harmful decls of 'setUp()' & 'tearDown()' 1625*f5f40dd6SCy Schubert* [Bug 3019] Windows: ERROR_HOST_UNREACHABLE block packet processing. DMayer 1626*f5f40dd6SCy Schubert* [Bug 2998] sntp/tests/packetProcessing.c broken without openssl. JPerlinger 1627*f5f40dd6SCy Schubert* [Bug 2961] sntp/tests/packetProcessing.c assumes AUTOKEY. HStenn. 1628*f5f40dd6SCy Schubert* [Bug 2959] refclock_jupiter: gps week correction <perlinger@ntp.org> 1629*f5f40dd6SCy Schubert - fixed GPS week expansion to work based on build date. Special thanks 1630*f5f40dd6SCy Schubert to Craig Leres for initial patch and testing. 1631*f5f40dd6SCy Schubert* [Bug 2951] ntpd tests fail: multiple definition of `send_via_ntp_signd' 1632*f5f40dd6SCy Schubert - fixed Makefile.am <perlinger@ntp.org> 1633*f5f40dd6SCy Schubert* [Bug 2689] ATOM driver processes last PPS pulse at startup, 1634*f5f40dd6SCy Schubert even if it is very old <perlinger@ntp.org> 1635*f5f40dd6SCy Schubert - make sure PPS source is alive before processing samples 1636*f5f40dd6SCy Schubert - improve stability close to the 500ms phase jump (phase gate) 1637*f5f40dd6SCy Schubert* Fix typos in include/ntp.h. 1638*f5f40dd6SCy Schubert* Shim X509_get_signature_nid() if needed 1639*f5f40dd6SCy Schubert* git author attribution cleanup 1640*f5f40dd6SCy Schubert* bk ignore file cleanup 1641*f5f40dd6SCy Schubert* remove locks in Windows IO, use rpc-like thread synchronisation instead 1642*f5f40dd6SCy Schubert 1643*f5f40dd6SCy Schubert--- 1644*f5f40dd6SCy SchubertNTP 4.2.8p8 (Harlan Stenn <stenn@ntp.org>, 2016/06/02) 1645*f5f40dd6SCy Schubert 1646*f5f40dd6SCy SchubertFocus: Security, Bug fixes, enhancements. 1647*f5f40dd6SCy Schubert 1648*f5f40dd6SCy SchubertSeverity: HIGH 1649*f5f40dd6SCy Schubert 1650*f5f40dd6SCy SchubertIn addition to bug fixes and enhancements, this release fixes the 1651*f5f40dd6SCy Schubertfollowing 1 high- and 4 low-severity vulnerabilities: 1652*f5f40dd6SCy Schubert 1653*f5f40dd6SCy Schubert* CRYPTO_NAK crash 1654*f5f40dd6SCy Schubert Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016 1655*f5f40dd6SCy Schubert References: Sec 3046 / CVE-2016-4957 / VU#321640 1656*f5f40dd6SCy Schubert Affects: ntp-4.2.8p7, and ntp-4.3.92. 1657*f5f40dd6SCy Schubert CVSS2: HIGH 7.8 (AV:N/AC:L/Au:N/C:N/I:N/A:C) 1658*f5f40dd6SCy Schubert CVSS3: HIGH 7.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H 1659*f5f40dd6SCy Schubert Summary: The fix for Sec 3007 in ntp-4.2.8p7 contained a bug that 1660*f5f40dd6SCy Schubert could cause ntpd to crash. 1661*f5f40dd6SCy Schubert Mitigation: 1662*f5f40dd6SCy Schubert Implement BCP-38. 1663*f5f40dd6SCy Schubert Upgrade to 4.2.8p8, or later, from the NTP Project Download Page 1664*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1665*f5f40dd6SCy Schubert If you cannot upgrade from 4.2.8p7, the only other alternatives 1666*f5f40dd6SCy Schubert are to patch your code or filter CRYPTO_NAK packets. 1667*f5f40dd6SCy Schubert Properly monitor your ntpd instances, and auto-restart ntpd 1668*f5f40dd6SCy Schubert (without -g) if it stops running. 1669*f5f40dd6SCy Schubert Credit: This weakness was discovered by Nicolas Edet of Cisco. 1670*f5f40dd6SCy Schubert 1671*f5f40dd6SCy Schubert* Bad authentication demobilizes ephemeral associations 1672*f5f40dd6SCy Schubert Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016 1673*f5f40dd6SCy Schubert References: Sec 3045 / CVE-2016-4953 / VU#321640 1674*f5f40dd6SCy Schubert Affects: ntp-4, up to but not including ntp-4.2.8p8, and 1675*f5f40dd6SCy Schubert ntp-4.3.0 up to, but not including ntp-4.3.93. 1676*f5f40dd6SCy Schubert CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P) 1677*f5f40dd6SCy Schubert CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L 1678*f5f40dd6SCy Schubert Summary: An attacker who knows the origin timestamp and can send a 1679*f5f40dd6SCy Schubert spoofed packet containing a CRYPTO-NAK to an ephemeral peer 1680*f5f40dd6SCy Schubert target before any other response is sent can demobilize that 1681*f5f40dd6SCy Schubert association. 1682*f5f40dd6SCy Schubert Mitigation: 1683*f5f40dd6SCy Schubert Implement BCP-38. 1684*f5f40dd6SCy Schubert Upgrade to 4.2.8p8, or later, from the NTP Project Download Page 1685*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1686*f5f40dd6SCy Schubert Properly monitor your ntpd instances. 1687*f5f40dd6SCy Schubert Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 1688*f5f40dd6SCy Schubert 1689*f5f40dd6SCy Schubert* Processing spoofed server packets 1690*f5f40dd6SCy Schubert Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016 1691*f5f40dd6SCy Schubert References: Sec 3044 / CVE-2016-4954 / VU#321640 1692*f5f40dd6SCy Schubert Affects: ntp-4, up to but not including ntp-4.2.8p8, and 1693*f5f40dd6SCy Schubert ntp-4.3.0 up to, but not including ntp-4.3.93. 1694*f5f40dd6SCy Schubert CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P) 1695*f5f40dd6SCy Schubert CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L 1696*f5f40dd6SCy Schubert Summary: An attacker who is able to spoof packets with correct origin 1697*f5f40dd6SCy Schubert timestamps from enough servers before the expected response 1698*f5f40dd6SCy Schubert packets arrive at the target machine can affect some peer 1699*f5f40dd6SCy Schubert variables and, for example, cause a false leap indication to be set. 1700*f5f40dd6SCy Schubert Mitigation: 1701*f5f40dd6SCy Schubert Implement BCP-38. 1702*f5f40dd6SCy Schubert Upgrade to 4.2.8p8, or later, from the NTP Project Download Page 1703*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1704*f5f40dd6SCy Schubert Properly monitor your ntpd instances. 1705*f5f40dd6SCy Schubert Credit: This weakness was discovered by Jakub Prokes of Red Hat. 1706*f5f40dd6SCy Schubert 1707*f5f40dd6SCy Schubert* Autokey association reset 1708*f5f40dd6SCy Schubert Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016 1709*f5f40dd6SCy Schubert References: Sec 3043 / CVE-2016-4955 / VU#321640 1710*f5f40dd6SCy Schubert Affects: ntp-4, up to but not including ntp-4.2.8p8, and 1711*f5f40dd6SCy Schubert ntp-4.3.0 up to, but not including ntp-4.3.93. 1712*f5f40dd6SCy Schubert CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P) 1713*f5f40dd6SCy Schubert CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L 1714*f5f40dd6SCy Schubert Summary: An attacker who is able to spoof a packet with a correct 1715*f5f40dd6SCy Schubert origin timestamp before the expected response packet arrives at 1716*f5f40dd6SCy Schubert the target machine can send a CRYPTO_NAK or a bad MAC and cause 1717*f5f40dd6SCy Schubert the association's peer variables to be cleared. If this can be 1718*f5f40dd6SCy Schubert done often enough, it will prevent that association from working. 1719*f5f40dd6SCy Schubert Mitigation: 1720*f5f40dd6SCy Schubert Implement BCP-38. 1721*f5f40dd6SCy Schubert Upgrade to 4.2.8p8, or later, from the NTP Project Download Page 1722*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1723*f5f40dd6SCy Schubert Properly monitor your ntpd instances. 1724*f5f40dd6SCy Schubert Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 1725*f5f40dd6SCy Schubert 1726*f5f40dd6SCy Schubert* Broadcast interleave 1727*f5f40dd6SCy Schubert Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016 1728*f5f40dd6SCy Schubert References: Sec 3042 / CVE-2016-4956 / VU#321640 1729*f5f40dd6SCy Schubert Affects: ntp-4, up to but not including ntp-4.2.8p8, and 1730*f5f40dd6SCy Schubert ntp-4.3.0 up to, but not including ntp-4.3.93. 1731*f5f40dd6SCy Schubert CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P) 1732*f5f40dd6SCy Schubert CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L 1733*f5f40dd6SCy Schubert Summary: The fix for NtpBug2978 does not cover broadcast associations, 1734*f5f40dd6SCy Schubert so broadcast clients can be triggered to flip into interleave mode. 1735*f5f40dd6SCy Schubert Mitigation: 1736*f5f40dd6SCy Schubert Implement BCP-38. 1737*f5f40dd6SCy Schubert Upgrade to 4.2.8p8, or later, from the NTP Project Download Page 1738*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1739*f5f40dd6SCy Schubert Properly monitor your ntpd instances. 1740*f5f40dd6SCy Schubert Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 1741*f5f40dd6SCy Schubert 1742*f5f40dd6SCy SchubertOther fixes: 1743*f5f40dd6SCy Schubert* [Bug 3038] NTP fails to build in VS2015. perlinger@ntp.org 1744*f5f40dd6SCy Schubert - provide build environment 1745*f5f40dd6SCy Schubert - 'wint_t' and 'struct timespec' defined by VS2015 1746*f5f40dd6SCy Schubert - fixed print()/scanf() format issues 1747*f5f40dd6SCy Schubert* [Bug 3052] Add a .gitignore file. Edmund Wong. 1748*f5f40dd6SCy Schubert* [Bug 3054] miscopt.html documents the allan intercept in seconds. SWhite. 1749*f5f40dd6SCy Schubert* [Bug 3058] fetch_timestamp() mishandles 64-bit alignment. Brian Utterback, 1750*f5f40dd6SCy Schubert JPerlinger, HStenn. 1751*f5f40dd6SCy Schubert* Fix typo in ntp-wait and plot_summary. HStenn. 1752*f5f40dd6SCy Schubert* Make sure we have an "author" file for git imports. HStenn. 1753*f5f40dd6SCy Schubert* Update the sntp problem tests for MacOS. HStenn. 1754*f5f40dd6SCy Schubert 1755*f5f40dd6SCy Schubert--- 1756*f5f40dd6SCy SchubertNTP 4.2.8p7 (Harlan Stenn <stenn@ntp.org>, 2016/04/26) 1757*f5f40dd6SCy Schubert 1758*f5f40dd6SCy SchubertFocus: Security, Bug fixes, enhancements. 1759*f5f40dd6SCy Schubert 1760*f5f40dd6SCy SchubertSeverity: MEDIUM 1761*f5f40dd6SCy Schubert 1762*f5f40dd6SCy SchubertWhen building NTP from source, there is a new configure option 1763*f5f40dd6SCy Schubertavailable, --enable-dynamic-interleave. More information on this below. 1764*f5f40dd6SCy Schubert 1765*f5f40dd6SCy SchubertAlso note that ntp-4.2.8p7 logs more "unexpected events" than previous 1766*f5f40dd6SCy Schubertversions of ntp. These events have almost certainly happened in the 1767*f5f40dd6SCy Schubertpast, it's just that they were silently counted and not logged. With 1768*f5f40dd6SCy Schubertthe increasing awareness around security, we feel it's better to clearly 1769*f5f40dd6SCy Schubertlog these events to help detect abusive behavior. This increased 1770*f5f40dd6SCy Schubertlogging can also help detect other problems, too. 1771*f5f40dd6SCy Schubert 1772*f5f40dd6SCy SchubertIn addition to bug fixes and enhancements, this release fixes the 1773*f5f40dd6SCy Schubertfollowing 9 low- and medium-severity vulnerabilities: 1774*f5f40dd6SCy Schubert 1775*f5f40dd6SCy Schubert* Improve NTP security against buffer comparison timing attacks, 1776*f5f40dd6SCy Schubert AKA: authdecrypt-timing 1777*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 1778*f5f40dd6SCy Schubert References: Sec 2879 / CVE-2016-1550 1779*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p7, and 1780*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.92 1781*f5f40dd6SCy Schubert CVSSv2: LOW 2.6 - (AV:L/AC:H/Au:N/C:P/I:P/A:N) 1782*f5f40dd6SCy Schubert CVSSv3: MED 4.0 - CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N 1783*f5f40dd6SCy Schubert Summary: Packet authentication tests have been performed using 1784*f5f40dd6SCy Schubert memcmp() or possibly bcmp(), and it is potentially possible 1785*f5f40dd6SCy Schubert for a local or perhaps LAN-based attacker to send a packet with 1786*f5f40dd6SCy Schubert an authentication payload and indirectly observe how much of 1787*f5f40dd6SCy Schubert the digest has matched. 1788*f5f40dd6SCy Schubert Mitigation: 1789*f5f40dd6SCy Schubert Upgrade to 4.2.8p7, or later, from the NTP Project Download Page 1790*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page. 1791*f5f40dd6SCy Schubert Properly monitor your ntpd instances. 1792*f5f40dd6SCy Schubert Credit: This weakness was discovered independently by Loganaden 1793*f5f40dd6SCy Schubert Velvindron, and Matthew Van Gundy and Stephen Gray of Cisco ASIG. 1794*f5f40dd6SCy Schubert 1795*f5f40dd6SCy Schubert* Zero origin timestamp bypass: Additional KoD checks. 1796*f5f40dd6SCy Schubert References: Sec 2945 / Sec 2901 / CVE-2015-8138 1797*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p7, 1798*f5f40dd6SCy Schubert Summary: Improvements to the fixes incorporated in t 4.2.8p6 and 4.3.92. 1799*f5f40dd6SCy Schubert 1800*f5f40dd6SCy Schubert* peer associations were broken by the fix for NtpBug2899 1801*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 1802*f5f40dd6SCy Schubert References: Sec 2952 / CVE-2015-7704 1803*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p7, and 1804*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.92 1805*f5f40dd6SCy Schubert CVSSv2: MED 4.3 - (AV:N/AC:M/Au:N/C:N/I:N/A:P) 1806*f5f40dd6SCy Schubert Summary: The fix for NtpBug2952 in ntp-4.2.8p5 to address broken peer 1807*f5f40dd6SCy Schubert associations did not address all of the issues. 1808*f5f40dd6SCy Schubert Mitigation: 1809*f5f40dd6SCy Schubert Implement BCP-38. 1810*f5f40dd6SCy Schubert Upgrade to 4.2.8p7, or later, from the NTP Project Download Page 1811*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1812*f5f40dd6SCy Schubert If you can't upgrade, use "server" associations instead of 1813*f5f40dd6SCy Schubert "peer" associations. 1814*f5f40dd6SCy Schubert Monitor your ntpd instances. 1815*f5f40dd6SCy Schubert Credit: This problem was discovered by Michael Tatarinov. 1816*f5f40dd6SCy Schubert 1817*f5f40dd6SCy Schubert* Validate crypto-NAKs, AKA: CRYPTO-NAK DoS 1818*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 1819*f5f40dd6SCy Schubert References: Sec 3007 / CVE-2016-1547 / VU#718152 1820*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p7, and 1821*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.92 1822*f5f40dd6SCy Schubert CVSS2: MED 4.3 - (AV:N/AC:M/Au:N/C:N/I:N/A:P) 1823*f5f40dd6SCy Schubert CVSS3: MED 3.7 - CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L 1824*f5f40dd6SCy Schubert Summary: For ntp-4 versions up to but not including ntp-4.2.8p7, an 1825*f5f40dd6SCy Schubert off-path attacker can cause a preemptable client association to 1826*f5f40dd6SCy Schubert be demobilized by sending a crypto NAK packet to a victim client 1827*f5f40dd6SCy Schubert with a spoofed source address of an existing associated peer. 1828*f5f40dd6SCy Schubert This is true even if authentication is enabled. 1829*f5f40dd6SCy Schubert 1830*f5f40dd6SCy Schubert Furthermore, if the attacker keeps sending crypto NAK packets, 1831*f5f40dd6SCy Schubert for example one every second, the victim never has a chance to 1832*f5f40dd6SCy Schubert reestablish the association and synchronize time with that 1833*f5f40dd6SCy Schubert legitimate server. 1834*f5f40dd6SCy Schubert 1835*f5f40dd6SCy Schubert For ntp-4.2.8 thru ntp-4.2.8p6 there is less risk because more 1836*f5f40dd6SCy Schubert stringent checks are performed on incoming packets, but there 1837*f5f40dd6SCy Schubert are still ways to exploit this vulnerability in versions before 1838*f5f40dd6SCy Schubert ntp-4.2.8p7. 1839*f5f40dd6SCy Schubert Mitigation: 1840*f5f40dd6SCy Schubert Implement BCP-38. 1841*f5f40dd6SCy Schubert Upgrade to 4.2.8p7, or later, from the NTP Project Download Page 1842*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1843*f5f40dd6SCy Schubert Properly monitor your ntpd instances 1844*f5f40dd6SCy Schubert Credit: This weakness was discovered by Stephen Gray and 1845*f5f40dd6SCy Schubert Matthew Van Gundy of Cisco ASIG. 1846*f5f40dd6SCy Schubert 1847*f5f40dd6SCy Schubert* ctl_getitem() return value not always checked 1848*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 1849*f5f40dd6SCy Schubert References: Sec 3008 / CVE-2016-2519 1850*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p7, and 1851*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.92 1852*f5f40dd6SCy Schubert CVSSv2: MED 4.9 - (AV:N/AC:H/Au:S/C:N/I:N/A:C) 1853*f5f40dd6SCy Schubert CVSSv3: MED 4.2 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H 1854*f5f40dd6SCy Schubert Summary: ntpq and ntpdc can be used to store and retrieve information 1855*f5f40dd6SCy Schubert in ntpd. It is possible to store a data value that is larger 1856*f5f40dd6SCy Schubert than the size of the buffer that the ctl_getitem() function of 1857*f5f40dd6SCy Schubert ntpd uses to report the return value. If the length of the 1858*f5f40dd6SCy Schubert requested data value returned by ctl_getitem() is too large, 1859*f5f40dd6SCy Schubert the value NULL is returned instead. There are 2 cases where the 1860*f5f40dd6SCy Schubert return value from ctl_getitem() was not directly checked to make 1861*f5f40dd6SCy Schubert sure it's not NULL, but there are subsequent INSIST() checks 1862*f5f40dd6SCy Schubert that make sure the return value is not NULL. There are no data 1863*f5f40dd6SCy Schubert values ordinarily stored in ntpd that would exceed this buffer 1864*f5f40dd6SCy Schubert length. But if one has permission to store values and one stores 1865*f5f40dd6SCy Schubert a value that is "too large", then ntpd will abort if an attempt 1866*f5f40dd6SCy Schubert is made to read that oversized value. 1867*f5f40dd6SCy Schubert Mitigation: 1868*f5f40dd6SCy Schubert Implement BCP-38. 1869*f5f40dd6SCy Schubert Upgrade to 4.2.8p7, or later, from the NTP Project Download Page 1870*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1871*f5f40dd6SCy Schubert Properly monitor your ntpd instances. 1872*f5f40dd6SCy Schubert Credit: This weakness was discovered by Yihan Lian of the Cloud 1873*f5f40dd6SCy Schubert Security Team, Qihoo 360. 1874*f5f40dd6SCy Schubert 1875*f5f40dd6SCy Schubert* Crafted addpeer with hmode > 7 causes array wraparound with MATCH_ASSOC 1876*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 1877*f5f40dd6SCy Schubert References: Sec 3009 / CVE-2016-2518 / VU#718152 1878*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p7, and 1879*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.92 1880*f5f40dd6SCy Schubert CVSS2: LOW 2.1 - (AV:N/AC:H/Au:S/C:N/I:N/A:P) 1881*f5f40dd6SCy Schubert CVSS3: LOW 2.0 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L 1882*f5f40dd6SCy Schubert Summary: Using a crafted packet to create a peer association with 1883*f5f40dd6SCy Schubert hmode > 7 causes the MATCH_ASSOC() lookup to make an 1884*f5f40dd6SCy Schubert out-of-bounds reference. 1885*f5f40dd6SCy Schubert Mitigation: 1886*f5f40dd6SCy Schubert Implement BCP-38. 1887*f5f40dd6SCy Schubert Upgrade to 4.2.8p7, or later, from the NTP Project Download Page 1888*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1889*f5f40dd6SCy Schubert Properly monitor your ntpd instances 1890*f5f40dd6SCy Schubert Credit: This weakness was discovered by Yihan Lian of the Cloud 1891*f5f40dd6SCy Schubert Security Team, Qihoo 360. 1892*f5f40dd6SCy Schubert 1893*f5f40dd6SCy Schubert* remote configuration trustedkey/requestkey/controlkey values are not 1894*f5f40dd6SCy Schubert properly validated 1895*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 1896*f5f40dd6SCy Schubert References: Sec 3010 / CVE-2016-2517 / VU#718152 1897*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p7, and 1898*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.92 1899*f5f40dd6SCy Schubert CVSS2: MED 4.9 - (AV:N/AC:H/Au:S/C:N/I:N/A:C) 1900*f5f40dd6SCy Schubert CVSS3: MED 4.2 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H 1901*f5f40dd6SCy Schubert Summary: If ntpd was expressly configured to allow for remote 1902*f5f40dd6SCy Schubert configuration, a malicious user who knows the controlkey for 1903*f5f40dd6SCy Schubert ntpq or the requestkey for ntpdc (if mode7 is expressly enabled) 1904*f5f40dd6SCy Schubert can create a session with ntpd and then send a crafted packet to 1905*f5f40dd6SCy Schubert ntpd that will change the value of the trustedkey, controlkey, 1906*f5f40dd6SCy Schubert or requestkey to a value that will prevent any subsequent 1907*f5f40dd6SCy Schubert authentication with ntpd until ntpd is restarted. 1908*f5f40dd6SCy Schubert Mitigation: 1909*f5f40dd6SCy Schubert Implement BCP-38. 1910*f5f40dd6SCy Schubert Upgrade to 4.2.8p7, or later, from the NTP Project Download Page 1911*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1912*f5f40dd6SCy Schubert Properly monitor your ntpd instances 1913*f5f40dd6SCy Schubert Credit: This weakness was discovered by Yihan Lian of the Cloud 1914*f5f40dd6SCy Schubert Security Team, Qihoo 360. 1915*f5f40dd6SCy Schubert 1916*f5f40dd6SCy Schubert* Duplicate IPs on unconfig directives will cause an assertion botch in ntpd 1917*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 1918*f5f40dd6SCy Schubert References: Sec 3011 / CVE-2016-2516 / VU#718152 1919*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p7, and 1920*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.92 1921*f5f40dd6SCy Schubert CVSS2: MED 6.3 - (AV:N/AC:M/Au:S/C:N/I:N/A:C) 1922*f5f40dd6SCy Schubert CVSS3: MED 4.2 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H 1923*f5f40dd6SCy Schubert Summary: If ntpd was expressly configured to allow for remote 1924*f5f40dd6SCy Schubert configuration, a malicious user who knows the controlkey for 1925*f5f40dd6SCy Schubert ntpq or the requestkey for ntpdc (if mode7 is expressly enabled) 1926*f5f40dd6SCy Schubert can create a session with ntpd and if an existing association is 1927*f5f40dd6SCy Schubert unconfigured using the same IP twice on the unconfig directive 1928*f5f40dd6SCy Schubert line, ntpd will abort. 1929*f5f40dd6SCy Schubert Mitigation: 1930*f5f40dd6SCy Schubert Implement BCP-38. 1931*f5f40dd6SCy Schubert Upgrade to 4.2.8p7, or later, from the NTP Project Download Page 1932*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1933*f5f40dd6SCy Schubert Properly monitor your ntpd instances 1934*f5f40dd6SCy Schubert Credit: This weakness was discovered by Yihan Lian of the Cloud 1935*f5f40dd6SCy Schubert Security Team, Qihoo 360. 1936*f5f40dd6SCy Schubert 1937*f5f40dd6SCy Schubert* Refclock impersonation vulnerability 1938*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 1939*f5f40dd6SCy Schubert References: Sec 3020 / CVE-2016-1551 1940*f5f40dd6SCy Schubert Affects: On a very limited number of OSes, all NTP releases up to but 1941*f5f40dd6SCy Schubert not including 4.2.8p7, and 4.3.0 up to but not including 4.3.92. 1942*f5f40dd6SCy Schubert By "very limited number of OSes" we mean no general-purpose OSes 1943*f5f40dd6SCy Schubert have yet been identified that have this vulnerability. 1944*f5f40dd6SCy Schubert CVSSv2: LOW 2.6 - (AV:N/AC:H/Au:N/C:N/I:P/A:N) 1945*f5f40dd6SCy Schubert CVSSv3: LOW 3.7 - CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N 1946*f5f40dd6SCy Schubert Summary: While most OSes implement martian packet filtering in their 1947*f5f40dd6SCy Schubert network stack, at least regarding 127.0.0.0/8, some will allow 1948*f5f40dd6SCy Schubert packets claiming to be from 127.0.0.0/8 that arrive over a 1949*f5f40dd6SCy Schubert physical network. On these OSes, if ntpd is configured to use a 1950*f5f40dd6SCy Schubert reference clock an attacker can inject packets over the network 1951*f5f40dd6SCy Schubert that look like they are coming from that reference clock. 1952*f5f40dd6SCy Schubert Mitigation: 1953*f5f40dd6SCy Schubert Implement martian packet filtering and BCP-38. 1954*f5f40dd6SCy Schubert Configure ntpd to use an adequate number of time sources. 1955*f5f40dd6SCy Schubert Upgrade to 4.2.8p7, or later, from the NTP Project Download Page 1956*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 1957*f5f40dd6SCy Schubert If you are unable to upgrade and if you are running an OS that 1958*f5f40dd6SCy Schubert has this vulnerability, implement martian packet filters and 1959*f5f40dd6SCy Schubert lobby your OS vendor to fix this problem, or run your 1960*f5f40dd6SCy Schubert refclocks on computers that use OSes that are not vulnerable 1961*f5f40dd6SCy Schubert to these attacks and have your vulnerable machines get their 1962*f5f40dd6SCy Schubert time from protected resources. 1963*f5f40dd6SCy Schubert Properly monitor your ntpd instances. 1964*f5f40dd6SCy Schubert Credit: This weakness was discovered by Matt Street and others of 1965*f5f40dd6SCy Schubert Cisco ASIG. 1966*f5f40dd6SCy Schubert 1967*f5f40dd6SCy SchubertThe following issues were fixed in earlier releases and contain 1968*f5f40dd6SCy Schubertimprovements in 4.2.8p7: 1969*f5f40dd6SCy Schubert 1970*f5f40dd6SCy Schubert* Clients that receive a KoD should validate the origin timestamp field. 1971*f5f40dd6SCy Schubert References: Sec 2901 / CVE-2015-7704, CVE-2015-7705 1972*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p7, 1973*f5f40dd6SCy Schubert Summary: Improvements to the fixes incorporated into 4.2.8p4 and 4.3.77. 1974*f5f40dd6SCy Schubert 1975*f5f40dd6SCy Schubert* Skeleton key: passive server with trusted key can serve time. 1976*f5f40dd6SCy Schubert References: Sec 2936 / CVE-2015-7974 1977*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p7, 1978*f5f40dd6SCy Schubert Summary: Improvements to the fixes incorporated in t 4.2.8p6 and 4.3.90. 1979*f5f40dd6SCy Schubert 1980*f5f40dd6SCy SchubertTwo other vulnerabilities have been reported, and the mitigations 1981*f5f40dd6SCy Schubertfor these are as follows: 1982*f5f40dd6SCy Schubert 1983*f5f40dd6SCy Schubert* Interleave-pivot 1984*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 1985*f5f40dd6SCy Schubert References: Sec 2978 / CVE-2016-1548 1986*f5f40dd6SCy Schubert Affects: All ntp-4 releases. 1987*f5f40dd6SCy Schubert CVSSv2: MED 6.4 - (AV:N/AC:L/Au:N/C:N/I:P/A:P) 1988*f5f40dd6SCy Schubert CVSSv3: MED 7.2 - CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:L 1989*f5f40dd6SCy Schubert Summary: It is possible to change the time of an ntpd client or deny 1990*f5f40dd6SCy Schubert service to an ntpd client by forcing it to change from basic 1991*f5f40dd6SCy Schubert client/server mode to interleaved symmetric mode. An attacker 1992*f5f40dd6SCy Schubert can spoof a packet from a legitimate ntpd server with an origin 1993*f5f40dd6SCy Schubert timestamp that matches the peer->dst timestamp recorded for that 1994*f5f40dd6SCy Schubert server. After making this switch, the client will reject all 1995*f5f40dd6SCy Schubert future legitimate server responses. It is possible to force the 1996*f5f40dd6SCy Schubert victim client to move time after the mode has been changed. 1997*f5f40dd6SCy Schubert ntpq gives no indication that the mode has been switched. 1998*f5f40dd6SCy Schubert Mitigation: 1999*f5f40dd6SCy Schubert Implement BCP-38. 2000*f5f40dd6SCy Schubert Upgrade to 4.2.8p7, or later, from the NTP Project Download Page 2001*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page. These 2002*f5f40dd6SCy Schubert versions will not dynamically "flip" into interleave mode 2003*f5f40dd6SCy Schubert unless configured to do so. 2004*f5f40dd6SCy Schubert Properly monitor your ntpd instances. 2005*f5f40dd6SCy Schubert Credit: This weakness was discovered by Miroslav Lichvar of RedHat 2006*f5f40dd6SCy Schubert and separately by Jonathan Gardner of Cisco ASIG. 2007*f5f40dd6SCy Schubert 2008*f5f40dd6SCy Schubert* Sybil vulnerability: ephemeral association attack 2009*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 2010*f5f40dd6SCy Schubert References: Sec 3012 / CVE-2016-1549 2011*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p7, and 2012*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.92 2013*f5f40dd6SCy Schubert CVSSv2: LOW 3.5 - (AV:N/AC:M/Au:S/C:N/I:P/A:N) 2014*f5f40dd6SCy Schubert CVSS3v: MED 5.3 - CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N 2015*f5f40dd6SCy Schubert Summary: ntpd can be vulnerable to Sybil attacks. If one is not using 2016*f5f40dd6SCy Schubert the feature introduced in ntp-4.2.8p6 allowing an optional 4th 2017*f5f40dd6SCy Schubert field in the ntp.keys file to specify which IPs can serve time, 2018*f5f40dd6SCy Schubert a malicious authenticated peer can create arbitrarily-many 2019*f5f40dd6SCy Schubert ephemeral associations in order to win the clock selection of 2020*f5f40dd6SCy Schubert ntpd and modify a victim's clock. 2021*f5f40dd6SCy Schubert Mitigation: 2022*f5f40dd6SCy Schubert Implement BCP-38. 2023*f5f40dd6SCy Schubert Use the 4th field in the ntp.keys file to specify which IPs 2024*f5f40dd6SCy Schubert can be time servers. 2025*f5f40dd6SCy Schubert Properly monitor your ntpd instances. 2026*f5f40dd6SCy Schubert Credit: This weakness was discovered by Matthew Van Gundy of Cisco ASIG. 2027*f5f40dd6SCy Schubert 2028*f5f40dd6SCy SchubertOther fixes: 2029*f5f40dd6SCy Schubert 2030*f5f40dd6SCy Schubert* [Bug 2831] Segmentation Fault in DNS lookup during startup. perlinger@ntp.org 2031*f5f40dd6SCy Schubert - fixed yet another race condition in the threaded resolver code. 2032*f5f40dd6SCy Schubert* [Bug 2858] bool support. Use stdbool.h when available. HStenn. 2033*f5f40dd6SCy Schubert* [Bug 2879] Improve NTP security against timing attacks. perlinger@ntp.org 2034*f5f40dd6SCy Schubert - integrated patches by Loganaden Velvidron <logan@ntp.org> 2035*f5f40dd6SCy Schubert with some modifications & unit tests 2036*f5f40dd6SCy Schubert* [Bug 2960] async name resolution fixes for chroot() environments. 2037*f5f40dd6SCy Schubert Reinhard Max. 2038*f5f40dd6SCy Schubert* [Bug 2994] Systems with HAVE_SIGNALED_IO fail to compile. perlinger@ntp.org 2039*f5f40dd6SCy Schubert* [Bug 2995] Fixes to compile on Windows 2040*f5f40dd6SCy Schubert* [Bug 2999] out-of-bounds access in 'is_safe_filename()'. perlinger@ntp.org 2041*f5f40dd6SCy Schubert* [Bug 3013] Fix for ssl_init.c SHA1 test. perlinger@ntp.org 2042*f5f40dd6SCy Schubert - Patch provided by Ch. Weisgerber 2043*f5f40dd6SCy Schubert* [Bug 3015] ntpq: config-from-file: "request contains an unprintable character" 2044*f5f40dd6SCy Schubert - A change related to [Bug 2853] forbids trailing white space in 2045*f5f40dd6SCy Schubert remote config commands. perlinger@ntp.org 2046*f5f40dd6SCy Schubert* [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE 2047*f5f40dd6SCy Schubert - report and patch from Aleksandr Kostikov. 2048*f5f40dd6SCy Schubert - Overhaul of Windows IO completion port handling. perlinger@ntp.org 2049*f5f40dd6SCy Schubert* [Bug 3022] authkeys.c should be refactored. perlinger@ntp.org 2050*f5f40dd6SCy Schubert - fixed memory leak in access list (auth[read]keys.c) 2051*f5f40dd6SCy Schubert - refactored handling of key access lists (auth[read]keys.c) 2052*f5f40dd6SCy Schubert - reduced number of error branches (authreadkeys.c) 2053*f5f40dd6SCy Schubert* [Bug 3023] ntpdate cannot correct dates in the future. perlinger@ntp.org 2054*f5f40dd6SCy Schubert* [Bug 3030] ntpq needs a general way to specify refid output format. HStenn. 2055*f5f40dd6SCy Schubert* [Bug 3031] ntp broadcastclient unable to synchronize to an server 2056*f5f40dd6SCy Schubert when the time of server changed. perlinger@ntp.org 2057*f5f40dd6SCy Schubert - Check the initial delay calculation and reject/unpeer the broadcast 2058*f5f40dd6SCy Schubert server if the delay exceeds 50ms. Retry again after the next 2059*f5f40dd6SCy Schubert broadcast packet. 2060*f5f40dd6SCy Schubert* [Bug 3036] autokey trips an INSIST in authistrustedip(). Harlan Stenn. 2061*f5f40dd6SCy Schubert* Document ntp.key's optional IP list in authenetic.html. Harlan Stenn. 2062*f5f40dd6SCy Schubert* Update html/xleave.html documentation. Harlan Stenn. 2063*f5f40dd6SCy Schubert* Update ntp.conf documentation. Harlan Stenn. 2064*f5f40dd6SCy Schubert* Fix some Credit: attributions in the NEWS file. Harlan Stenn. 2065*f5f40dd6SCy Schubert* Fix typo in html/monopt.html. Harlan Stenn. 2066*f5f40dd6SCy Schubert* Add README.pullrequests. Harlan Stenn. 2067*f5f40dd6SCy Schubert* Cleanup to include/ntp.h. Harlan Stenn. 2068*f5f40dd6SCy Schubert 2069*f5f40dd6SCy SchubertNew option to 'configure': 2070*f5f40dd6SCy Schubert 2071*f5f40dd6SCy SchubertWhile looking in to the issues around Bug 2978, the "interleave pivot" 2072*f5f40dd6SCy Schubertissue, it became clear that there are some intricate and unresolved 2073*f5f40dd6SCy Schubertissues with interleave operations. We also realized that the interleave 2074*f5f40dd6SCy Schubertprotocol was never added to the NTPv4 Standard, and it should have been. 2075*f5f40dd6SCy Schubert 2076*f5f40dd6SCy SchubertInterleave mode was first released in July of 2008, and can be engaged 2077*f5f40dd6SCy Schubertin two ways. Any 'peer' and 'broadcast' lines in the ntp.conf file may 2078*f5f40dd6SCy Schubertcontain the 'xleave' option, which will expressly enable interlave mode 2079*f5f40dd6SCy Schubertfor that association. Additionally, if a time packet arrives and is 2080*f5f40dd6SCy Schubertfound inconsistent with normal protocol behavior but has certain 2081*f5f40dd6SCy Schubertcharacteristics that are compatible with interleave mode, NTP will 2082*f5f40dd6SCy Schubertdynamically switch to interleave mode. With sufficient knowledge, an 2083*f5f40dd6SCy Schubertattacker can send a crafted forged packet to an NTP instance that 2084*f5f40dd6SCy Schuberttriggers only one side to enter interleaved mode. 2085*f5f40dd6SCy Schubert 2086*f5f40dd6SCy SchubertTo prevent this attack until we can thoroughly document, describe, 2087*f5f40dd6SCy Schubertfix, and test the dynamic interleave mode, we've added a new 2088*f5f40dd6SCy Schubert'configure' option to the build process: 2089*f5f40dd6SCy Schubert 2090*f5f40dd6SCy Schubert --enable-dynamic-interleave 2091*f5f40dd6SCy Schubert 2092*f5f40dd6SCy SchubertThis option controls whether or not NTP will, if conditions are right, 2093*f5f40dd6SCy Schubertengage dynamic interleave mode. Dynamic interleave mode is disabled by 2094*f5f40dd6SCy Schubertdefault in ntp-4.2.8p7. 2095*f5f40dd6SCy Schubert 2096*f5f40dd6SCy Schubert--- 2097*f5f40dd6SCy SchubertNTP 4.2.8p6 (Harlan Stenn <stenn@ntp.org>, 2016/01/20) 2098*f5f40dd6SCy Schubert 2099*f5f40dd6SCy SchubertFocus: Security, Bug fixes, enhancements. 2100*f5f40dd6SCy Schubert 2101*f5f40dd6SCy SchubertSeverity: MEDIUM 2102*f5f40dd6SCy Schubert 2103*f5f40dd6SCy SchubertIn addition to bug fixes and enhancements, this release fixes the 2104*f5f40dd6SCy Schubertfollowing 1 low- and 8 medium-severity vulnerabilities: 2105*f5f40dd6SCy Schubert 2106*f5f40dd6SCy Schubert* Potential Infinite Loop in 'ntpq' 2107*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016 2108*f5f40dd6SCy Schubert References: Sec 2548 / CVE-2015-8158 2109*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p6, and 2110*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.90 2111*f5f40dd6SCy Schubert CVSS2: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3 - MEDIUM 2112*f5f40dd6SCy Schubert 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*f5f40dd6SCy Schubert Summary: 'ntpq' processes incoming packets in a loop in 'getresponse()'. 2114*f5f40dd6SCy Schubert The loop's only stopping conditions are receiving a complete and 2115*f5f40dd6SCy Schubert correct response or hitting a small number of error conditions. 2116*f5f40dd6SCy Schubert If the packet contains incorrect values that don't trigger one of 2117*f5f40dd6SCy Schubert the error conditions, the loop continues to receive new packets. 2118*f5f40dd6SCy Schubert Note well, this is an attack against an instance of 'ntpq', not 2119*f5f40dd6SCy Schubert 'ntpd', and this attack requires the attacker to do one of the 2120*f5f40dd6SCy Schubert following: 2121*f5f40dd6SCy Schubert * Own a malicious NTP server that the client trusts 2122*f5f40dd6SCy Schubert * Prevent a legitimate NTP server from sending packets to 2123*f5f40dd6SCy Schubert the 'ntpq' client 2124*f5f40dd6SCy Schubert * MITM the 'ntpq' communications between the 'ntpq' client 2125*f5f40dd6SCy Schubert and the NTP server 2126*f5f40dd6SCy Schubert Mitigation: 2127*f5f40dd6SCy Schubert Upgrade to 4.2.8p6, or later, from the NTP Project Download Page 2128*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 2129*f5f40dd6SCy Schubert Credit: This weakness was discovered by Jonathan Gardner of Cisco ASIG. 2130*f5f40dd6SCy Schubert 2131*f5f40dd6SCy Schubert* 0rigin: Zero Origin Timestamp Bypass 2132*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016 2133*f5f40dd6SCy Schubert References: Sec 2945 / CVE-2015-8138 2134*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p6, and 2135*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.90 2136*f5f40dd6SCy Schubert CVSS2: (AV:N/AC:L/Au:N/C:N/I:P/A:N) Base Score: 5.0 - MEDIUM 2137*f5f40dd6SCy Schubert 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*f5f40dd6SCy Schubert (3.7 - LOW if you score AC:L) 2139*f5f40dd6SCy Schubert Summary: To distinguish legitimate peer responses from forgeries, a 2140*f5f40dd6SCy Schubert client attempts to verify a response packet by ensuring that the 2141*f5f40dd6SCy Schubert origin timestamp in the packet matches the origin timestamp it 2142*f5f40dd6SCy Schubert transmitted in its last request. A logic error exists that 2143*f5f40dd6SCy Schubert allows packets with an origin timestamp of zero to bypass this 2144*f5f40dd6SCy Schubert check whenever there is not an outstanding request to the server. 2145*f5f40dd6SCy Schubert Mitigation: 2146*f5f40dd6SCy Schubert Configure 'ntpd' to get time from multiple sources. 2147*f5f40dd6SCy Schubert Upgrade to 4.2.8p6, or later, from the NTP Project Download Page 2148*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page. 2149*f5f40dd6SCy Schubert Monitor your 'ntpd' instances. 2150*f5f40dd6SCy Schubert Credit: This weakness was discovered by Matthey Van Gundy and 2151*f5f40dd6SCy Schubert Jonathan Gardner of Cisco ASIG. 2152*f5f40dd6SCy Schubert 2153*f5f40dd6SCy Schubert* Stack exhaustion in recursive traversal of restriction list 2154*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p6) 19 Jan 2016 2155*f5f40dd6SCy Schubert References: Sec 2940 / CVE-2015-7978 2156*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p6, and 2157*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.90 2158*f5f40dd6SCy Schubert CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3 - MEDIUM 2159*f5f40dd6SCy Schubert Summary: An unauthenticated 'ntpdc reslist' command can cause a 2160*f5f40dd6SCy Schubert segmentation fault in ntpd by exhausting the call stack. 2161*f5f40dd6SCy Schubert Mitigation: 2162*f5f40dd6SCy Schubert Implement BCP-38. 2163*f5f40dd6SCy Schubert Upgrade to 4.2.8p6, or later, from the NTP Project Download Page 2164*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page. 2165*f5f40dd6SCy Schubert If you are unable to upgrade: 2166*f5f40dd6SCy Schubert In ntp-4.2.8, mode 7 is disabled by default. Don't enable it. 2167*f5f40dd6SCy Schubert If you must enable mode 7: 2168*f5f40dd6SCy Schubert configure the use of a 'requestkey' to control who can 2169*f5f40dd6SCy Schubert issue mode 7 requests. 2170*f5f40dd6SCy Schubert configure 'restrict noquery' to further limit mode 7 2171*f5f40dd6SCy Schubert requests to trusted sources. 2172*f5f40dd6SCy Schubert Monitor your ntpd instances. 2173*f5f40dd6SCy Schubert Credit: This weakness was discovered by Stephen Gray at Cisco ASIG. 2174*f5f40dd6SCy Schubert 2175*f5f40dd6SCy Schubert* Off-path Denial of Service (!DoS) attack on authenticated broadcast mode 2176*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016 2177*f5f40dd6SCy Schubert References: Sec 2942 / CVE-2015-7979 2178*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p6, and 2179*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.90 2180*f5f40dd6SCy Schubert CVSS: (AV:N/AC:M/Au:N/C:N/I:P/A:P) Base Score: 5.8 2181*f5f40dd6SCy Schubert Summary: An off-path attacker can send broadcast packets with bad 2182*f5f40dd6SCy Schubert authentication (wrong key, mismatched key, incorrect MAC, etc) 2183*f5f40dd6SCy Schubert to broadcast clients. It is observed that the broadcast client 2184*f5f40dd6SCy Schubert tears down the association with the broadcast server upon 2185*f5f40dd6SCy Schubert receiving just one bad packet. 2186*f5f40dd6SCy Schubert Mitigation: 2187*f5f40dd6SCy Schubert Implement BCP-38. 2188*f5f40dd6SCy Schubert Upgrade to 4.2.8p6, or later, from the NTP Project Download Page 2189*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page. 2190*f5f40dd6SCy Schubert Monitor your 'ntpd' instances. 2191*f5f40dd6SCy Schubert If this sort of attack is an active problem for you, you have 2192*f5f40dd6SCy Schubert deeper problems to investigate. In this case also consider 2193*f5f40dd6SCy Schubert having smaller NTP broadcast domains. 2194*f5f40dd6SCy Schubert Credit: This weakness was discovered by Aanchal Malhotra of Boston 2195*f5f40dd6SCy Schubert University. 2196*f5f40dd6SCy Schubert 2197*f5f40dd6SCy Schubert* reslist NULL pointer dereference 2198*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016 2199*f5f40dd6SCy Schubert References: Sec 2939 / CVE-2015-7977 2200*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p6, and 2201*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.90 2202*f5f40dd6SCy Schubert CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3 - MEDIUM 2203*f5f40dd6SCy Schubert Summary: An unauthenticated 'ntpdc reslist' command can cause a 2204*f5f40dd6SCy Schubert segmentation fault in ntpd by causing a NULL pointer dereference. 2205*f5f40dd6SCy Schubert Mitigation: 2206*f5f40dd6SCy Schubert Implement BCP-38. 2207*f5f40dd6SCy Schubert Upgrade to 4.2.8p6, or later, from NTP Project Download Page or 2208*f5f40dd6SCy Schubert the NTP Public Services Project Download Page. 2209*f5f40dd6SCy Schubert If you are unable to upgrade: 2210*f5f40dd6SCy Schubert mode 7 is disabled by default. Don't enable it. 2211*f5f40dd6SCy Schubert If you must enable mode 7: 2212*f5f40dd6SCy Schubert configure the use of a 'requestkey' to control who can 2213*f5f40dd6SCy Schubert issue mode 7 requests. 2214*f5f40dd6SCy Schubert configure 'restrict noquery' to further limit mode 7 2215*f5f40dd6SCy Schubert requests to trusted sources. 2216*f5f40dd6SCy Schubert Monitor your ntpd instances. 2217*f5f40dd6SCy Schubert Credit: This weakness was discovered by Stephen Gray of Cisco ASIG. 2218*f5f40dd6SCy Schubert 2219*f5f40dd6SCy Schubert* 'ntpq saveconfig' command allows dangerous characters in filenames. 2220*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016 2221*f5f40dd6SCy Schubert References: Sec 2938 / CVE-2015-7976 2222*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p6, and 2223*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.90 2224*f5f40dd6SCy Schubert CVSS: (AV:N/AC:L/Au:S/C:N/I:P/A:N) Base Score: 4.0 - MEDIUM 2225*f5f40dd6SCy Schubert Summary: The ntpq saveconfig command does not do adequate filtering 2226*f5f40dd6SCy Schubert of special characters from the supplied filename. 2227*f5f40dd6SCy Schubert Note well: The ability to use the saveconfig command is controlled 2228*f5f40dd6SCy Schubert by the 'restrict nomodify' directive, and the recommended default 2229*f5f40dd6SCy Schubert configuration is to disable this capability. If the ability to 2230*f5f40dd6SCy Schubert execute a 'saveconfig' is required, it can easily (and should) be 2231*f5f40dd6SCy Schubert limited and restricted to a known small number of IP addresses. 2232*f5f40dd6SCy Schubert Mitigation: 2233*f5f40dd6SCy Schubert Implement BCP-38. 2234*f5f40dd6SCy Schubert use 'restrict default nomodify' in your 'ntp.conf' file. 2235*f5f40dd6SCy Schubert Upgrade to 4.2.8p6, or later, from the NTP Project Download Page. 2236*f5f40dd6SCy Schubert If you are unable to upgrade: 2237*f5f40dd6SCy Schubert build NTP with 'configure --disable-saveconfig' if you will 2238*f5f40dd6SCy Schubert never need this capability, or 2239*f5f40dd6SCy Schubert use 'restrict default nomodify' in your 'ntp.conf' file. Be 2240*f5f40dd6SCy Schubert careful about what IPs have the ability to send 'modify' 2241*f5f40dd6SCy Schubert requests to 'ntpd'. 2242*f5f40dd6SCy Schubert Monitor your ntpd instances. 2243*f5f40dd6SCy Schubert 'saveconfig' requests are logged to syslog - monitor your syslog files. 2244*f5f40dd6SCy Schubert Credit: This weakness was discovered by Jonathan Gardner of Cisco ASIG. 2245*f5f40dd6SCy Schubert 2246*f5f40dd6SCy Schubert* nextvar() missing length check in ntpq 2247*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016 2248*f5f40dd6SCy Schubert References: Sec 2937 / CVE-2015-7975 2249*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p6, and 2250*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.90 2251*f5f40dd6SCy Schubert CVSS: (AV:L/AC:H/Au:N/C:N/I:N/A:P) Base Score: 1.2 - LOW 2252*f5f40dd6SCy Schubert If you score A:C, this becomes 4.0. 2253*f5f40dd6SCy Schubert 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*f5f40dd6SCy Schubert Summary: ntpq may call nextvar() which executes a memcpy() into the 2255*f5f40dd6SCy Schubert name buffer without a proper length check against its maximum 2256*f5f40dd6SCy Schubert length of 256 bytes. Note well that we're taking about ntpq here. 2257*f5f40dd6SCy Schubert The usual worst-case effect of this vulnerability is that the 2258*f5f40dd6SCy Schubert specific instance of ntpq will crash and the person or process 2259*f5f40dd6SCy Schubert that did this will have stopped themselves. 2260*f5f40dd6SCy Schubert Mitigation: 2261*f5f40dd6SCy Schubert Upgrade to 4.2.8p6, or later, from the NTP Project Download Page 2262*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page. 2263*f5f40dd6SCy Schubert If you are unable to upgrade: 2264*f5f40dd6SCy Schubert If you have scripts that feed input to ntpq make sure there are 2265*f5f40dd6SCy Schubert some sanity checks on the input received from the "outside". 2266*f5f40dd6SCy Schubert This is potentially more dangerous if ntpq is run as root. 2267*f5f40dd6SCy Schubert Credit: This weakness was discovered by Jonathan Gardner at Cisco ASIG. 2268*f5f40dd6SCy Schubert 2269*f5f40dd6SCy Schubert* Skeleton Key: Any trusted key system can serve time 2270*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016 2271*f5f40dd6SCy Schubert References: Sec 2936 / CVE-2015-7974 2272*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p6, and 2273*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.90 2274*f5f40dd6SCy Schubert CVSS: (AV:N/AC:H/Au:S/C:N/I:C/A:N) Base Score: 4.9 2275*f5f40dd6SCy Schubert Summary: Symmetric key encryption uses a shared trusted key. The 2276*f5f40dd6SCy Schubert reported title for this issue was "Missing key check allows 2277*f5f40dd6SCy Schubert impersonation between authenticated peers" and the report claimed 2278*f5f40dd6SCy Schubert "A key specified only for one server should only work to 2279*f5f40dd6SCy Schubert authenticate that server, other trusted keys should be refused." 2280*f5f40dd6SCy Schubert Except there has never been any correlation between this trusted 2281*f5f40dd6SCy Schubert key and server v. clients machines and there has never been any 2282*f5f40dd6SCy Schubert way to specify a key only for one server. We have treated this as 2283*f5f40dd6SCy Schubert an enhancement request, and ntp-4.2.8p6 includes other checks and 2284*f5f40dd6SCy Schubert tests to strengthen clients against attacks coming from broadcast 2285*f5f40dd6SCy Schubert servers. 2286*f5f40dd6SCy Schubert Mitigation: 2287*f5f40dd6SCy Schubert Implement BCP-38. 2288*f5f40dd6SCy Schubert If this scenario represents a real or a potential issue for you, 2289*f5f40dd6SCy Schubert upgrade to 4.2.8p6, or later, from the NTP Project Download 2290*f5f40dd6SCy Schubert Page or the NTP Public Services Project Download Page, and 2291*f5f40dd6SCy Schubert use the new field in the ntp.keys file that specifies the list 2292*f5f40dd6SCy Schubert of IPs that are allowed to serve time. Note that this alone 2293*f5f40dd6SCy Schubert will not protect against time packets with forged source IP 2294*f5f40dd6SCy Schubert addresses, however other changes in ntp-4.2.8p6 provide 2295*f5f40dd6SCy Schubert significant mitigation against broadcast attacks. MITM attacks 2296*f5f40dd6SCy Schubert are a different story. 2297*f5f40dd6SCy Schubert If you are unable to upgrade: 2298*f5f40dd6SCy Schubert Don't use broadcast mode if you cannot monitor your client 2299*f5f40dd6SCy Schubert servers. 2300*f5f40dd6SCy Schubert If you choose to use symmetric keys to authenticate time 2301*f5f40dd6SCy Schubert packets in a hostile environment where ephemeral time 2302*f5f40dd6SCy Schubert servers can be created, or if it is expected that malicious 2303*f5f40dd6SCy Schubert time servers will participate in an NTP broadcast domain, 2304*f5f40dd6SCy Schubert limit the number of participating systems that participate 2305*f5f40dd6SCy Schubert in the shared-key group. 2306*f5f40dd6SCy Schubert Monitor your ntpd instances. 2307*f5f40dd6SCy Schubert Credit: This weakness was discovered by Matt Street of Cisco ASIG. 2308*f5f40dd6SCy Schubert 2309*f5f40dd6SCy Schubert* Deja Vu: Replay attack on authenticated broadcast mode 2310*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016 2311*f5f40dd6SCy Schubert References: Sec 2935 / CVE-2015-7973 2312*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p6, and 2313*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.90 2314*f5f40dd6SCy Schubert CVSS: (AV:A/AC:M/Au:N/C:N/I:P/A:P) Base Score: 4.3 - MEDIUM 2315*f5f40dd6SCy Schubert Summary: If an NTP network is configured for broadcast operations then 2316*f5f40dd6SCy Schubert either a man-in-the-middle attacker or a malicious participant 2317*f5f40dd6SCy Schubert that has the same trusted keys as the victim can replay time packets. 2318*f5f40dd6SCy Schubert Mitigation: 2319*f5f40dd6SCy Schubert Implement BCP-38. 2320*f5f40dd6SCy Schubert Upgrade to 4.2.8p6, or later, from the NTP Project Download Page 2321*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page. 2322*f5f40dd6SCy Schubert If you are unable to upgrade: 2323*f5f40dd6SCy Schubert Don't use broadcast mode if you cannot monitor your client servers. 2324*f5f40dd6SCy Schubert Monitor your ntpd instances. 2325*f5f40dd6SCy Schubert Credit: This weakness was discovered by Aanchal Malhotra of Boston 2326*f5f40dd6SCy Schubert University. 2327*f5f40dd6SCy Schubert 2328*f5f40dd6SCy SchubertOther fixes: 2329*f5f40dd6SCy Schubert 2330*f5f40dd6SCy Schubert* [Bug 2772] adj_systime overflows tv_usec. perlinger@ntp.org 2331*f5f40dd6SCy Schubert* [Bug 2814] msyslog deadlock when signaled. perlinger@ntp.org 2332*f5f40dd6SCy Schubert - applied patch by shenpeng11@huawei.com with minor adjustments 2333*f5f40dd6SCy Schubert* [Bug 2882] Look at ntp_request.c:list_peers_sum(). perlinger@ntp.org 2334*f5f40dd6SCy Schubert* [Bug 2891] Deadlock in deferred DNS lookup framework. perlinger@ntp.org 2335*f5f40dd6SCy Schubert* [Bug 2892] Several test cases assume IPv6 capabilities even when 2336*f5f40dd6SCy Schubert IPv6 is disabled in the build. perlinger@ntp.org 2337*f5f40dd6SCy Schubert - Found this already fixed, but validation led to cleanup actions. 2338*f5f40dd6SCy Schubert* [Bug 2905] DNS lookups broken. perlinger@ntp.org 2339*f5f40dd6SCy Schubert - added limits to stack consumption, fixed some return code handling 2340*f5f40dd6SCy Schubert* [Bug 2971] ntpq bails on ^C: select fails: Interrupted system call 2341*f5f40dd6SCy Schubert - changed stacked/nested handling of CTRL-C. perlinger@ntp.org 2342*f5f40dd6SCy Schubert - make CTRL-C work for retrieval and printing od MRU list. perlinger@ntp.org 2343*f5f40dd6SCy Schubert* [Bug 2980] reduce number of warnings. perlinger@ntp.org 2344*f5f40dd6SCy Schubert - integrated several patches from Havard Eidnes (he@uninett.no) 2345*f5f40dd6SCy Schubert* [Bug 2985] bogus calculation in authkeys.c perlinger@ntp.org 2346*f5f40dd6SCy Schubert - implement 'auth_log2()' using integer bithack instead of float calculation 2347*f5f40dd6SCy Schubert* Make leapsec_query debug messages less verbose. Harlan Stenn. 2348*f5f40dd6SCy Schubert 2349*f5f40dd6SCy Schubert--- 2350*f5f40dd6SCy SchubertNTP 4.2.8p5 (Harlan Stenn <stenn@ntp.org>, 2016/01/07) 2351*f5f40dd6SCy Schubert 2352*f5f40dd6SCy SchubertFocus: Security, Bug fixes, enhancements. 2353*f5f40dd6SCy Schubert 2354*f5f40dd6SCy SchubertSeverity: MEDIUM 2355*f5f40dd6SCy Schubert 2356*f5f40dd6SCy SchubertIn addition to bug fixes and enhancements, this release fixes the 2357*f5f40dd6SCy Schubertfollowing medium-severity vulnerability: 2358*f5f40dd6SCy Schubert 2359*f5f40dd6SCy Schubert* Small-step/big-step. Close the panic gate earlier. 2360*f5f40dd6SCy Schubert References: Sec 2956, CVE-2015-5300 2361*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p5, and 2362*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.78 2363*f5f40dd6SCy Schubert CVSS3: (AV:N/AC:H/PR:H/UI:R/S:C/C:L/I:N/A:L) Base Score: 4.0, MEDIUM 2364*f5f40dd6SCy Schubert Summary: If ntpd is always started with the -g option, which is 2365*f5f40dd6SCy Schubert common and against long-standing recommendation, and if at the 2366*f5f40dd6SCy Schubert moment ntpd is restarted an attacker can immediately respond to 2367*f5f40dd6SCy Schubert enough requests from enough sources trusted by the target, which 2368*f5f40dd6SCy Schubert is difficult and not common, there is a window of opportunity 2369*f5f40dd6SCy Schubert where the attacker can cause ntpd to set the time to an 2370*f5f40dd6SCy Schubert arbitrary value. Similarly, if an attacker is able to respond 2371*f5f40dd6SCy Schubert to enough requests from enough sources trusted by the target, 2372*f5f40dd6SCy Schubert the attacker can cause ntpd to abort and restart, at which 2373*f5f40dd6SCy Schubert point it can tell the target to set the time to an arbitrary 2374*f5f40dd6SCy Schubert value if and only if ntpd was re-started against long-standing 2375*f5f40dd6SCy Schubert recommendation with the -g flag, or if ntpd was not given the 2376*f5f40dd6SCy Schubert -g flag, the attacker can move the target system's time by at 2377*f5f40dd6SCy Schubert most 900 seconds' time per attack. 2378*f5f40dd6SCy Schubert Mitigation: 2379*f5f40dd6SCy Schubert Configure ntpd to get time from multiple sources. 2380*f5f40dd6SCy Schubert Upgrade to 4.2.8p5, or later, from the NTP Project Download 2381*f5f40dd6SCy Schubert Page or the NTP Public Services Project Download Page 2382*f5f40dd6SCy Schubert As we've long documented, only use the -g option to ntpd in 2383*f5f40dd6SCy Schubert cold-start situations. 2384*f5f40dd6SCy Schubert Monitor your ntpd instances. 2385*f5f40dd6SCy Schubert Credit: This weakness was discovered by Aanchal Malhotra, 2386*f5f40dd6SCy Schubert Isaac E. Cohen, and Sharon Goldberg at Boston University. 2387*f5f40dd6SCy Schubert 2388*f5f40dd6SCy Schubert NOTE WELL: The -g flag disables the limit check on the panic_gate 2389*f5f40dd6SCy Schubert in ntpd, which is 900 seconds by default. The bug identified by 2390*f5f40dd6SCy Schubert the researchers at Boston University is that the panic_gate 2391*f5f40dd6SCy Schubert check was only re-enabled after the first change to the system 2392*f5f40dd6SCy Schubert clock that was greater than 128 milliseconds, by default. The 2393*f5f40dd6SCy Schubert correct behavior is that the panic_gate check should be 2394*f5f40dd6SCy Schubert re-enabled after any initial time correction. 2395*f5f40dd6SCy Schubert 2396*f5f40dd6SCy Schubert If an attacker is able to inject consistent but erroneous time 2397*f5f40dd6SCy Schubert responses to your systems via the network or "over the air", 2398*f5f40dd6SCy Schubert perhaps by spoofing radio, cellphone, or navigation satellite 2399*f5f40dd6SCy Schubert transmissions, they are in a great position to affect your 2400*f5f40dd6SCy Schubert system's clock. There comes a point where your very best 2401*f5f40dd6SCy Schubert defenses include: 2402*f5f40dd6SCy Schubert 2403*f5f40dd6SCy Schubert Configure ntpd to get time from multiple sources. 2404*f5f40dd6SCy Schubert Monitor your ntpd instances. 2405*f5f40dd6SCy Schubert 2406*f5f40dd6SCy SchubertOther fixes: 2407*f5f40dd6SCy Schubert 2408*f5f40dd6SCy Schubert* Coverity submission process updated from Coverity 5 to Coverity 7. 2409*f5f40dd6SCy Schubert The NTP codebase has been undergoing regular Coverity scans on an 2410*f5f40dd6SCy Schubert ongoing basis since 2006. As part of our recent upgrade from 2411*f5f40dd6SCy Schubert Coverity 5 to Coverity 7, Coverity identified 16 nits in some of 2412*f5f40dd6SCy Schubert the newly-written Unity test programs. These were fixed. 2413*f5f40dd6SCy Schubert* [Bug 2829] Clean up pipe_fds in ntpd.c perlinger@ntp.org 2414*f5f40dd6SCy Schubert* [Bug 2887] stratum -1 config results as showing value 99 2415*f5f40dd6SCy Schubert - fudge stratum should only accept values [0..16]. perlinger@ntp.org 2416*f5f40dd6SCy Schubert* [Bug 2932] Update leapsecond file info in miscopt.html. CWoodbury, HStenn. 2417*f5f40dd6SCy Schubert* [Bug 2934] tests/ntpd/t-ntp_scanner.c has a magic constant wired in. HMurray 2418*f5f40dd6SCy Schubert* [Bug 2944] errno is not preserved properly in ntpdate after sendto call. 2419*f5f40dd6SCy Schubert - applied patch by Christos Zoulas. perlinger@ntp.org 2420*f5f40dd6SCy Schubert* [Bug 2952] Peer associations broken by fix for Bug 2901/CVE-2015-7704. 2421*f5f40dd6SCy Schubert* [Bug 2954] Version 4.2.8p4 crashes on startup on some OSes. 2422*f5f40dd6SCy Schubert - fixed data race conditions in threaded DNS worker. perlinger@ntp.org 2423*f5f40dd6SCy Schubert - limit threading warm-up to linux; FreeBSD bombs on it. perlinger@ntp.org 2424*f5f40dd6SCy Schubert* [Bug 2957] 'unsigned int' vs 'size_t' format clash. perlinger@ntp.org 2425*f5f40dd6SCy Schubert - accept key file only if there are no parsing errors 2426*f5f40dd6SCy Schubert - fixed size_t/u_int format clash 2427*f5f40dd6SCy Schubert - fixed wrong use of 'strlcpy' 2428*f5f40dd6SCy Schubert* [Bug 2958] ntpq: fatal error messages need a final newline. Craig Leres. 2429*f5f40dd6SCy Schubert* [Bug 2962] truncation of size_t/ptrdiff_t on 64bit targets. perlinger@ntp.org 2430*f5f40dd6SCy Schubert - fixed several other warnings (cast-alignment, missing const, missing prototypes) 2431*f5f40dd6SCy Schubert - promote use of 'size_t' for values that express a size 2432*f5f40dd6SCy Schubert - use ptr-to-const for read-only arguments 2433*f5f40dd6SCy Schubert - make sure SOCKET values are not truncated (win32-specific) 2434*f5f40dd6SCy Schubert - format string fixes 2435*f5f40dd6SCy Schubert* [Bug 2965] Local clock didn't work since 4.2.8p4. Martin Burnicki. 2436*f5f40dd6SCy Schubert* [Bug 2967] ntpdate command suffers an assertion failure 2437*f5f40dd6SCy Schubert - fixed ntp_rfc2553.c to return proper address length. perlinger@ntp.org 2438*f5f40dd6SCy Schubert* [Bug 2969] Seg fault from ntpq/mrulist when looking at server with 2439*f5f40dd6SCy Schubert lots of clients. perlinger@ntp.org 2440*f5f40dd6SCy Schubert* [Bug 2971] ntpq bails on ^C: select fails: Interrupted system call 2441*f5f40dd6SCy Schubert - changed stacked/nested handling of CTRL-C. perlinger@ntp.org 2442*f5f40dd6SCy Schubert* Unity cleanup for FreeBSD-6.4. Harlan Stenn. 2443*f5f40dd6SCy Schubert* Unity test cleanup. Harlan Stenn. 2444*f5f40dd6SCy Schubert* Libevent autoconf pthread fixes for FreeBSD-10. Harlan Stenn. 2445*f5f40dd6SCy Schubert* Header cleanup in tests/sandbox/uglydate.c. Harlan Stenn. 2446*f5f40dd6SCy Schubert* Header cleanup in tests/libntp/sfptostr.c. Harlan Stenn. 2447*f5f40dd6SCy Schubert* Quiet a warning from clang. Harlan Stenn. 2448*f5f40dd6SCy Schubert 2449*f5f40dd6SCy Schubert--- 2450*f5f40dd6SCy SchubertNTP 4.2.8p4 (Harlan Stenn <stenn@ntp.org>, 2015/10/21) 2451*f5f40dd6SCy Schubert 2452*f5f40dd6SCy SchubertFocus: Security, Bug fixes, enhancements. 2453*f5f40dd6SCy Schubert 2454*f5f40dd6SCy SchubertSeverity: MEDIUM 2455*f5f40dd6SCy Schubert 2456*f5f40dd6SCy SchubertIn addition to bug fixes and enhancements, this release fixes the 2457*f5f40dd6SCy Schubertfollowing 13 low- and medium-severity vulnerabilities: 2458*f5f40dd6SCy Schubert 2459*f5f40dd6SCy Schubert* Incomplete vallen (value length) checks in ntp_crypto.c, leading 2460*f5f40dd6SCy Schubert to potential crashes or potential code injection/information leakage. 2461*f5f40dd6SCy Schubert 2462*f5f40dd6SCy Schubert References: Sec 2899, Sec 2671, CVE-2015-7691, CVE-2015-7692, CVE-2015-7702 2463*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p4, 2464*f5f40dd6SCy Schubert and 4.3.0 up to, but not including 4.3.77 2465*f5f40dd6SCy Schubert CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6 2466*f5f40dd6SCy Schubert Summary: The fix for CVE-2014-9750 was incomplete in that there were 2467*f5f40dd6SCy Schubert certain code paths where a packet with particular autokey operations 2468*f5f40dd6SCy Schubert that contained malicious data was not always being completely 2469*f5f40dd6SCy Schubert validated. Receipt of these packets can cause ntpd to crash. 2470*f5f40dd6SCy Schubert Mitigation: 2471*f5f40dd6SCy Schubert Don't use autokey. 2472*f5f40dd6SCy Schubert Upgrade to 4.2.8p4, or later, from the NTP Project Download 2473*f5f40dd6SCy Schubert Page or the NTP Public Services Project Download Page 2474*f5f40dd6SCy Schubert Monitor your ntpd instances. 2475*f5f40dd6SCy Schubert Credit: This weakness was discovered by Tenable Network Security. 2476*f5f40dd6SCy Schubert 2477*f5f40dd6SCy Schubert* Clients that receive a KoD should validate the origin timestamp field. 2478*f5f40dd6SCy Schubert 2479*f5f40dd6SCy Schubert References: Sec 2901 / CVE-2015-7704, CVE-2015-7705 2480*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p4, 2481*f5f40dd6SCy Schubert and 4.3.0 up to, but not including 4.3.77 2482*f5f40dd6SCy Schubert CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3-5.0 at worst 2483*f5f40dd6SCy Schubert Summary: An ntpd client that honors Kiss-of-Death responses will honor 2484*f5f40dd6SCy Schubert KoD messages that have been forged by an attacker, causing it to 2485*f5f40dd6SCy Schubert delay or stop querying its servers for time updates. Also, an 2486*f5f40dd6SCy Schubert attacker can forge packets that claim to be from the target and 2487*f5f40dd6SCy Schubert send them to servers often enough that a server that implements 2488*f5f40dd6SCy Schubert KoD rate limiting will send the target machine a KoD response to 2489*f5f40dd6SCy Schubert attempt to reduce the rate of incoming packets, or it may also 2490*f5f40dd6SCy Schubert trigger a firewall block at the server for packets from the target 2491*f5f40dd6SCy Schubert machine. For either of these attacks to succeed, the attacker must 2492*f5f40dd6SCy Schubert know what servers the target is communicating with. An attacker 2493*f5f40dd6SCy Schubert can be anywhere on the Internet and can frequently learn the 2494*f5f40dd6SCy Schubert identity of the target's time source by sending the target a 2495*f5f40dd6SCy Schubert time query. 2496*f5f40dd6SCy Schubert Mitigation: 2497*f5f40dd6SCy Schubert Implement BCP-38. 2498*f5f40dd6SCy Schubert Upgrade to 4.2.8p4, or later, from the NTP Project Download Page 2499*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 2500*f5f40dd6SCy Schubert If you can't upgrade, restrict who can query ntpd to learn who 2501*f5f40dd6SCy Schubert its servers are, and what IPs are allowed to ask your system 2502*f5f40dd6SCy Schubert for the time. This mitigation is heavy-handed. 2503*f5f40dd6SCy Schubert Monitor your ntpd instances. 2504*f5f40dd6SCy Schubert Note: 2505*f5f40dd6SCy Schubert 4.2.8p4 protects against the first attack. For the second attack, 2506*f5f40dd6SCy Schubert all we can do is warn when it is happening, which we do in 4.2.8p4. 2507*f5f40dd6SCy Schubert Credit: This weakness was discovered by Aanchal Malhotra, 2508*f5f40dd6SCy Schubert Issac E. Cohen, and Sharon Goldberg of Boston University. 2509*f5f40dd6SCy Schubert 2510*f5f40dd6SCy Schubert* configuration directives to change "pidfile" and "driftfile" should 2511*f5f40dd6SCy Schubert only be allowed locally. 2512*f5f40dd6SCy Schubert 2513*f5f40dd6SCy Schubert References: Sec 2902 / CVE-2015-5196 2514*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p4, 2515*f5f40dd6SCy Schubert and 4.3.0 up to, but not including 4.3.77 2516*f5f40dd6SCy Schubert CVSS: (AV:N/AC:H/Au:M/C:N/I:C/A:C) Base Score: 6.2 worst case 2517*f5f40dd6SCy Schubert Summary: If ntpd is configured to allow for remote configuration, 2518*f5f40dd6SCy Schubert and if the (possibly spoofed) source IP address is allowed to 2519*f5f40dd6SCy Schubert send remote configuration requests, and if the attacker knows 2520*f5f40dd6SCy Schubert the remote configuration password, it's possible for an attacker 2521*f5f40dd6SCy Schubert to use the "pidfile" or "driftfile" directives to potentially 2522*f5f40dd6SCy Schubert overwrite other files. 2523*f5f40dd6SCy Schubert Mitigation: 2524*f5f40dd6SCy Schubert Implement BCP-38. 2525*f5f40dd6SCy Schubert Upgrade to 4.2.8p4, or later, from the NTP Project Download 2526*f5f40dd6SCy Schubert Page or the NTP Public Services Project Download Page 2527*f5f40dd6SCy Schubert If you cannot upgrade, don't enable remote configuration. 2528*f5f40dd6SCy Schubert If you must enable remote configuration and cannot upgrade, 2529*f5f40dd6SCy Schubert remote configuration of NTF's ntpd requires: 2530*f5f40dd6SCy Schubert - an explicitly configured trustedkey, and you should also 2531*f5f40dd6SCy Schubert configure a controlkey. 2532*f5f40dd6SCy Schubert - access from a permitted IP. You choose the IPs. 2533*f5f40dd6SCy Schubert - authentication. Don't disable it. Practice secure key safety. 2534*f5f40dd6SCy Schubert Monitor your ntpd instances. 2535*f5f40dd6SCy Schubert Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 2536*f5f40dd6SCy Schubert 2537*f5f40dd6SCy Schubert* Slow memory leak in CRYPTO_ASSOC 2538*f5f40dd6SCy Schubert 2539*f5f40dd6SCy Schubert References: Sec 2909 / CVE-2015-7701 2540*f5f40dd6SCy Schubert Affects: All ntp-4 releases that use autokey up to, but not 2541*f5f40dd6SCy Schubert including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77 2542*f5f40dd6SCy Schubert CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 0.0 best/usual case, 2543*f5f40dd6SCy Schubert 4.6 otherwise 2544*f5f40dd6SCy Schubert Summary: If ntpd is configured to use autokey, then an attacker can 2545*f5f40dd6SCy Schubert send packets to ntpd that will, after several days of ongoing 2546*f5f40dd6SCy Schubert attack, cause it to run out of memory. 2547*f5f40dd6SCy Schubert Mitigation: 2548*f5f40dd6SCy Schubert Don't use autokey. 2549*f5f40dd6SCy Schubert Upgrade to 4.2.8p4, or later, from the NTP Project Download 2550*f5f40dd6SCy Schubert Page or the NTP Public Services Project Download Page 2551*f5f40dd6SCy Schubert Monitor your ntpd instances. 2552*f5f40dd6SCy Schubert Credit: This weakness was discovered by Tenable Network Security. 2553*f5f40dd6SCy Schubert 2554*f5f40dd6SCy Schubert* mode 7 loop counter underrun 2555*f5f40dd6SCy Schubert 2556*f5f40dd6SCy Schubert References: Sec 2913 / CVE-2015-7848 / TALOS-CAN-0052 2557*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p4, 2558*f5f40dd6SCy Schubert and 4.3.0 up to, but not including 4.3.77 2559*f5f40dd6SCy Schubert CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6 2560*f5f40dd6SCy Schubert Summary: If ntpd is configured to enable mode 7 packets, and if the 2561*f5f40dd6SCy Schubert use of mode 7 packets is not properly protected thru the use of 2562*f5f40dd6SCy Schubert the available mode 7 authentication and restriction mechanisms, 2563*f5f40dd6SCy Schubert and if the (possibly spoofed) source IP address is allowed to 2564*f5f40dd6SCy Schubert send mode 7 queries, then an attacker can send a crafted packet 2565*f5f40dd6SCy Schubert to ntpd that will cause it to crash. 2566*f5f40dd6SCy Schubert Mitigation: 2567*f5f40dd6SCy Schubert Implement BCP-38. 2568*f5f40dd6SCy Schubert Upgrade to 4.2.8p4, or later, from the NTP Project Download 2569*f5f40dd6SCy Schubert Page or the NTP Public Services Project Download Page. 2570*f5f40dd6SCy Schubert If you are unable to upgrade: 2571*f5f40dd6SCy Schubert In ntp-4.2.8, mode 7 is disabled by default. Don't enable it. 2572*f5f40dd6SCy Schubert If you must enable mode 7: 2573*f5f40dd6SCy Schubert configure the use of a requestkey to control who can issue 2574*f5f40dd6SCy Schubert mode 7 requests. 2575*f5f40dd6SCy Schubert configure restrict noquery to further limit mode 7 requests 2576*f5f40dd6SCy Schubert to trusted sources. 2577*f5f40dd6SCy Schubert Monitor your ntpd instances. 2578*f5f40dd6SCy SchubertCredit: This weakness was discovered by Aleksandar Nikolic of Cisco Talos. 2579*f5f40dd6SCy Schubert 2580*f5f40dd6SCy Schubert* memory corruption in password store 2581*f5f40dd6SCy Schubert 2582*f5f40dd6SCy Schubert References: Sec 2916 / CVE-2015-7849 / TALOS-CAN-0054 2583*f5f40dd6SCy Schubert 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*f5f40dd6SCy Schubert CVSS: (AV:N/AC:H/Au:M/C:N/I:C/A:C) Base Score: 6.8, worst case 2585*f5f40dd6SCy Schubert Summary: If ntpd is configured to allow remote configuration, and if 2586*f5f40dd6SCy Schubert the (possibly spoofed) source IP address is allowed to send 2587*f5f40dd6SCy Schubert remote configuration requests, and if the attacker knows the 2588*f5f40dd6SCy Schubert remote configuration password or if ntpd was configured to 2589*f5f40dd6SCy Schubert disable authentication, then an attacker can send a set of 2590*f5f40dd6SCy Schubert packets to ntpd that may cause a crash or theoretically 2591*f5f40dd6SCy Schubert perform a code injection attack. 2592*f5f40dd6SCy Schubert Mitigation: 2593*f5f40dd6SCy Schubert Implement BCP-38. 2594*f5f40dd6SCy Schubert Upgrade to 4.2.8p4, or later, from the NTP Project Download 2595*f5f40dd6SCy Schubert Page or the NTP Public Services Project Download Page. 2596*f5f40dd6SCy Schubert If you are unable to upgrade, remote configuration of NTF's 2597*f5f40dd6SCy Schubert ntpd requires: 2598*f5f40dd6SCy Schubert an explicitly configured "trusted" key. Only configure 2599*f5f40dd6SCy Schubert this if you need it. 2600*f5f40dd6SCy Schubert access from a permitted IP address. You choose the IPs. 2601*f5f40dd6SCy Schubert authentication. Don't disable it. Practice secure key safety. 2602*f5f40dd6SCy Schubert Monitor your ntpd instances. 2603*f5f40dd6SCy Schubert Credit: This weakness was discovered by Yves Younan of Cisco Talos. 2604*f5f40dd6SCy Schubert 2605*f5f40dd6SCy Schubert* Infinite loop if extended logging enabled and the logfile and 2606*f5f40dd6SCy Schubert keyfile are the same. 2607*f5f40dd6SCy Schubert 2608*f5f40dd6SCy Schubert References: Sec 2917 / CVE-2015-7850 / TALOS-CAN-0055 2609*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p4, 2610*f5f40dd6SCy Schubert and 4.3.0 up to, but not including 4.3.77 2611*f5f40dd6SCy Schubert CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6, worst case 2612*f5f40dd6SCy Schubert Summary: If ntpd is configured to allow remote configuration, and if 2613*f5f40dd6SCy Schubert the (possibly spoofed) source IP address is allowed to send 2614*f5f40dd6SCy Schubert remote configuration requests, and if the attacker knows the 2615*f5f40dd6SCy Schubert remote configuration password or if ntpd was configured to 2616*f5f40dd6SCy Schubert disable authentication, then an attacker can send a set of 2617*f5f40dd6SCy Schubert packets to ntpd that will cause it to crash and/or create a 2618*f5f40dd6SCy Schubert potentially huge log file. Specifically, the attacker could 2619*f5f40dd6SCy Schubert enable extended logging, point the key file at the log file, 2620*f5f40dd6SCy Schubert and cause what amounts to an infinite loop. 2621*f5f40dd6SCy Schubert Mitigation: 2622*f5f40dd6SCy Schubert Implement BCP-38. 2623*f5f40dd6SCy Schubert Upgrade to 4.2.8p4, or later, from the NTP Project Download 2624*f5f40dd6SCy Schubert Page or the NTP Public Services Project Download Page. 2625*f5f40dd6SCy Schubert If you are unable to upgrade, remote configuration of NTF's ntpd 2626*f5f40dd6SCy Schubert requires: 2627*f5f40dd6SCy Schubert an explicitly configured "trusted" key. Only configure this 2628*f5f40dd6SCy Schubert if you need it. 2629*f5f40dd6SCy Schubert access from a permitted IP address. You choose the IPs. 2630*f5f40dd6SCy Schubert authentication. Don't disable it. Practice secure key safety. 2631*f5f40dd6SCy Schubert Monitor your ntpd instances. 2632*f5f40dd6SCy Schubert Credit: This weakness was discovered by Yves Younan of Cisco Talos. 2633*f5f40dd6SCy Schubert 2634*f5f40dd6SCy Schubert* Potential path traversal vulnerability in the config file saving of 2635*f5f40dd6SCy Schubert ntpd on VMS. 2636*f5f40dd6SCy Schubert 2637*f5f40dd6SCy Schubert References: Sec 2918 / CVE-2015-7851 / TALOS-CAN-0062 2638*f5f40dd6SCy Schubert Affects: All ntp-4 releases running under VMS up to, but not 2639*f5f40dd6SCy Schubert including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77 2640*f5f40dd6SCy Schubert CVSS: (AV:N/AC:H/Au:M/C:N/I:P/A:C) Base Score: 5.2, worst case 2641*f5f40dd6SCy Schubert Summary: If ntpd is configured to allow remote configuration, and if 2642*f5f40dd6SCy Schubert the (possibly spoofed) IP address is allowed to send remote 2643*f5f40dd6SCy Schubert configuration requests, and if the attacker knows the remote 2644*f5f40dd6SCy Schubert configuration password or if ntpd was configured to disable 2645*f5f40dd6SCy Schubert authentication, then an attacker can send a set of packets to 2646*f5f40dd6SCy Schubert ntpd that may cause ntpd to overwrite files. 2647*f5f40dd6SCy Schubert Mitigation: 2648*f5f40dd6SCy Schubert Implement BCP-38. 2649*f5f40dd6SCy Schubert Upgrade to 4.2.8p4, or later, from the NTP Project Download 2650*f5f40dd6SCy Schubert Page or the NTP Public Services Project Download Page. 2651*f5f40dd6SCy Schubert If you are unable to upgrade, remote configuration of NTF's ntpd 2652*f5f40dd6SCy Schubert requires: 2653*f5f40dd6SCy Schubert an explicitly configured "trusted" key. Only configure 2654*f5f40dd6SCy Schubert this if you need it. 2655*f5f40dd6SCy Schubert access from permitted IP addresses. You choose the IPs. 2656*f5f40dd6SCy Schubert authentication. Don't disable it. Practice key security safety. 2657*f5f40dd6SCy Schubert Monitor your ntpd instances. 2658*f5f40dd6SCy Schubert Credit: This weakness was discovered by Yves Younan of Cisco Talos. 2659*f5f40dd6SCy Schubert 2660*f5f40dd6SCy Schubert* ntpq atoascii() potential memory corruption 2661*f5f40dd6SCy Schubert 2662*f5f40dd6SCy Schubert References: Sec 2919 / CVE-2015-7852 / TALOS-CAN-0063 2663*f5f40dd6SCy Schubert Affects: All ntp-4 releases running up to, but not including 4.2.8p4, 2664*f5f40dd6SCy Schubert and 4.3.0 up to, but not including 4.3.77 2665*f5f40dd6SCy Schubert CVSS: (AV:N/AC:H/Au:N/C:N/I:P/A:P) Base Score: 4.0, worst case 2666*f5f40dd6SCy Schubert Summary: If an attacker can figure out the precise moment that ntpq 2667*f5f40dd6SCy Schubert is listening for data and the port number it is listening on or 2668*f5f40dd6SCy Schubert if the attacker can provide a malicious instance ntpd that 2669*f5f40dd6SCy Schubert victims will connect to then an attacker can send a set of 2670*f5f40dd6SCy Schubert crafted mode 6 response packets that, if received by ntpq, 2671*f5f40dd6SCy Schubert can cause ntpq to crash. 2672*f5f40dd6SCy Schubert Mitigation: 2673*f5f40dd6SCy Schubert Implement BCP-38. 2674*f5f40dd6SCy Schubert Upgrade to 4.2.8p4, or later, from the NTP Project Download 2675*f5f40dd6SCy Schubert Page or the NTP Public Services Project Download Page. 2676*f5f40dd6SCy Schubert If you are unable to upgrade and you run ntpq against a server 2677*f5f40dd6SCy Schubert and ntpq crashes, try again using raw mode. Build or get a 2678*f5f40dd6SCy Schubert patched ntpq and see if that fixes the problem. Report new 2679*f5f40dd6SCy Schubert bugs in ntpq or abusive servers appropriately. 2680*f5f40dd6SCy Schubert If you use ntpq in scripts, make sure ntpq does what you expect 2681*f5f40dd6SCy Schubert in your scripts. 2682*f5f40dd6SCy Schubert Credit: This weakness was discovered by Yves Younan and 2683*f5f40dd6SCy Schubert Aleksander Nikolich of Cisco Talos. 2684*f5f40dd6SCy Schubert 2685*f5f40dd6SCy Schubert* Invalid length data provided by a custom refclock driver could cause 2686*f5f40dd6SCy Schubert a buffer overflow. 2687*f5f40dd6SCy Schubert 2688*f5f40dd6SCy Schubert References: Sec 2920 / CVE-2015-7853 / TALOS-CAN-0064 2689*f5f40dd6SCy Schubert Affects: Potentially all ntp-4 releases running up to, but not 2690*f5f40dd6SCy Schubert including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77 2691*f5f40dd6SCy Schubert that have custom refclocks 2692*f5f40dd6SCy Schubert CVSS: (AV:L/AC:H/Au:M/C:C/I:C/A:C) Base Score: 0.0 usual case, 2693*f5f40dd6SCy Schubert 5.9 unusual worst case 2694*f5f40dd6SCy Schubert Summary: A negative value for the datalen parameter will overflow a 2695*f5f40dd6SCy Schubert data buffer. NTF's ntpd driver implementations always set this 2696*f5f40dd6SCy Schubert value to 0 and are therefore not vulnerable to this weakness. 2697*f5f40dd6SCy Schubert If you are running a custom refclock driver in ntpd and that 2698*f5f40dd6SCy Schubert driver supplies a negative value for datalen (no custom driver 2699*f5f40dd6SCy Schubert of even minimal competence would do this) then ntpd would 2700*f5f40dd6SCy Schubert overflow a data buffer. It is even hypothetically possible 2701*f5f40dd6SCy Schubert in this case that instead of simply crashing ntpd the attacker 2702*f5f40dd6SCy Schubert could effect a code injection attack. 2703*f5f40dd6SCy Schubert Mitigation: 2704*f5f40dd6SCy Schubert Upgrade to 4.2.8p4, or later, from the NTP Project Download 2705*f5f40dd6SCy Schubert Page or the NTP Public Services Project Download Page. 2706*f5f40dd6SCy Schubert If you are unable to upgrade: 2707*f5f40dd6SCy Schubert If you are running custom refclock drivers, make sure 2708*f5f40dd6SCy Schubert the signed datalen value is either zero or positive. 2709*f5f40dd6SCy Schubert Monitor your ntpd instances. 2710*f5f40dd6SCy Schubert Credit: This weakness was discovered by Yves Younan of Cisco Talos. 2711*f5f40dd6SCy Schubert 2712*f5f40dd6SCy Schubert* Password Length Memory Corruption Vulnerability 2713*f5f40dd6SCy Schubert 2714*f5f40dd6SCy Schubert References: Sec 2921 / CVE-2015-7854 / TALOS-CAN-0065 2715*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p4, and 2716*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.77 2717*f5f40dd6SCy Schubert CVSS: (AV:N/AC:H/Au:M/C:C/I:C/A:C) Base Score: 0.0 best case, 2718*f5f40dd6SCy Schubert 1.7 usual case, 6.8, worst case 2719*f5f40dd6SCy Schubert Summary: If ntpd is configured to allow remote configuration, and if 2720*f5f40dd6SCy Schubert the (possibly spoofed) source IP address is allowed to send 2721*f5f40dd6SCy Schubert remote configuration requests, and if the attacker knows the 2722*f5f40dd6SCy Schubert remote configuration password or if ntpd was (foolishly) 2723*f5f40dd6SCy Schubert configured to disable authentication, then an attacker can 2724*f5f40dd6SCy Schubert send a set of packets to ntpd that may cause it to crash, 2725*f5f40dd6SCy Schubert with the hypothetical possibility of a small code injection. 2726*f5f40dd6SCy Schubert Mitigation: 2727*f5f40dd6SCy Schubert Implement BCP-38. 2728*f5f40dd6SCy Schubert Upgrade to 4.2.8p4, or later, from the NTP Project Download 2729*f5f40dd6SCy Schubert Page or the NTP Public Services Project Download Page. 2730*f5f40dd6SCy Schubert If you are unable to upgrade, remote configuration of NTF's 2731*f5f40dd6SCy Schubert ntpd requires: 2732*f5f40dd6SCy Schubert an explicitly configured "trusted" key. Only configure 2733*f5f40dd6SCy Schubert this if you need it. 2734*f5f40dd6SCy Schubert access from a permitted IP address. You choose the IPs. 2735*f5f40dd6SCy Schubert authentication. Don't disable it. Practice secure key safety. 2736*f5f40dd6SCy Schubert Monitor your ntpd instances. 2737*f5f40dd6SCy Schubert Credit: This weakness was discovered by Yves Younan and 2738*f5f40dd6SCy Schubert Aleksander Nikolich of Cisco Talos. 2739*f5f40dd6SCy Schubert 2740*f5f40dd6SCy Schubert* decodenetnum() will ASSERT botch instead of returning FAIL on some 2741*f5f40dd6SCy Schubert bogus values. 2742*f5f40dd6SCy Schubert 2743*f5f40dd6SCy Schubert References: Sec 2922 / CVE-2015-7855 2744*f5f40dd6SCy Schubert Affects: All ntp-4 releases up to, but not including 4.2.8p4, and 2745*f5f40dd6SCy Schubert 4.3.0 up to, but not including 4.3.77 2746*f5f40dd6SCy Schubert CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6, worst case 2747*f5f40dd6SCy Schubert Summary: If ntpd is fed a crafted mode 6 or mode 7 packet containing 2748*f5f40dd6SCy Schubert an unusually long data value where a network address is expected, 2749*f5f40dd6SCy Schubert the decodenetnum() function will abort with an assertion failure 2750*f5f40dd6SCy Schubert instead of simply returning a failure condition. 2751*f5f40dd6SCy Schubert Mitigation: 2752*f5f40dd6SCy Schubert Implement BCP-38. 2753*f5f40dd6SCy Schubert Upgrade to 4.2.8p4, or later, from the NTP Project Download 2754*f5f40dd6SCy Schubert Page or the NTP Public Services Project Download Page. 2755*f5f40dd6SCy Schubert If you are unable to upgrade: 2756*f5f40dd6SCy Schubert mode 7 is disabled by default. Don't enable it. 2757*f5f40dd6SCy Schubert Use restrict noquery to limit who can send mode 6 2758*f5f40dd6SCy Schubert and mode 7 requests. 2759*f5f40dd6SCy Schubert Configure and use the controlkey and requestkey 2760*f5f40dd6SCy Schubert authentication directives to limit who can 2761*f5f40dd6SCy Schubert send mode 6 and mode 7 requests. 2762*f5f40dd6SCy Schubert Monitor your ntpd instances. 2763*f5f40dd6SCy Schubert Credit: This weakness was discovered by John D "Doug" Birdwell of IDA.org. 2764*f5f40dd6SCy Schubert 2765*f5f40dd6SCy Schubert* NAK to the Future: Symmetric association authentication bypass via 2766*f5f40dd6SCy Schubert crypto-NAK. 2767*f5f40dd6SCy Schubert 2768*f5f40dd6SCy Schubert References: Sec 2941 / CVE-2015-7871 2769*f5f40dd6SCy Schubert Affects: All ntp-4 releases between 4.2.5p186 up to but not including 2770*f5f40dd6SCy Schubert 4.2.8p4, and 4.3.0 up to but not including 4.3.77 2771*f5f40dd6SCy Schubert CVSS: (AV:N/AC:L/Au:N/C:N/I:P/A:P) Base Score: 6.4 2772*f5f40dd6SCy Schubert Summary: Crypto-NAK packets can be used to cause ntpd to accept time 2773*f5f40dd6SCy Schubert from unauthenticated ephemeral symmetric peers by bypassing the 2774*f5f40dd6SCy Schubert authentication required to mobilize peer associations. This 2775*f5f40dd6SCy Schubert vulnerability appears to have been introduced in ntp-4.2.5p186 2776*f5f40dd6SCy Schubert when the code handling mobilization of new passive symmetric 2777*f5f40dd6SCy Schubert associations (lines 1103-1165) was refactored. 2778*f5f40dd6SCy Schubert Mitigation: 2779*f5f40dd6SCy Schubert Implement BCP-38. 2780*f5f40dd6SCy Schubert Upgrade to 4.2.8p4, or later, from the NTP Project Download 2781*f5f40dd6SCy Schubert Page or the NTP Public Services Project Download Page. 2782*f5f40dd6SCy Schubert If you are unable to upgrade: 2783*f5f40dd6SCy Schubert Apply the patch to the bottom of the "authentic" check 2784*f5f40dd6SCy Schubert block around line 1136 of ntp_proto.c. 2785*f5f40dd6SCy Schubert Monitor your ntpd instances. 2786*f5f40dd6SCy Schubert Credit: This weakness was discovered by Matthew Van Gundy of Cisco ASIG. 2787*f5f40dd6SCy Schubert 2788*f5f40dd6SCy SchubertBackward-Incompatible changes: 2789*f5f40dd6SCy Schubert* [Bug 2817] Default on Linux is now "rlimit memlock -1". 2790*f5f40dd6SCy Schubert While the general default of 32M is still the case, under Linux 2791*f5f40dd6SCy Schubert the default value has been changed to -1 (do not lock ntpd into 2792*f5f40dd6SCy Schubert memory). A value of 0 means "lock ntpd into memory with whatever 2793*f5f40dd6SCy Schubert memory it needs." If your ntp.conf file has an explicit "rlimit memlock" 2794*f5f40dd6SCy Schubert value in it, that value will continue to be used. 2795*f5f40dd6SCy Schubert 2796*f5f40dd6SCy Schubert* [Bug 2886] Misspelling: "outlyer" should be "outlier". 2797*f5f40dd6SCy Schubert If you've written a script that looks for this case in, say, the 2798*f5f40dd6SCy Schubert output of ntpq, you probably want to change your regex matches 2799*f5f40dd6SCy Schubert from 'outlyer' to 'outl[iy]er'. 2800*f5f40dd6SCy Schubert 2801*f5f40dd6SCy SchubertNew features in this release: 2802*f5f40dd6SCy Schubert* 'rlimit memlock' now has finer-grained control. A value of -1 means 2803*f5f40dd6SCy Schubert "don't lock ntpd into memore". This is the default for Linux boxes. 2804*f5f40dd6SCy Schubert A value of 0 means "lock ntpd into memory" with no limits. Otherwise 2805*f5f40dd6SCy Schubert the value is the number of megabytes of memory to lock. The default 2806*f5f40dd6SCy Schubert is 32 megabytes. 2807*f5f40dd6SCy Schubert 2808*f5f40dd6SCy Schubert* The old Google Test framework has been replaced with a new framework, 2809*f5f40dd6SCy Schubert based on http://www.throwtheswitch.org/unity/ . 2810*f5f40dd6SCy Schubert 2811*f5f40dd6SCy SchubertBug Fixes and Improvements: 2812*f5f40dd6SCy Schubert* [Bug 2332] (reopened) Exercise thread cancellation once before dropping 2813*f5f40dd6SCy Schubert privileges and limiting resources in NTPD removes the need to link 2814*f5f40dd6SCy Schubert forcefully against 'libgcc_s' which does not always work. J.Perlinger 2815*f5f40dd6SCy Schubert* [Bug 2595] ntpdate man page quirks. Hal Murray, Harlan Stenn. 2816*f5f40dd6SCy Schubert* [Bug 2625] Deprecate flag1 in local refclock. Hal Murray, Harlan Stenn. 2817*f5f40dd6SCy Schubert* [Bug 2817] Stop locking ntpd into memory by default under Linux. H.Stenn. 2818*f5f40dd6SCy Schubert* [Bug 2821] minor build issues: fixed refclock_gpsdjson.c. perlinger@ntp.org 2819*f5f40dd6SCy Schubert* [Bug 2823] ntpsweep with recursive peers option doesn't work. H.Stenn. 2820*f5f40dd6SCy Schubert* [Bug 2849] Systems with more than one default route may never 2821*f5f40dd6SCy Schubert synchronize. Brian Utterback. Note that this patch might need to 2822*f5f40dd6SCy Schubert be reverted once Bug 2043 has been fixed. 2823*f5f40dd6SCy Schubert* [Bug 2864] 4.2.8p3 fails to compile on Windows. Juergen Perlinger 2824*f5f40dd6SCy Schubert* [Bug 2866] segmentation fault at initgroups(). Harlan Stenn. 2825*f5f40dd6SCy Schubert* [Bug 2867] ntpd with autokey active crashed by 'ntpq -crv'. J.Perlinger 2826*f5f40dd6SCy Schubert* [Bug 2873] libevent should not include .deps/ in the tarball. H.Stenn 2827*f5f40dd6SCy Schubert* [Bug 2874] Don't distribute generated sntp/tests/fileHandlingTest.h. H.Stenn 2828*f5f40dd6SCy Schubert* [Bug 2875] sntp/Makefile.am: Get rid of DIST_SUBDIRS. libevent must 2829*f5f40dd6SCy Schubert be configured for the distribution targets. Harlan Stenn. 2830*f5f40dd6SCy Schubert* [Bug 2883] ntpd crashes on exit with empty driftfile. Miroslav Lichvar. 2831*f5f40dd6SCy Schubert* [Bug 2886] Mis-spelling: "outlyer" should be "outlier". dave@horsfall.org 2832*f5f40dd6SCy Schubert* [Bug 2888] streamline calendar functions. perlinger@ntp.org 2833*f5f40dd6SCy Schubert* [Bug 2889] ntp-dev-4.3.67 does not build on Windows. perlinger@ntp.org 2834*f5f40dd6SCy Schubert* [Bug 2890] Ignore ENOBUFS on routing netlink socket. Konstantin Khlebnikov. 2835*f5f40dd6SCy Schubert* [Bug 2906] make check needs better support for pthreads. Harlan Stenn. 2836*f5f40dd6SCy Schubert* [Bug 2907] dist* build targets require our libevent/ to be enabled. HStenn. 2837*f5f40dd6SCy Schubert* [Bug 2912] no munlockall() under Windows. David Taylor, Harlan Stenn. 2838*f5f40dd6SCy Schubert* libntp/emalloc.c: Remove explicit include of stdint.h. Harlan Stenn. 2839*f5f40dd6SCy Schubert* Put Unity CPPFLAGS items in unity_config.h. Harlan Stenn. 2840*f5f40dd6SCy Schubert* tests/ntpd/g_leapsec.cpp typo fix. Harlan Stenn. 2841*f5f40dd6SCy Schubert* Phase 1 deprecation of google test in sntp/tests/. Harlan Stenn. 2842*f5f40dd6SCy Schubert* On some versions of HP-UX, inttypes.h does not include stdint.h. H.Stenn. 2843*f5f40dd6SCy Schubert* top_srcdir can change based on ntp v. sntp. Harlan Stenn. 2844*f5f40dd6SCy Schubert* sntp/tests/ function parameter list cleanup. Damir Tomić. 2845*f5f40dd6SCy Schubert* tests/libntp/ function parameter list cleanup. Damir Tomić. 2846*f5f40dd6SCy Schubert* tests/ntpd/ function parameter list cleanup. Damir Tomić. 2847*f5f40dd6SCy Schubert* sntp/unity/unity_config.h: handle stdint.h. Harlan Stenn. 2848*f5f40dd6SCy Schubert* sntp/unity/unity_internals.h: handle *INTPTR_MAX on old Solaris. H.Stenn. 2849*f5f40dd6SCy Schubert* tests/libntp/timevalops.c and timespecops.c fixed error printing. D.Tomić. 2850*f5f40dd6SCy Schubert* tests/libntp/ improvements in code and fixed error printing. Damir Tomić. 2851*f5f40dd6SCy Schubert* tests/libntp: a_md5encrypt.c, authkeys.c, buftvtots.c, calendar.c, caljulian.c, 2852*f5f40dd6SCy Schubert caltontp.c, clocktime.c, humandate.c, hextolfp.c, decodenetnum.c - fixed 2853*f5f40dd6SCy Schubert formatting; first declaration, then code (C90); deleted unnecessary comments; 2854*f5f40dd6SCy Schubert changed from sprintf to snprintf; fixed order of includes. Tomasz Flendrich 2855*f5f40dd6SCy Schubert* tests/libntp/lfpfunc.c remove unnecessary include, remove old comments, 2856*f5f40dd6SCy Schubert fix formatting, cleanup. Tomasz Flendrich 2857*f5f40dd6SCy Schubert* tests/libntp/lfptostr.c remove unnecessary include, add consts, fix formatting. 2858*f5f40dd6SCy Schubert Tomasz Flendrich 2859*f5f40dd6SCy Schubert* tests/libntp/statestr.c remove empty functions, remove unnecessary include, 2860*f5f40dd6SCy Schubert fix formatting. Tomasz Flendrich 2861*f5f40dd6SCy Schubert* tests/libntp/modetoa.c fixed formatting. Tomasz Flendrich 2862*f5f40dd6SCy Schubert* tests/libntp/msyslog.c fixed formatting. Tomasz Flendrich 2863*f5f40dd6SCy Schubert* tests/libntp/numtoa.c deleted unnecessary empty functions, fixed formatting. 2864*f5f40dd6SCy Schubert Tomasz Flendrich 2865*f5f40dd6SCy Schubert* tests/libntp/numtohost.c added const, fixed formatting. Tomasz Flendrich 2866*f5f40dd6SCy Schubert* tests/libntp/refnumtoa.c fixed formatting. Tomasz Flendrich 2867*f5f40dd6SCy Schubert* tests/libntp/ssl_init.c fixed formatting. Tomasz Flendrich 2868*f5f40dd6SCy Schubert* tests/libntp/tvtots.c fixed a bug, fixed formatting. Tomasz Flendrich 2869*f5f40dd6SCy Schubert* tests/libntp/uglydate.c removed an unnecessary include. Tomasz Flendrich 2870*f5f40dd6SCy Schubert* tests/libntp/vi64ops.c removed an unnecessary comment, fixed formatting. 2871*f5f40dd6SCy Schubert* tests/libntp/ymd3yd.c removed an empty function and an unnecessary include, 2872*f5f40dd6SCy Schubertfixed formatting. Tomasz Flendrich 2873*f5f40dd6SCy Schubert* tests/libntp/timespecops.c fixed formatting, fixed the order of includes, 2874*f5f40dd6SCy Schubert removed unnecessary comments, cleanup. Tomasz Flendrich 2875*f5f40dd6SCy Schubert* tests/libntp/timevalops.c fixed the order of includes, deleted unnecessary 2876*f5f40dd6SCy Schubert comments, cleanup. Tomasz Flendrich 2877*f5f40dd6SCy Schubert* tests/libntp/sockaddrtest.h making it agree to NTP's conventions of formatting. 2878*f5f40dd6SCy Schubert Tomasz Flendrich 2879*f5f40dd6SCy Schubert* tests/libntp/lfptest.h cleanup. Tomasz Flendrich 2880*f5f40dd6SCy Schubert* tests/libntp/test-libntp.c fix formatting. Tomasz Flendrich 2881*f5f40dd6SCy Schubert* sntp/tests/crypto.c is now using proper Unity's assertions, fixed formatting. 2882*f5f40dd6SCy Schubert Tomasz Flendrich 2883*f5f40dd6SCy Schubert* sntp/tests/kodDatabase.c added consts, deleted empty function, 2884*f5f40dd6SCy Schubert fixed formatting. Tomasz Flendrich 2885*f5f40dd6SCy Schubert* sntp/tests/kodFile.c cleanup, fixed formatting. Tomasz Flendrich 2886*f5f40dd6SCy Schubert* sntp/tests/packetHandling.c is now using proper Unity's assertions, 2887*f5f40dd6SCy Schubert fixed formatting, deleted unused variable. Tomasz Flendrich 2888*f5f40dd6SCy Schubert* sntp/tests/keyFile.c is now using proper Unity's assertions, fixed formatting. 2889*f5f40dd6SCy Schubert Tomasz Flendrich 2890*f5f40dd6SCy Schubert* sntp/tests/packetProcessing.c changed from sprintf to snprintf, 2891*f5f40dd6SCy Schubert fixed formatting. Tomasz Flendrich 2892*f5f40dd6SCy Schubert* sntp/tests/utilities.c is now using proper Unity's assertions, changed 2893*f5f40dd6SCy Schubert the order of includes, fixed formatting, removed unnecessary comments. 2894*f5f40dd6SCy Schubert Tomasz Flendrich 2895*f5f40dd6SCy Schubert* sntp/tests/sntptest.h fixed formatting. Tomasz Flendrich 2896*f5f40dd6SCy Schubert* sntp/tests/fileHandlingTest.h.in fixed a possible buffer overflow problem, 2897*f5f40dd6SCy Schubert made one function do its job, deleted unnecessary prints, fixed formatting. 2898*f5f40dd6SCy Schubert Tomasz Flendrich 2899*f5f40dd6SCy Schubert* sntp/unity/Makefile.am added a missing header. Tomasz Flendrich 2900*f5f40dd6SCy Schubert* sntp/unity/unity_config.h: Distribute it. Harlan Stenn. 2901*f5f40dd6SCy Schubert* sntp/libevent/evconfig-private.h: remove generated filefrom SCM. H.Stenn. 2902*f5f40dd6SCy Schubert* sntp/unity/Makefile.am: fix some broken paths. Harlan Stenn. 2903*f5f40dd6SCy Schubert* sntp/unity/unity.c: Clean up a printf(). Harlan Stenn. 2904*f5f40dd6SCy Schubert* Phase 1 deprecation of google test in tests/libntp/. Harlan Stenn. 2905*f5f40dd6SCy Schubert* Don't build sntp/libevent/sample/. Harlan Stenn. 2906*f5f40dd6SCy Schubert* tests/libntp/test_caltontp needs -lpthread. Harlan Stenn. 2907*f5f40dd6SCy Schubert* br-flock: --enable-local-libevent. Harlan Stenn. 2908*f5f40dd6SCy Schubert* Wrote tests for ntpd/ntp_prio_q.c. Tomasz Flendrich 2909*f5f40dd6SCy Schubert* scripts/lib/NTP/Util.pm: stratum output is version-dependent. Harlan Stenn. 2910*f5f40dd6SCy Schubert* Get rid of the NTP_ prefix on our assertion macros. Harlan Stenn. 2911*f5f40dd6SCy Schubert* Code cleanup. Harlan Stenn. 2912*f5f40dd6SCy Schubert* libntp/icom.c: Typo fix. Harlan Stenn. 2913*f5f40dd6SCy Schubert* util/ntptime.c: initialization nit. Harlan Stenn. 2914*f5f40dd6SCy Schubert* ntpd/ntp_peer.c:newpeer(): added a DEBUG_REQUIRE(srcadr). Harlan Stenn. 2915*f5f40dd6SCy Schubert* Add std_unity_tests to various Makefile.am files. Harlan Stenn. 2916*f5f40dd6SCy Schubert* ntpd/ntp_restrict.c: added a few assertions, created tests for this file. 2917*f5f40dd6SCy Schubert Tomasz Flendrich 2918*f5f40dd6SCy Schubert* Changed progname to be const in many files - now it's consistent. Tomasz 2919*f5f40dd6SCy Schubert Flendrich 2920*f5f40dd6SCy Schubert* Typo fix for GCC warning suppression. Harlan Stenn. 2921*f5f40dd6SCy Schubert* Added tests/ntpd/ntp_scanner.c test. Damir Tomić. 2922*f5f40dd6SCy Schubert* Added declarations to all Unity tests, and did minor fixes to them. 2923*f5f40dd6SCy Schubert Reduced the number of warnings by half. Damir Tomić. 2924*f5f40dd6SCy Schubert* Updated generate_test_runner.rb and updated the sntp/unity/auto directory 2925*f5f40dd6SCy Schubert with the latest Unity updates from Mark. Damir Tomić. 2926*f5f40dd6SCy Schubert* Retire google test - phase I. Harlan Stenn. 2927*f5f40dd6SCy Schubert* Unity test cleanup: move declaration of 'initializing'. Harlan Stenn. 2928*f5f40dd6SCy Schubert* Update the NEWS file. Harlan Stenn. 2929*f5f40dd6SCy Schubert* Autoconf cleanup. Harlan Stenn. 2930*f5f40dd6SCy Schubert* Unit test dist cleanup. Harlan Stenn. 2931*f5f40dd6SCy Schubert* Cleanup various test Makefile.am files. Harlan Stenn. 2932*f5f40dd6SCy Schubert* Pthread autoconf macro cleanup. Harlan Stenn. 2933*f5f40dd6SCy Schubert* Fix progname definition in unity runner scripts. Harlan Stenn. 2934*f5f40dd6SCy Schubert* Clean trailing whitespace in tests/ntpd/Makefile.am. Harlan Stenn. 2935*f5f40dd6SCy Schubert* Update the patch for bug 2817. Harlan Stenn. 2936*f5f40dd6SCy Schubert* More updates for bug 2817. Harlan Stenn. 2937*f5f40dd6SCy Schubert* Fix bugs in tests/ntpd/ntp_prio_q.c. Harlan Stenn. 2938*f5f40dd6SCy Schubert* gcc on older HPUX may need +allowdups. Harlan Stenn. 2939*f5f40dd6SCy Schubert* Adding missing MCAST protection. Harlan Stenn. 2940*f5f40dd6SCy Schubert* Disable certain test programs on certain platforms. Harlan Stenn. 2941*f5f40dd6SCy Schubert* Implement --enable-problem-tests (on by default). Harlan Stenn. 2942*f5f40dd6SCy Schubert* build system tweaks. Harlan Stenn. 2943*f5f40dd6SCy Schubert 2944*f5f40dd6SCy Schubert--- 2945*f5f40dd6SCy SchubertNTP 4.2.8p3 (Harlan Stenn <stenn@ntp.org>, 2015/06/29) 2946*f5f40dd6SCy Schubert 2947*f5f40dd6SCy SchubertFocus: 1 Security fix. Bug fixes and enhancements. Leap-second improvements. 2948*f5f40dd6SCy Schubert 2949*f5f40dd6SCy SchubertSeverity: MEDIUM 2950*f5f40dd6SCy Schubert 2951*f5f40dd6SCy SchubertSecurity Fix: 2952*f5f40dd6SCy Schubert 2953*f5f40dd6SCy Schubert* [Sec 2853] Crafted remote config packet can crash some versions of 2954*f5f40dd6SCy Schubert ntpd. Aleksis Kauppinen, Juergen Perlinger, Harlan Stenn. 2955*f5f40dd6SCy Schubert 2956*f5f40dd6SCy SchubertUnder specific circumstances an attacker can send a crafted packet to 2957*f5f40dd6SCy Schubertcause a vulnerable ntpd instance to crash. This requires each of the 2958*f5f40dd6SCy Schubertfollowing to be true: 2959*f5f40dd6SCy Schubert 2960*f5f40dd6SCy Schubert1) ntpd set up to allow remote configuration (not allowed by default), and 2961*f5f40dd6SCy Schubert2) knowledge of the configuration password, and 2962*f5f40dd6SCy Schubert3) access to a computer entrusted to perform remote configuration. 2963*f5f40dd6SCy Schubert 2964*f5f40dd6SCy SchubertThis vulnerability is considered low-risk. 2965*f5f40dd6SCy Schubert 2966*f5f40dd6SCy SchubertNew features in this release: 2967*f5f40dd6SCy Schubert 2968*f5f40dd6SCy SchubertOptional (disabled by default) support to have ntpd provide smeared 2969*f5f40dd6SCy Schubertleap second time. A specially built and configured ntpd will only 2970*f5f40dd6SCy Schubertoffer smeared time in response to client packets. These response 2971*f5f40dd6SCy Schubertpackets will also contain a "refid" of 254.a.b.c, where the 24 bits 2972*f5f40dd6SCy Schubertof a, b, and c encode the amount of smear in a 2:22 integer:fraction 2973*f5f40dd6SCy Schubertformat. See README.leapsmear and http://bugs.ntp.org/2855 for more 2974*f5f40dd6SCy Schubertinformation. 2975*f5f40dd6SCy Schubert 2976*f5f40dd6SCy Schubert *IF YOU CHOOSE TO CONFIGURE NTPD TO PROVIDE LEAP SMEAR TIME* 2977*f5f40dd6SCy Schubert *BE SURE YOU DO NOT OFFER THAT TIME ON PUBLIC TIMESERVERS.* 2978*f5f40dd6SCy Schubert 2979*f5f40dd6SCy SchubertWe've imported the Unity test framework, and have begun converting 2980*f5f40dd6SCy Schubertthe existing google-test items to this new framework. If you want 2981*f5f40dd6SCy Schubertto write new tests or change old ones, you'll need to have ruby 2982*f5f40dd6SCy Schubertinstalled. You don't need ruby to run the test suite. 2983*f5f40dd6SCy Schubert 2984*f5f40dd6SCy SchubertBug Fixes and Improvements: 2985*f5f40dd6SCy Schubert 2986*f5f40dd6SCy Schubert* CID 739725: Fix a rare resource leak in libevent/listener.c. 2987*f5f40dd6SCy Schubert* CID 1295478: Quiet a pedantic potential error from the fix for Bug 2776. 2988*f5f40dd6SCy Schubert* CID 1296235: Fix refclock_jjy.c and correcting type of the driver40-ja.html 2989*f5f40dd6SCy Schubert* CID 1269537: Clean up a line of dead code in getShmTime(). 2990*f5f40dd6SCy Schubert* [Bug 1060] Buffer overruns in libparse/clk_rawdcf.c. Helge Oldach. 2991*f5f40dd6SCy Schubert* [Bug 2590] autogen-5.18.5. 2992*f5f40dd6SCy Schubert* [Bug 2612] restrict: Warn when 'monitor' can't be disabled because 2993*f5f40dd6SCy Schubert of 'limited'. 2994*f5f40dd6SCy Schubert* [Bug 2650] fix includefile processing. 2995*f5f40dd6SCy Schubert* [Bug 2745] ntpd -x steps clock on leap second 2996*f5f40dd6SCy Schubert Fixed an initial-value problem that caused misbehaviour in absence of 2997*f5f40dd6SCy Schubert any leapsecond information. 2998*f5f40dd6SCy Schubert Do leap second stepping only of the step adjustment is beyond the 2999*f5f40dd6SCy Schubert proper jump distance limit and step correction is allowed at all. 3000*f5f40dd6SCy Schubert* [Bug 2750] build for Win64 3001*f5f40dd6SCy Schubert Building for 32bit of loopback ppsapi needs def file 3002*f5f40dd6SCy Schubert* [Bug 2776] Improve ntpq's 'help keytype'. 3003*f5f40dd6SCy Schubert* [Bug 2778] Implement "apeers" ntpq command to include associd. 3004*f5f40dd6SCy Schubert* [Bug 2782] Refactor refclock_shm.c, add memory barrier protection. 3005*f5f40dd6SCy Schubert* [Bug 2792] If the IFF_RUNNING interface flag is supported then an 3006*f5f40dd6SCy Schubert interface is ignored as long as this flag is not set since the 3007*f5f40dd6SCy Schubert interface is not usable (e.g., no link). 3008*f5f40dd6SCy Schubert* [Bug 2794] Clean up kernel clock status reports. 3009*f5f40dd6SCy Schubert* [Bug 2800] refclock_true.c true_debug() can't open debug log because 3010*f5f40dd6SCy Schubert of incompatible open/fdopen parameters. 3011*f5f40dd6SCy Schubert* [Bug 2804] install-local-data assumes GNU 'find' semantics. 3012*f5f40dd6SCy Schubert* [Bug 2805] ntpd fails to join multicast group. 3013*f5f40dd6SCy Schubert* [Bug 2806] refclock_jjy.c supports the Telephone JJY. 3014*f5f40dd6SCy Schubert* [Bug 2808] GPSD_JSON driver enhancements, step 1. 3015*f5f40dd6SCy Schubert Fix crash during cleanup if GPS device not present and char device. 3016*f5f40dd6SCy Schubert Increase internal token buffer to parse all JSON data, even SKY. 3017*f5f40dd6SCy Schubert Defer logging of errors during driver init until the first unit is 3018*f5f40dd6SCy Schubert started, so the syslog is not cluttered when the driver is not used. 3019*f5f40dd6SCy Schubert Various improvements, see http://bugs.ntp.org/2808 for details. 3020*f5f40dd6SCy Schubert Changed libjsmn to a more recent version. 3021*f5f40dd6SCy Schubert* [Bug 2810] refclock_shm.c memory barrier code needs tweaks for QNX. 3022*f5f40dd6SCy Schubert* [Bug 2813] HP-UX needs -D__STDC_VERSION__=199901L and limits.h. 3023*f5f40dd6SCy Schubert* [Bug 2815] net-snmp before v5.4 has circular library dependencies. 3024*f5f40dd6SCy Schubert* [Bug 2821] Add a missing NTP_PRINTF and a missing const. 3025*f5f40dd6SCy Schubert* [Bug 2822] New leap column in sntp broke NTP::Util.pm. 3026*f5f40dd6SCy Schubert* [Bug 2824] Convert update-leap to perl. (also see 2769) 3027*f5f40dd6SCy Schubert* [Bug 2825] Quiet file installation in html/ . 3028*f5f40dd6SCy Schubert* [Bug 2830] ntpd doesn't always transfer the correct TAI offset via autokey 3029*f5f40dd6SCy Schubert NTPD transfers the current TAI (instead of an announcement) now. 3030*f5f40dd6SCy Schubert This might still needed improvement. 3031*f5f40dd6SCy Schubert Update autokey data ASAP when 'sys_tai' changes. 3032*f5f40dd6SCy Schubert Fix unit test that was broken by changes for autokey update. 3033*f5f40dd6SCy Schubert Avoid potential signature length issue and use DPRINTF where possible 3034*f5f40dd6SCy Schubert in ntp_crypto.c. 3035*f5f40dd6SCy Schubert* [Bug 2832] refclock_jjy.c supports the TDC-300. 3036*f5f40dd6SCy Schubert* [Bug 2834] Correct a broken html tag in html/refclock.html 3037*f5f40dd6SCy Schubert* [Bug 2836] DFC77 patches from Frank Kardel to make decoding more 3038*f5f40dd6SCy Schubert robust, and require 2 consecutive timestamps to be consistent. 3039*f5f40dd6SCy Schubert* [Bug 2837] Allow a configurable DSCP value. 3040*f5f40dd6SCy Schubert* [Bug 2837] add test for DSCP to ntpd/complete.conf.in 3041*f5f40dd6SCy Schubert* [Bug 2842] Glitch in ntp.conf.def documentation stanza. 3042*f5f40dd6SCy Schubert* [Bug 2842] Bug in mdoc2man. 3043*f5f40dd6SCy Schubert* [Bug 2843] make check fails on 4.3.36 3044*f5f40dd6SCy Schubert Fixed compiler warnings about numeric range overflow 3045*f5f40dd6SCy Schubert (The original topic was fixed in a byplay to bug#2830) 3046*f5f40dd6SCy Schubert* [Bug 2845] Harden memory allocation in ntpd. 3047*f5f40dd6SCy Schubert* [Bug 2852] 'make check' can't find unity.h. Hal Murray. 3048*f5f40dd6SCy Schubert* [Bug 2854] Missing brace in libntp/strdup.c. Masanari Iida. 3049*f5f40dd6SCy Schubert* [Bug 2855] Parser fix for conditional leap smear code. Harlan Stenn. 3050*f5f40dd6SCy Schubert* [Bug 2855] Report leap smear in the REFID. Harlan Stenn. 3051*f5f40dd6SCy Schubert* [Bug 2855] Implement conditional leap smear code. Martin Burnicki. 3052*f5f40dd6SCy Schubert* [Bug 2856] ntpd should wait() on terminated child processes. Paul Green. 3053*f5f40dd6SCy Schubert* [Bug 2857] Stratus VOS does not support SIGIO. Paul Green. 3054*f5f40dd6SCy Schubert* [Bug 2859] Improve raw DCF77 robustness deconding. Frank Kardel. 3055*f5f40dd6SCy Schubert* [Bug 2860] ntpq ifstats sanity check is too stringent. Frank Kardel. 3056*f5f40dd6SCy Schubert* html/drivers/driver22.html: typo fix. Harlan Stenn. 3057*f5f40dd6SCy Schubert* refidsmear test cleanup. Tomasz Flendrich. 3058*f5f40dd6SCy Schubert* refidsmear function support and tests. Harlan Stenn. 3059*f5f40dd6SCy Schubert* sntp/tests/Makefile.am: remove g_nameresolution.cpp as it tested 3060*f5f40dd6SCy Schubert something that was only in the 4.2.6 sntp. Harlan Stenn. 3061*f5f40dd6SCy Schubert* Modified tests/bug-2803/Makefile.am so it builds Unity framework tests. 3062*f5f40dd6SCy Schubert Damir Tomić 3063*f5f40dd6SCy Schubert* Modified tests/libtnp/Makefile.am so it builds Unity framework tests. 3064*f5f40dd6SCy Schubert Damir Tomić 3065*f5f40dd6SCy Schubert* Modified sntp/tests/Makefile.am so it builds Unity framework tests. 3066*f5f40dd6SCy Schubert Damir Tomić 3067*f5f40dd6SCy Schubert* tests/sandbox/smeartest.c: Harlan Stenn, Damir Tomic, Juergen Perlinger. 3068*f5f40dd6SCy Schubert* Converted from gtest to Unity: tests/bug-2803/. Damir Tomić 3069*f5f40dd6SCy Schubert* Converted from gtest to Unity: tests/libntp/ a_md5encrypt, atoint.c, 3070*f5f40dd6SCy Schubert atouint.c, authkeys.c, buftvtots.c, calendar.c, caljulian.c, 3071*f5f40dd6SCy Schubert calyearstart.c, clocktime.c, hextoint.c, lfpfunc.c, modetoa.c, 3072*f5f40dd6SCy Schubert numtoa.c, numtohost.c, refnumtoa.c, ssl_init.c, statestr.c, 3073*f5f40dd6SCy Schubert timespecops.c, timevalops.c, uglydate.c, vi64ops.c, ymd2yd.c. 3074*f5f40dd6SCy Schubert Damir Tomić 3075*f5f40dd6SCy Schubert* Converted from gtest to Unity: sntp/tests/ kodDatabase.c, kodFile.c, 3076*f5f40dd6SCy Schubert networking.c, keyFile.c, utilities.cpp, sntptest.h, 3077*f5f40dd6SCy Schubert fileHandlingTest.h. Damir Tomić 3078*f5f40dd6SCy Schubert* Initial support for experimental leap smear code. Harlan Stenn. 3079*f5f40dd6SCy Schubert* Fixes to sntp/tests/fileHandlingTest.h.in. Harlan Stenn. 3080*f5f40dd6SCy Schubert* Report select() debug messages at debug level 3 now. 3081*f5f40dd6SCy Schubert* sntp/scripts/genLocInfo: treat raspbian as debian. 3082*f5f40dd6SCy Schubert* Unity test framework fixes. 3083*f5f40dd6SCy Schubert ** Requires ruby for changes to tests. 3084*f5f40dd6SCy Schubert* Initial support for PACKAGE_VERSION tests. 3085*f5f40dd6SCy Schubert* sntp/libpkgver belongs in EXTRA_DIST, not DIST_SUBDIRS. 3086*f5f40dd6SCy Schubert* tests/bug-2803/Makefile.am must distribute bug-2803.h. 3087*f5f40dd6SCy Schubert* Add an assert to the ntpq ifstats code. 3088*f5f40dd6SCy Schubert* Clean up the RLIMIT_STACK code. 3089*f5f40dd6SCy Schubert* Improve the ntpq documentation around the controlkey keyid. 3090*f5f40dd6SCy Schubert* ntpq.c cleanup. 3091*f5f40dd6SCy Schubert* Windows port build cleanup. 3092*f5f40dd6SCy Schubert 3093*f5f40dd6SCy Schubert--- 3094*f5f40dd6SCy SchubertNTP 4.2.8p2 (Harlan Stenn <stenn@ntp.org>, 2015/04/07) 3095*f5f40dd6SCy Schubert 3096*f5f40dd6SCy SchubertFocus: Security and Bug fixes, enhancements. 3097*f5f40dd6SCy Schubert 3098*f5f40dd6SCy SchubertSeverity: MEDIUM 3099*f5f40dd6SCy Schubert 3100*f5f40dd6SCy SchubertIn addition to bug fixes and enhancements, this release fixes the 3101*f5f40dd6SCy Schubertfollowing medium-severity vulnerabilities involving private key 3102*f5f40dd6SCy Schubertauthentication: 3103*f5f40dd6SCy Schubert 3104*f5f40dd6SCy Schubert* [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto. 3105*f5f40dd6SCy Schubert 3106*f5f40dd6SCy Schubert References: Sec 2779 / CVE-2015-1798 / VU#374268 3107*f5f40dd6SCy Schubert Affects: All NTP4 releases starting with ntp-4.2.5p99 up to but not 3108*f5f40dd6SCy Schubert including ntp-4.2.8p2 where the installation uses symmetric keys 3109*f5f40dd6SCy Schubert to authenticate remote associations. 3110*f5f40dd6SCy Schubert CVSS: (AV:A/AC:M/Au:N/C:P/I:P/A:P) Base Score: 5.4 3111*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p2) 07 Apr 2015 3112*f5f40dd6SCy Schubert Summary: When ntpd is configured to use a symmetric key to authenticate 3113*f5f40dd6SCy Schubert a remote NTP server/peer, it checks if the NTP message 3114*f5f40dd6SCy Schubert authentication code (MAC) in received packets is valid, but not if 3115*f5f40dd6SCy Schubert there actually is any MAC included. Packets without a MAC are 3116*f5f40dd6SCy Schubert accepted as if they had a valid MAC. This allows a MITM attacker to 3117*f5f40dd6SCy Schubert send false packets that are accepted by the client/peer without 3118*f5f40dd6SCy Schubert having to know the symmetric key. The attacker needs to know the 3119*f5f40dd6SCy Schubert transmit timestamp of the client to match it in the forged reply 3120*f5f40dd6SCy Schubert and the false reply needs to reach the client before the genuine 3121*f5f40dd6SCy Schubert reply from the server. The attacker doesn't necessarily need to be 3122*f5f40dd6SCy Schubert relaying the packets between the client and the server. 3123*f5f40dd6SCy Schubert 3124*f5f40dd6SCy Schubert Authentication using autokey doesn't have this problem as there is 3125*f5f40dd6SCy Schubert a check that requires the key ID to be larger than NTP_MAXKEY, 3126*f5f40dd6SCy Schubert which fails for packets without a MAC. 3127*f5f40dd6SCy Schubert Mitigation: 3128*f5f40dd6SCy Schubert Upgrade to 4.2.8p2, or later, from the NTP Project Download Page 3129*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 3130*f5f40dd6SCy Schubert Configure ntpd with enough time sources and monitor it properly. 3131*f5f40dd6SCy Schubert Credit: This issue was discovered by Miroslav Lichvar, of Red Hat. 3132*f5f40dd6SCy Schubert 3133*f5f40dd6SCy Schubert* [Sec 2781] Authentication doesn't protect symmetric associations against 3134*f5f40dd6SCy Schubert DoS attacks. 3135*f5f40dd6SCy Schubert 3136*f5f40dd6SCy Schubert References: Sec 2781 / CVE-2015-1799 / VU#374268 3137*f5f40dd6SCy Schubert Affects: All NTP releases starting with at least xntp3.3wy up to but 3138*f5f40dd6SCy Schubert not including ntp-4.2.8p2 where the installation uses symmetric 3139*f5f40dd6SCy Schubert key authentication. 3140*f5f40dd6SCy Schubert CVSS: (AV:A/AC:M/Au:N/C:P/I:P/A:P) Base Score: 5.4 3141*f5f40dd6SCy Schubert Note: the CVSS base Score for this issue could be 4.3 or lower, and 3142*f5f40dd6SCy Schubert it could be higher than 5.4. 3143*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p2) 07 Apr 2015 3144*f5f40dd6SCy Schubert Summary: An attacker knowing that NTP hosts A and B are peering with 3145*f5f40dd6SCy Schubert each other (symmetric association) can send a packet to host A 3146*f5f40dd6SCy Schubert with source address of B which will set the NTP state variables 3147*f5f40dd6SCy Schubert on A to the values sent by the attacker. Host A will then send 3148*f5f40dd6SCy Schubert on its next poll to B a packet with originate timestamp that 3149*f5f40dd6SCy Schubert doesn't match the transmit timestamp of B and the packet will 3150*f5f40dd6SCy Schubert be dropped. If the attacker does this periodically for both 3151*f5f40dd6SCy Schubert hosts, they won't be able to synchronize to each other. This is 3152*f5f40dd6SCy Schubert a known denial-of-service attack, described at 3153*f5f40dd6SCy Schubert https://www.eecis.udel.edu/~mills/onwire.html . 3154*f5f40dd6SCy Schubert 3155*f5f40dd6SCy Schubert According to the document the NTP authentication is supposed to 3156*f5f40dd6SCy Schubert protect symmetric associations against this attack, but that 3157*f5f40dd6SCy Schubert doesn't seem to be the case. The state variables are updated even 3158*f5f40dd6SCy Schubert when authentication fails and the peers are sending packets with 3159*f5f40dd6SCy Schubert originate timestamps that don't match the transmit timestamps on 3160*f5f40dd6SCy Schubert the receiving side. 3161*f5f40dd6SCy Schubert 3162*f5f40dd6SCy Schubert This seems to be a very old problem, dating back to at least 3163*f5f40dd6SCy Schubert xntp3.3wy. It's also in the NTPv3 (RFC 1305) and NTPv4 (RFC 5905) 3164*f5f40dd6SCy Schubert specifications, so other NTP implementations with support for 3165*f5f40dd6SCy Schubert symmetric associations and authentication may be vulnerable too. 3166*f5f40dd6SCy Schubert An update to the NTP RFC to correct this error is in-process. 3167*f5f40dd6SCy Schubert Mitigation: 3168*f5f40dd6SCy Schubert Upgrade to 4.2.8p2, or later, from the NTP Project Download Page 3169*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 3170*f5f40dd6SCy Schubert Note that for users of autokey, this specific style of MITM attack 3171*f5f40dd6SCy Schubert is simply a long-known potential problem. 3172*f5f40dd6SCy Schubert Configure ntpd with appropriate time sources and monitor ntpd. 3173*f5f40dd6SCy Schubert Alert your staff if problems are detected. 3174*f5f40dd6SCy Schubert Credit: This issue was discovered by Miroslav Lichvar, of Red Hat. 3175*f5f40dd6SCy Schubert 3176*f5f40dd6SCy Schubert* New script: update-leap 3177*f5f40dd6SCy SchubertThe update-leap script will verify and if necessary, update the 3178*f5f40dd6SCy Schubertleap-second definition file. 3179*f5f40dd6SCy SchubertIt requires the following commands in order to work: 3180*f5f40dd6SCy Schubert 3181*f5f40dd6SCy Schubert wget logger tr sed shasum 3182*f5f40dd6SCy Schubert 3183*f5f40dd6SCy SchubertSome may choose to run this from cron. It needs more portability testing. 3184*f5f40dd6SCy Schubert 3185*f5f40dd6SCy SchubertBug Fixes and Improvements: 3186*f5f40dd6SCy Schubert 3187*f5f40dd6SCy Schubert* [Bug 1787] DCF77's formerly "antenna" bit is "call bit" since 2003. 3188*f5f40dd6SCy Schubert* [Bug 1960] setsockopt IPV6_MULTICAST_IF: Invalid argument. 3189*f5f40dd6SCy Schubert* [Bug 2346] "graceful termination" signals do not do peer cleanup. 3190*f5f40dd6SCy Schubert* [Bug 2728] See if C99-style structure initialization works. 3191*f5f40dd6SCy Schubert* [Bug 2747] Upgrade libevent to 2.1.5-beta. 3192*f5f40dd6SCy Schubert* [Bug 2749] ntp/lib/NTP/Util.pm needs update for ntpq -w, IPv6, .POOL. . 3193*f5f40dd6SCy Schubert* [Bug 2751] jitter.h has stale copies of l_fp macros. 3194*f5f40dd6SCy Schubert* [Bug 2756] ntpd hangs in startup with gcc 3.3.5 on ARM. 3195*f5f40dd6SCy Schubert* [Bug 2757] Quiet compiler warnings. 3196*f5f40dd6SCy Schubert* [Bug 2759] Expose nonvolatile/clk_wander_threshold to ntpq. 3197*f5f40dd6SCy Schubert* [Bug 2763] Allow different thresholds for forward and backward steps. 3198*f5f40dd6SCy Schubert* [Bug 2766] ntp-keygen output files should not be world-readable. 3199*f5f40dd6SCy Schubert* [Bug 2767] ntp-keygen -M should symlink to ntp.keys. 3200*f5f40dd6SCy Schubert* [Bug 2771] nonvolatile value is documented in wrong units. 3201*f5f40dd6SCy Schubert* [Bug 2773] Early leap announcement from Palisade/Thunderbolt 3202*f5f40dd6SCy Schubert* [Bug 2774] Unreasonably verbose printout - leap pending/warning 3203*f5f40dd6SCy Schubert* [Bug 2775] ntp-keygen.c fails to compile under Windows. 3204*f5f40dd6SCy Schubert* [Bug 2777] Fixed loops and decoding of Meinberg GPS satellite info. 3205*f5f40dd6SCy Schubert Removed non-ASCII characters from some copyright comments. 3206*f5f40dd6SCy Schubert Removed trailing whitespace. 3207*f5f40dd6SCy Schubert Updated definitions for Meinberg clocks from current Meinberg header files. 3208*f5f40dd6SCy Schubert Now use C99 fixed-width types and avoid non-ASCII characters in comments. 3209*f5f40dd6SCy Schubert Account for updated definitions pulled from Meinberg header files. 3210*f5f40dd6SCy Schubert Updated comments on Meinberg GPS receivers which are not only called GPS16x. 3211*f5f40dd6SCy Schubert Replaced some constant numbers by defines from ntp_calendar.h 3212*f5f40dd6SCy Schubert Modified creation of parse-specific variables for Meinberg devices 3213*f5f40dd6SCy Schubert in gps16x_message(). 3214*f5f40dd6SCy Schubert Reworked mk_utcinfo() to avoid printing of ambiguous leap second dates. 3215*f5f40dd6SCy Schubert Modified mbg_tm_str() which now expexts an additional parameter controlling 3216*f5f40dd6SCy Schubert if the time status shall be printed. 3217*f5f40dd6SCy Schubert* [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto. 3218*f5f40dd6SCy Schubert* [Sec 2781] Authentication doesn't protect symmetric associations against 3219*f5f40dd6SCy Schubert DoS attacks. 3220*f5f40dd6SCy Schubert* [Bug 2783] Quiet autoconf warnings about missing AC_LANG_SOURCE. 3221*f5f40dd6SCy Schubert* [Bug 2789] Quiet compiler warnings from libevent. 3222*f5f40dd6SCy Schubert* [Bug 2790] If ntpd sets the Windows MM timer highest resolution 3223*f5f40dd6SCy Schubert pause briefly before measuring system clock precision to yield 3224*f5f40dd6SCy Schubert correct results. 3225*f5f40dd6SCy Schubert* Comment from Juergen Perlinger in ntp_calendar.c to make the code clearer. 3226*f5f40dd6SCy Schubert* Use predefined function types for parse driver functions 3227*f5f40dd6SCy Schubert used to set up function pointers. 3228*f5f40dd6SCy Schubert Account for changed prototype of parse_inp_fnc_t functions. 3229*f5f40dd6SCy Schubert Cast parse conversion results to appropriate types to avoid 3230*f5f40dd6SCy Schubert compiler warnings. 3231*f5f40dd6SCy Schubert Let ioctl() for Windows accept a (void *) to avoid compiler warnings 3232*f5f40dd6SCy Schubert when called with pointers to different types. 3233*f5f40dd6SCy Schubert 3234*f5f40dd6SCy Schubert--- 3235*f5f40dd6SCy SchubertNTP 4.2.8p1 (Harlan Stenn <stenn@ntp.org>, 2015/02/04) 3236*f5f40dd6SCy Schubert 3237*f5f40dd6SCy SchubertFocus: Security and Bug fixes, enhancements. 3238*f5f40dd6SCy Schubert 3239*f5f40dd6SCy SchubertSeverity: HIGH 3240*f5f40dd6SCy Schubert 3241*f5f40dd6SCy SchubertIn addition to bug fixes and enhancements, this release fixes the 3242*f5f40dd6SCy Schubertfollowing high-severity vulnerabilities: 3243*f5f40dd6SCy Schubert 3244*f5f40dd6SCy Schubert* vallen is not validated in several places in ntp_crypto.c, leading 3245*f5f40dd6SCy Schubert to a potential information leak or possibly a crash 3246*f5f40dd6SCy Schubert 3247*f5f40dd6SCy Schubert References: Sec 2671 / CVE-2014-9297 / VU#852879 3248*f5f40dd6SCy Schubert Affects: All NTP4 releases before 4.2.8p1 that are running autokey. 3249*f5f40dd6SCy Schubert CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5 3250*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p1) 04 Feb 2015 3251*f5f40dd6SCy Schubert Summary: The vallen packet value is not validated in several code 3252*f5f40dd6SCy Schubert paths in ntp_crypto.c which can lead to information leakage 3253*f5f40dd6SCy Schubert or perhaps a crash of the ntpd process. 3254*f5f40dd6SCy Schubert Mitigation - any of: 3255*f5f40dd6SCy Schubert Upgrade to 4.2.8p1, or later, from the NTP Project Download Page 3256*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page. 3257*f5f40dd6SCy Schubert Disable Autokey Authentication by removing, or commenting out, 3258*f5f40dd6SCy Schubert all configuration directives beginning with the "crypto" 3259*f5f40dd6SCy Schubert keyword in your ntp.conf file. 3260*f5f40dd6SCy Schubert Credit: This vulnerability was discovered by Stephen Roettger of the 3261*f5f40dd6SCy Schubert Google Security Team, with additional cases found by Sebastian 3262*f5f40dd6SCy Schubert Krahmer of the SUSE Security Team and Harlan Stenn of Network 3263*f5f40dd6SCy Schubert Time Foundation. 3264*f5f40dd6SCy Schubert 3265*f5f40dd6SCy Schubert* ::1 can be spoofed on some OSes, so ACLs based on IPv6 ::1 addresses 3266*f5f40dd6SCy Schubert can be bypassed. 3267*f5f40dd6SCy Schubert 3268*f5f40dd6SCy Schubert References: Sec 2672 / CVE-2014-9298 / VU#852879 3269*f5f40dd6SCy Schubert Affects: All NTP4 releases before 4.2.8p1, under at least some 3270*f5f40dd6SCy Schubert versions of MacOS and Linux. *BSD has not been seen to be vulnerable. 3271*f5f40dd6SCy Schubert CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:C) Base Score: 9 3272*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8p1) 04 Feb 2014 3273*f5f40dd6SCy Schubert Summary: While available kernels will prevent 127.0.0.1 addresses 3274*f5f40dd6SCy Schubert from "appearing" on non-localhost IPv4 interfaces, some kernels 3275*f5f40dd6SCy Schubert do not offer the same protection for ::1 source addresses on 3276*f5f40dd6SCy Schubert IPv6 interfaces. Since NTP's access control is based on source 3277*f5f40dd6SCy Schubert address and localhost addresses generally have no restrictions, 3278*f5f40dd6SCy Schubert an attacker can send malicious control and configuration packets 3279*f5f40dd6SCy Schubert by spoofing ::1 addresses from the outside. Note Well: This is 3280*f5f40dd6SCy Schubert not really a bug in NTP, it's a problem with some OSes. If you 3281*f5f40dd6SCy Schubert have one of these OSes where ::1 can be spoofed, ALL ::1 -based 3282*f5f40dd6SCy Schubert ACL restrictions on any application can be bypassed! 3283*f5f40dd6SCy Schubert Mitigation: 3284*f5f40dd6SCy Schubert Upgrade to 4.2.8p1, or later, from the NTP Project Download Page 3285*f5f40dd6SCy Schubert or the NTP Public Services Project Download Page 3286*f5f40dd6SCy Schubert Install firewall rules to block packets claiming to come from 3287*f5f40dd6SCy Schubert ::1 from inappropriate network interfaces. 3288*f5f40dd6SCy Schubert Credit: This vulnerability was discovered by Stephen Roettger of 3289*f5f40dd6SCy Schubert the Google Security Team. 3290*f5f40dd6SCy Schubert 3291*f5f40dd6SCy SchubertAdditionally, over 30 bugfixes and improvements were made to the codebase. 3292*f5f40dd6SCy SchubertSee the ChangeLog for more information. 3293*f5f40dd6SCy Schubert 3294*f5f40dd6SCy Schubert--- 3295*f5f40dd6SCy SchubertNTP 4.2.8 (Harlan Stenn <stenn@ntp.org>, 2014/12/18) 3296*f5f40dd6SCy Schubert 3297*f5f40dd6SCy SchubertFocus: Security and Bug fixes, enhancements. 3298*f5f40dd6SCy Schubert 3299*f5f40dd6SCy SchubertSeverity: HIGH 3300*f5f40dd6SCy Schubert 3301*f5f40dd6SCy SchubertIn addition to bug fixes and enhancements, this release fixes the 3302*f5f40dd6SCy Schubertfollowing high-severity vulnerabilities: 3303*f5f40dd6SCy Schubert 3304*f5f40dd6SCy Schubert************************** vv NOTE WELL vv ***************************** 3305*f5f40dd6SCy Schubert 3306*f5f40dd6SCy SchubertThe vulnerabilities listed below can be significantly mitigated by 3307*f5f40dd6SCy Schubertfollowing the BCP of putting 3308*f5f40dd6SCy Schubert 3309*f5f40dd6SCy Schubert restrict default ... noquery 3310*f5f40dd6SCy Schubert 3311*f5f40dd6SCy Schubertin the ntp.conf file. With the exception of: 3312*f5f40dd6SCy Schubert 3313*f5f40dd6SCy Schubert receive(): missing return on error 3314*f5f40dd6SCy Schubert References: Sec 2670 / CVE-2014-9296 / VU#852879 3315*f5f40dd6SCy Schubert 3316*f5f40dd6SCy Schubertbelow (which is a limited-risk vulnerability), none of the recent 3317*f5f40dd6SCy Schubertvulnerabilities listed below can be exploited if the source IP is 3318*f5f40dd6SCy Schubertrestricted from sending a 'query'-class packet by your ntp.conf file. 3319*f5f40dd6SCy Schubert 3320*f5f40dd6SCy Schubert************************** ^^ NOTE WELL ^^ ***************************** 3321*f5f40dd6SCy Schubert 3322*f5f40dd6SCy Schubert* Weak default key in config_auth(). 3323*f5f40dd6SCy Schubert 3324*f5f40dd6SCy Schubert References: [Sec 2665] / CVE-2014-9293 / VU#852879 3325*f5f40dd6SCy Schubert CVSS: (AV:N/AC:L/Au:M/C:P/I:P/A:C) Base Score: 7.3 3326*f5f40dd6SCy Schubert Vulnerable Versions: all releases prior to 4.2.7p11 3327*f5f40dd6SCy Schubert Date Resolved: 28 Jan 2010 3328*f5f40dd6SCy Schubert 3329*f5f40dd6SCy Schubert Summary: If no 'auth' key is set in the configuration file, ntpd 3330*f5f40dd6SCy Schubert would generate a random key on the fly. There were two 3331*f5f40dd6SCy Schubert problems with this: 1) the generated key was 31 bits in size, 3332*f5f40dd6SCy Schubert and 2) it used the (now weak) ntp_random() function, which was 3333*f5f40dd6SCy Schubert seeded with a 32-bit value and could only provide 32 bits of 3334*f5f40dd6SCy Schubert entropy. This was sufficient back in the late 1990s when the 3335*f5f40dd6SCy Schubert code was written. Not today. 3336*f5f40dd6SCy Schubert 3337*f5f40dd6SCy Schubert Mitigation - any of: 3338*f5f40dd6SCy Schubert - Upgrade to 4.2.7p11 or later. 3339*f5f40dd6SCy Schubert - Follow BCP and put 'restrict ... noquery' in your ntp.conf file. 3340*f5f40dd6SCy Schubert 3341*f5f40dd6SCy Schubert Credit: This vulnerability was noticed in ntp-4.2.6 by Neel Mehta 3342*f5f40dd6SCy Schubert of the Google Security Team. 3343*f5f40dd6SCy Schubert 3344*f5f40dd6SCy Schubert* Non-cryptographic random number generator with weak seed used by 3345*f5f40dd6SCy Schubert ntp-keygen to generate symmetric keys. 3346*f5f40dd6SCy Schubert 3347*f5f40dd6SCy Schubert References: [Sec 2666] / CVE-2014-9294 / VU#852879 3348*f5f40dd6SCy Schubert CVSS: (AV:N/AC:L/Au:M/C:P/I:P/A:C) Base Score: 7.3 3349*f5f40dd6SCy Schubert Vulnerable Versions: All NTP4 releases before 4.2.7p230 3350*f5f40dd6SCy Schubert Date Resolved: Dev (4.2.7p230) 01 Nov 2011 3351*f5f40dd6SCy Schubert 3352*f5f40dd6SCy Schubert Summary: Prior to ntp-4.2.7p230 ntp-keygen used a weak seed to 3353*f5f40dd6SCy Schubert prepare a random number generator that was of good quality back 3354*f5f40dd6SCy Schubert in the late 1990s. The random numbers produced was then used to 3355*f5f40dd6SCy Schubert generate symmetric keys. In ntp-4.2.8 we use a current-technology 3356*f5f40dd6SCy Schubert cryptographic random number generator, either RAND_bytes from 3357*f5f40dd6SCy Schubert OpenSSL, or arc4random(). 3358*f5f40dd6SCy Schubert 3359*f5f40dd6SCy Schubert Mitigation - any of: 3360*f5f40dd6SCy Schubert - Upgrade to 4.2.7p230 or later. 3361*f5f40dd6SCy Schubert - Follow BCP and put 'restrict ... noquery' in your ntp.conf file. 3362*f5f40dd6SCy Schubert 3363*f5f40dd6SCy Schubert Credit: This vulnerability was discovered in ntp-4.2.6 by 3364*f5f40dd6SCy Schubert Stephen Roettger of the Google Security Team. 3365*f5f40dd6SCy Schubert 3366*f5f40dd6SCy Schubert* Buffer overflow in crypto_recv() 3367*f5f40dd6SCy Schubert 3368*f5f40dd6SCy Schubert References: Sec 2667 / CVE-2014-9295 / VU#852879 3369*f5f40dd6SCy Schubert CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5 3370*f5f40dd6SCy Schubert Versions: All releases before 4.2.8 3371*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8) 18 Dec 2014 3372*f5f40dd6SCy Schubert 3373*f5f40dd6SCy Schubert Summary: When Autokey Authentication is enabled (i.e. the ntp.conf 3374*f5f40dd6SCy Schubert file contains a 'crypto pw ...' directive) a remote attacker 3375*f5f40dd6SCy Schubert can send a carefully crafted packet that can overflow a stack 3376*f5f40dd6SCy Schubert buffer and potentially allow malicious code to be executed 3377*f5f40dd6SCy Schubert with the privilege level of the ntpd process. 3378*f5f40dd6SCy Schubert 3379*f5f40dd6SCy Schubert Mitigation - any of: 3380*f5f40dd6SCy Schubert - Upgrade to 4.2.8, or later, or 3381*f5f40dd6SCy Schubert - Disable Autokey Authentication by removing, or commenting out, 3382*f5f40dd6SCy Schubert all configuration directives beginning with the crypto keyword 3383*f5f40dd6SCy Schubert in your ntp.conf file. 3384*f5f40dd6SCy Schubert 3385*f5f40dd6SCy Schubert Credit: This vulnerability was discovered by Stephen Roettger of the 3386*f5f40dd6SCy Schubert Google Security Team. 3387*f5f40dd6SCy Schubert 3388*f5f40dd6SCy Schubert* Buffer overflow in ctl_putdata() 3389*f5f40dd6SCy Schubert 3390*f5f40dd6SCy Schubert References: Sec 2668 / CVE-2014-9295 / VU#852879 3391*f5f40dd6SCy Schubert CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5 3392*f5f40dd6SCy Schubert Versions: All NTP4 releases before 4.2.8 3393*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8) 18 Dec 2014 3394*f5f40dd6SCy Schubert 3395*f5f40dd6SCy Schubert Summary: A remote attacker can send a carefully crafted packet that 3396*f5f40dd6SCy Schubert can overflow a stack buffer and potentially allow malicious 3397*f5f40dd6SCy Schubert code to be executed with the privilege level of the ntpd process. 3398*f5f40dd6SCy Schubert 3399*f5f40dd6SCy Schubert Mitigation - any of: 3400*f5f40dd6SCy Schubert - Upgrade to 4.2.8, or later. 3401*f5f40dd6SCy Schubert - Follow BCP and put 'restrict ... noquery' in your ntp.conf file. 3402*f5f40dd6SCy Schubert 3403*f5f40dd6SCy Schubert Credit: This vulnerability was discovered by Stephen Roettger of the 3404*f5f40dd6SCy Schubert Google Security Team. 3405*f5f40dd6SCy Schubert 3406*f5f40dd6SCy Schubert* Buffer overflow in configure() 3407*f5f40dd6SCy Schubert 3408*f5f40dd6SCy Schubert References: Sec 2669 / CVE-2014-9295 / VU#852879 3409*f5f40dd6SCy Schubert CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5 3410*f5f40dd6SCy Schubert Versions: All NTP4 releases before 4.2.8 3411*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8) 18 Dec 2014 3412*f5f40dd6SCy Schubert 3413*f5f40dd6SCy Schubert Summary: A remote attacker can send a carefully crafted packet that 3414*f5f40dd6SCy Schubert can overflow a stack buffer and potentially allow malicious 3415*f5f40dd6SCy Schubert code to be executed with the privilege level of the ntpd process. 3416*f5f40dd6SCy Schubert 3417*f5f40dd6SCy Schubert Mitigation - any of: 3418*f5f40dd6SCy Schubert - Upgrade to 4.2.8, or later. 3419*f5f40dd6SCy Schubert - Follow BCP and put 'restrict ... noquery' in your ntp.conf file. 3420*f5f40dd6SCy Schubert 3421*f5f40dd6SCy Schubert Credit: This vulnerability was discovered by Stephen Roettger of the 3422*f5f40dd6SCy Schubert Google Security Team. 3423*f5f40dd6SCy Schubert 3424*f5f40dd6SCy Schubert* receive(): missing return on error 3425*f5f40dd6SCy Schubert 3426*f5f40dd6SCy Schubert References: Sec 2670 / CVE-2014-9296 / VU#852879 3427*f5f40dd6SCy Schubert CVSS: (AV:N/AC:L/Au:N/C:N/I:N/A:P) Base Score: 5.0 3428*f5f40dd6SCy Schubert Versions: All NTP4 releases before 4.2.8 3429*f5f40dd6SCy Schubert Date Resolved: Stable (4.2.8) 18 Dec 2014 3430*f5f40dd6SCy Schubert 3431*f5f40dd6SCy Schubert Summary: Code in ntp_proto.c:receive() was missing a 'return;' in 3432*f5f40dd6SCy Schubert the code path where an error was detected, which meant 3433*f5f40dd6SCy Schubert processing did not stop when a specific rare error occurred. 3434*f5f40dd6SCy Schubert We haven't found a way for this bug to affect system integrity. 3435*f5f40dd6SCy Schubert If there is no way to affect system integrity the base CVSS 3436*f5f40dd6SCy Schubert score for this bug is 0. If there is one avenue through which 3437*f5f40dd6SCy Schubert system integrity can be partially affected, the base score 3438*f5f40dd6SCy Schubert becomes a 5. If system integrity can be partially affected 3439*f5f40dd6SCy Schubert via all three integrity metrics, the CVSS base score become 7.5. 3440*f5f40dd6SCy Schubert 3441*f5f40dd6SCy Schubert Mitigation - any of: 3442*f5f40dd6SCy Schubert - Upgrade to 4.2.8, or later, 3443*f5f40dd6SCy Schubert - Remove or comment out all configuration directives 3444*f5f40dd6SCy Schubert beginning with the crypto keyword in your ntp.conf file. 3445*f5f40dd6SCy Schubert 3446*f5f40dd6SCy Schubert Credit: This vulnerability was discovered by Stephen Roettger of the 3447*f5f40dd6SCy Schubert Google Security Team. 3448*f5f40dd6SCy Schubert 3449*f5f40dd6SCy SchubertSee http://support.ntp.org/security for more information. 3450*f5f40dd6SCy Schubert 3451*f5f40dd6SCy SchubertNew features / changes in this release: 3452*f5f40dd6SCy Schubert 3453*f5f40dd6SCy SchubertImportant Changes 3454*f5f40dd6SCy Schubert 3455*f5f40dd6SCy Schubert* Internal NTP Era counters 3456*f5f40dd6SCy Schubert 3457*f5f40dd6SCy SchubertThe internal counters that track the "era" (range of years) we are in 3458*f5f40dd6SCy Schubertrolls over every 136 years'. The current "era" started at the stroke of 3459*f5f40dd6SCy Schubertmidnight on 1 Jan 1900, and ends just before the stroke of midnight on 3460*f5f40dd6SCy Schubert1 Jan 2036. 3461*f5f40dd6SCy SchubertIn the past, we have used the "midpoint" of the range to decide which 3462*f5f40dd6SCy Schubertera we were in. Given the longevity of some products, it became clear 3463*f5f40dd6SCy Schubertthat it would be more functional to "look back" less, and "look forward" 3464*f5f40dd6SCy Schubertmore. We now compile a timestamp into the ntpd executable and when we 3465*f5f40dd6SCy Schubertget a timestamp we us the "built-on" to tell us what era we are in. 3466*f5f40dd6SCy SchubertThis check "looks back" 10 years, and "looks forward" 126 years. 3467*f5f40dd6SCy Schubert 3468*f5f40dd6SCy Schubert* ntpdc responses disabled by default 3469*f5f40dd6SCy Schubert 3470*f5f40dd6SCy SchubertDave Hart writes: 3471*f5f40dd6SCy Schubert 3472*f5f40dd6SCy SchubertFor a long time, ntpq and its mostly text-based mode 6 (control) 3473*f5f40dd6SCy Schubertprotocol have been preferred over ntpdc and its mode 7 (private 3474*f5f40dd6SCy Schubertrequest) protocol for runtime queries and configuration. There has 3475*f5f40dd6SCy Schubertbeen a goal of deprecating ntpdc, previously held back by numerous 3476*f5f40dd6SCy Schubertcapabilities exposed by ntpdc with no ntpq equivalent. I have been 3477*f5f40dd6SCy Schubertadding commands to ntpq to cover these cases, and I believe I've 3478*f5f40dd6SCy Schubertcovered them all, though I've not compared command-by-command 3479*f5f40dd6SCy Schubertrecently. 3480*f5f40dd6SCy Schubert 3481*f5f40dd6SCy SchubertAs I've said previously, the binary mode 7 protocol involves a lot of 3482*f5f40dd6SCy Schuberthand-rolled structure layout and byte-swapping code in both ntpd and 3483*f5f40dd6SCy Schubertntpdc which is hard to get right. As ntpd grows and changes, the 3484*f5f40dd6SCy Schubertchanges are difficult to expose via ntpdc while maintaining forward 3485*f5f40dd6SCy Schubertand backward compatibility between ntpdc and ntpd. In contrast, 3486*f5f40dd6SCy Schubertntpq's text-based, label=value approach involves more code reuse and 3487*f5f40dd6SCy Schubertallows compatible changes without extra work in most cases. 3488*f5f40dd6SCy Schubert 3489*f5f40dd6SCy SchubertMode 7 has always been defined as vendor/implementation-specific while 3490*f5f40dd6SCy Schubertmode 6 is described in RFC 1305 and intended to be open to interoperate 3491*f5f40dd6SCy Schubertwith other implementations. There is an early draft of an updated 3492*f5f40dd6SCy Schubertmode 6 description that likely will join the other NTPv4 RFCs 3493*f5f40dd6SCy Schuberteventually. (http://tools.ietf.org/html/draft-odonoghue-ntpv4-control-01) 3494*f5f40dd6SCy Schubert 3495*f5f40dd6SCy SchubertFor these reasons, ntpd 4.2.7p230 by default disables processing of 3496*f5f40dd6SCy Schubertntpdc queries, reducing ntpd's attack surface and functionally 3497*f5f40dd6SCy Schubertdeprecating ntpdc. If you are in the habit of using ntpdc for certain 3498*f5f40dd6SCy Schubertoperations, please try the ntpq equivalent. If there's no equivalent, 3499*f5f40dd6SCy Schubertplease open a bug report at http://bugs.ntp.org./ 3500*f5f40dd6SCy Schubert 3501*f5f40dd6SCy SchubertIn addition to the above, over 1100 issues have been resolved between 3502*f5f40dd6SCy Schubertthe 4.2.6 branch and 4.2.8. The ChangeLog file in the distribution 3503*f5f40dd6SCy Schubertlists these. 3504*f5f40dd6SCy Schubert 3505*f5f40dd6SCy Schubert--- 3506*f5f40dd6SCy SchubertNTP 4.2.6p5 (Harlan Stenn <stenn@ntp.org>, 2011/12/24) 3507*f5f40dd6SCy Schubert 3508*f5f40dd6SCy SchubertFocus: Bug fixes 3509*f5f40dd6SCy Schubert 3510*f5f40dd6SCy SchubertSeverity: Medium 3511*f5f40dd6SCy Schubert 3512*f5f40dd6SCy SchubertThis is a recommended upgrade. 3513*f5f40dd6SCy Schubert 3514*f5f40dd6SCy SchubertThis release updates sys_rootdisp and sys_jitter calculations to match the 3515*f5f40dd6SCy SchubertRFC specification, fixes a potential IPv6 address matching error for the 3516*f5f40dd6SCy Schubert"nic" and "interface" configuration directives, suppresses the creation of 3517*f5f40dd6SCy Schubertextraneous ephemeral associations for certain broadcastclient and 3518*f5f40dd6SCy Schubertmulticastclient configurations, cleans up some ntpq display issues, and 3519*f5f40dd6SCy Schubertincludes improvements to orphan mode, minor bugs fixes and code clean-ups. 3520*f5f40dd6SCy Schubert 3521*f5f40dd6SCy SchubertNew features / changes in this release: 3522*f5f40dd6SCy Schubert 3523*f5f40dd6SCy Schubertntpd 3524*f5f40dd6SCy Schubert 3525*f5f40dd6SCy Schubert * Updated "nic" and "interface" IPv6 address handling to prevent 3526*f5f40dd6SCy Schubert mismatches with localhost [::1] and wildcard [::] which resulted from 3527*f5f40dd6SCy Schubert using the address/prefix format (e.g. fe80::/64) 3528*f5f40dd6SCy Schubert * Fix orphan mode stratum incorrectly counting to infinity 3529*f5f40dd6SCy Schubert * Orphan parent selection metric updated to includes missing ntohl() 3530*f5f40dd6SCy Schubert * Non-printable stratum 16 refid no longer sent to ntp 3531*f5f40dd6SCy Schubert * Duplicate ephemeral associations suppressed for broadcastclient and 3532*f5f40dd6SCy Schubert multicastclient without broadcastdelay 3533*f5f40dd6SCy Schubert * Exclude undetermined sys_refid from use in loopback TEST12 3534*f5f40dd6SCy Schubert * Exclude MODE_SERVER responses from KoD rate limiting 3535*f5f40dd6SCy Schubert * Include root delay in clock_update() sys_rootdisp calculations 3536*f5f40dd6SCy Schubert * get_systime() updated to exclude sys_residual offset (which only 3537*f5f40dd6SCy Schubert affected bits "below" sys_tick, the precision threshold) 3538*f5f40dd6SCy Schubert * sys.peer jitter weighting corrected in sys_jitter calculation 3539*f5f40dd6SCy Schubert 3540*f5f40dd6SCy Schubertntpq 3541*f5f40dd6SCy Schubert 3542*f5f40dd6SCy Schubert * -n option extended to include the billboard "server" column 3543*f5f40dd6SCy Schubert * IPv6 addresses in the local column truncated to prevent overruns 3544*f5f40dd6SCy Schubert 3545*f5f40dd6SCy Schubert--- 3546*f5f40dd6SCy SchubertNTP 4.2.6p4 (Harlan Stenn <stenn@ntp.org>, 2011/09/22) 3547*f5f40dd6SCy Schubert 3548*f5f40dd6SCy SchubertFocus: Bug fixes and portability improvements 3549*f5f40dd6SCy Schubert 3550*f5f40dd6SCy SchubertSeverity: Medium 3551*f5f40dd6SCy Schubert 3552*f5f40dd6SCy SchubertThis is a recommended upgrade. 3553*f5f40dd6SCy Schubert 3554*f5f40dd6SCy SchubertThis release includes build infrastructure updates, code 3555*f5f40dd6SCy Schubertclean-ups, minor bug fixes, fixes for a number of minor 3556*f5f40dd6SCy Schubertref-clock issues, and documentation revisions. 3557*f5f40dd6SCy Schubert 3558*f5f40dd6SCy SchubertPortability improvements affect AIX, HP-UX, Linux, OS X and 64-bit time_t. 3559*f5f40dd6SCy Schubert 3560*f5f40dd6SCy SchubertNew features / changes in this release: 3561*f5f40dd6SCy Schubert 3562*f5f40dd6SCy SchubertBuild system 3563*f5f40dd6SCy Schubert 3564*f5f40dd6SCy Schubert* Fix checking for struct rtattr 3565*f5f40dd6SCy Schubert* Update config.guess and config.sub for AIX 3566*f5f40dd6SCy Schubert* Upgrade required version of autogen and libopts for building 3567*f5f40dd6SCy Schubert from our source code repository 3568*f5f40dd6SCy Schubert 3569*f5f40dd6SCy Schubertntpd 3570*f5f40dd6SCy Schubert 3571*f5f40dd6SCy Schubert* Back-ported several fixes for Coverity warnings from ntp-dev 3572*f5f40dd6SCy Schubert* Fix a rare boundary condition in UNLINK_EXPR_SLIST() 3573*f5f40dd6SCy Schubert* Allow "logconfig =allall" configuration directive 3574*f5f40dd6SCy Schubert* Bind tentative IPv6 addresses on Linux 3575*f5f40dd6SCy Schubert* Correct WWVB/Spectracom driver to timestamp CR instead of LF 3576*f5f40dd6SCy Schubert* Improved tally bit handling to prevent incorrect ntpq peer status reports 3577*f5f40dd6SCy Schubert* Exclude the Undisciplined Local Clock and ACTS drivers from the initial 3578*f5f40dd6SCy Schubert candidate list unless they are designated a "prefer peer" 3579*f5f40dd6SCy Schubert* Prevent the consideration of Undisciplined Local Clock or ACTS drivers for 3580*f5f40dd6SCy Schubert selection during the 'tos orphanwait' period 3581*f5f40dd6SCy Schubert* Prefer an Orphan Mode Parent over the Undisciplined Local Clock or ACTS 3582*f5f40dd6SCy Schubert drivers 3583*f5f40dd6SCy Schubert* Improved support of the Parse Refclock trusttime flag in Meinberg mode 3584*f5f40dd6SCy Schubert* Back-port utility routines from ntp-dev: mprintf(), emalloc_zero() 3585*f5f40dd6SCy Schubert* Added the NTPD_TICKADJ_PPM environment variable for specifying baseline 3586*f5f40dd6SCy Schubert clock slew on Microsoft Windows 3587*f5f40dd6SCy Schubert* Code cleanup in libntpq 3588*f5f40dd6SCy Schubert 3589*f5f40dd6SCy Schubertntpdc 3590*f5f40dd6SCy Schubert 3591*f5f40dd6SCy Schubert* Fix timerstats reporting 3592*f5f40dd6SCy Schubert 3593*f5f40dd6SCy Schubertntpdate 3594*f5f40dd6SCy Schubert 3595*f5f40dd6SCy Schubert* Reduce time required to set clock 3596*f5f40dd6SCy Schubert* Allow a timeout greater than 2 seconds 3597*f5f40dd6SCy Schubert 3598*f5f40dd6SCy Schubertsntp 3599*f5f40dd6SCy Schubert 3600*f5f40dd6SCy Schubert* Backward incompatible command-line option change: 3601*f5f40dd6SCy Schubert -l/--filelog changed -l/--logfile (to be consistent with ntpd) 3602*f5f40dd6SCy Schubert 3603*f5f40dd6SCy SchubertDocumentation 3604*f5f40dd6SCy Schubert 3605*f5f40dd6SCy Schubert* Update html2man. Fix some tags in the .html files 3606*f5f40dd6SCy Schubert* Distribute ntp-wait.html 3607*f5f40dd6SCy Schubert 3608*f5f40dd6SCy Schubert--- 3609*f5f40dd6SCy SchubertNTP 4.2.6p3 (Harlan Stenn <stenn@ntp.org>, 2011/01/03) 3610*f5f40dd6SCy Schubert 3611*f5f40dd6SCy SchubertFocus: Bug fixes and portability improvements 3612*f5f40dd6SCy Schubert 3613*f5f40dd6SCy SchubertSeverity: Medium 3614*f5f40dd6SCy Schubert 3615*f5f40dd6SCy SchubertThis is a recommended upgrade. 3616*f5f40dd6SCy Schubert 3617*f5f40dd6SCy SchubertThis release includes build infrastructure updates, code 3618*f5f40dd6SCy Schubertclean-ups, minor bug fixes, fixes for a number of minor 3619*f5f40dd6SCy Schubertref-clock issues, and documentation revisions. 3620*f5f40dd6SCy Schubert 3621*f5f40dd6SCy SchubertPortability improvements in this release affect AIX, Atari FreeMiNT, 3622*f5f40dd6SCy SchubertFreeBSD4, Linux and Microsoft Windows. 3623*f5f40dd6SCy Schubert 3624*f5f40dd6SCy SchubertNew features / changes in this release: 3625*f5f40dd6SCy Schubert 3626*f5f40dd6SCy SchubertBuild system 3627*f5f40dd6SCy Schubert* Use lsb_release to get information about Linux distributions. 3628*f5f40dd6SCy Schubert* 'test' is in /usr/bin (instead of /bin) on some systems. 3629*f5f40dd6SCy Schubert* Basic sanity checks for the ChangeLog file. 3630*f5f40dd6SCy Schubert* Source certain build files with ./filename for systems without . in PATH. 3631*f5f40dd6SCy Schubert* IRIX portability fix. 3632*f5f40dd6SCy Schubert* Use a single copy of the "libopts" code. 3633*f5f40dd6SCy Schubert* autogen/libopts upgrade. 3634*f5f40dd6SCy Schubert* configure.ac m4 quoting cleanup. 3635*f5f40dd6SCy Schubert 3636*f5f40dd6SCy Schubertntpd 3637*f5f40dd6SCy Schubert* Do not bind to IN6_IFF_ANYCAST addresses. 3638*f5f40dd6SCy Schubert* Log the reason for exiting under Windows. 3639*f5f40dd6SCy Schubert* Multicast fixes for Windows. 3640*f5f40dd6SCy Schubert* Interpolation fixes for Windows. 3641*f5f40dd6SCy Schubert* IPv4 and IPv6 Multicast fixes. 3642*f5f40dd6SCy Schubert* Manycast solicitation fixes and general repairs. 3643*f5f40dd6SCy Schubert* JJY refclock cleanup. 3644*f5f40dd6SCy Schubert* NMEA refclock improvements. 3645*f5f40dd6SCy Schubert* Oncore debug message cleanup. 3646*f5f40dd6SCy Schubert* Palisade refclock now builds under Linux. 3647*f5f40dd6SCy Schubert* Give RAWDCF more baud rates. 3648*f5f40dd6SCy Schubert* Support Truetime Satellite clocks under Windows. 3649*f5f40dd6SCy Schubert* Support Arbiter 1093C Satellite clocks under Windows. 3650*f5f40dd6SCy Schubert* Make sure that the "filegen" configuration command defaults to "enable". 3651*f5f40dd6SCy Schubert* Range-check the status codes (plus other cleanup) in the RIPE-NCC driver. 3652*f5f40dd6SCy Schubert* Prohibit 'includefile' directive in remote configuration command. 3653*f5f40dd6SCy Schubert* Fix 'nic' interface bindings. 3654*f5f40dd6SCy Schubert* Fix the way we link with openssl if openssl is installed in the base 3655*f5f40dd6SCy Schubert system. 3656*f5f40dd6SCy Schubert 3657*f5f40dd6SCy Schubertntp-keygen 3658*f5f40dd6SCy Schubert* Fix -V coredump. 3659*f5f40dd6SCy Schubert* OpenSSL version display cleanup. 3660*f5f40dd6SCy Schubert 3661*f5f40dd6SCy Schubertntpdc 3662*f5f40dd6SCy Schubert* Many counters should be treated as unsigned. 3663*f5f40dd6SCy Schubert 3664*f5f40dd6SCy Schubertntpdate 3665*f5f40dd6SCy Schubert* Do not ignore replies with equal receive and transmit timestamps. 3666*f5f40dd6SCy Schubert 3667*f5f40dd6SCy Schubertntpq 3668*f5f40dd6SCy Schubert* libntpq warning cleanup. 3669*f5f40dd6SCy Schubert 3670*f5f40dd6SCy Schubertntpsnmpd 3671*f5f40dd6SCy Schubert* Correct SNMP type for "precision" and "resolution". 3672*f5f40dd6SCy Schubert* Update the MIB from the draft version to RFC-5907. 3673*f5f40dd6SCy Schubert 3674*f5f40dd6SCy Schubertsntp 3675*f5f40dd6SCy Schubert* Display timezone offset when showing time for sntp in the local 3676*f5f40dd6SCy Schubert timezone. 3677*f5f40dd6SCy Schubert* Pay proper attention to RATE KoD packets. 3678*f5f40dd6SCy Schubert* Fix a miscalculation of the offset. 3679*f5f40dd6SCy Schubert* Properly parse empty lines in the key file. 3680*f5f40dd6SCy Schubert* Logging cleanup. 3681*f5f40dd6SCy Schubert* Use tv_usec correctly in set_time(). 3682*f5f40dd6SCy Schubert* Documentation cleanup. 3683*f5f40dd6SCy Schubert 3684*f5f40dd6SCy Schubert--- 3685*f5f40dd6SCy SchubertNTP 4.2.6p2 (Harlan Stenn <stenn@ntp.org>, 2010/07/08) 3686*f5f40dd6SCy Schubert 3687*f5f40dd6SCy SchubertFocus: Bug fixes and portability improvements 3688*f5f40dd6SCy Schubert 3689*f5f40dd6SCy SchubertSeverity: Medium 3690*f5f40dd6SCy Schubert 3691*f5f40dd6SCy SchubertThis is a recommended upgrade. 3692*f5f40dd6SCy Schubert 3693*f5f40dd6SCy SchubertThis release includes build infrastructure updates, code 3694*f5f40dd6SCy Schubertclean-ups, minor bug fixes, fixes for a number of minor 3695*f5f40dd6SCy Schubertref-clock issues, improved KOD handling, OpenSSL related 3696*f5f40dd6SCy Schubertupdates and documentation revisions. 3697*f5f40dd6SCy Schubert 3698*f5f40dd6SCy SchubertPortability improvements in this release affect Irix, Linux, 3699*f5f40dd6SCy SchubertMac OS, Microsoft Windows, OpenBSD and QNX6 3700*f5f40dd6SCy Schubert 3701*f5f40dd6SCy SchubertNew features / changes in this release: 3702*f5f40dd6SCy Schubert 3703*f5f40dd6SCy Schubertntpd 3704*f5f40dd6SCy Schubert* Range syntax for the trustedkey configuration directive 3705*f5f40dd6SCy Schubert* Unified IPv4 and IPv6 restrict lists 3706*f5f40dd6SCy Schubert 3707*f5f40dd6SCy Schubertntpdate 3708*f5f40dd6SCy Schubert* Rate limiting and KOD handling 3709*f5f40dd6SCy Schubert 3710*f5f40dd6SCy Schubertntpsnmpd 3711*f5f40dd6SCy Schubert* default connection to net-snmpd via a unix-domain socket 3712*f5f40dd6SCy Schubert* command-line 'socket name' option 3713*f5f40dd6SCy Schubert 3714*f5f40dd6SCy Schubertntpq / ntpdc 3715*f5f40dd6SCy Schubert* support for the "passwd ..." syntax 3716*f5f40dd6SCy Schubert* key-type specific password prompts 3717*f5f40dd6SCy Schubert 3718*f5f40dd6SCy Schubertsntp 3719*f5f40dd6SCy Schubert* MD5 authentication of an ntpd 3720*f5f40dd6SCy Schubert* Broadcast and crypto 3721*f5f40dd6SCy Schubert* OpenSSL support 3722*f5f40dd6SCy Schubert 3723*f5f40dd6SCy Schubert--- 3724*f5f40dd6SCy SchubertNTP 4.2.6p1 (Harlan Stenn <stenn@ntp.org>, 2010/04/09) 3725*f5f40dd6SCy Schubert 3726*f5f40dd6SCy SchubertFocus: Bug fixes, portability fixes, and documentation improvements 3727*f5f40dd6SCy Schubert 3728*f5f40dd6SCy SchubertSeverity: Medium 3729*f5f40dd6SCy Schubert 3730*f5f40dd6SCy SchubertThis is a recommended upgrade. 3731*f5f40dd6SCy Schubert 3732*f5f40dd6SCy Schubert--- 3733*f5f40dd6SCy SchubertNTP 4.2.6 (Harlan Stenn <stenn@ntp.org>, 2009/12/08) 3734*f5f40dd6SCy Schubert 3735*f5f40dd6SCy SchubertFocus: enhancements and bug fixes. 3736*f5f40dd6SCy Schubert 3737*f5f40dd6SCy Schubert--- 3738*f5f40dd6SCy SchubertNTP 4.2.4p8 (Harlan Stenn <stenn@ntp.org>, 2009/12/08) 3739*f5f40dd6SCy Schubert 3740*f5f40dd6SCy SchubertFocus: Security Fixes 3741*f5f40dd6SCy Schubert 3742*f5f40dd6SCy SchubertSeverity: HIGH 3743*f5f40dd6SCy Schubert 3744*f5f40dd6SCy SchubertThis release fixes the following high-severity vulnerability: 3745*f5f40dd6SCy Schubert 3746*f5f40dd6SCy Schubert* [Sec 1331] DoS with mode 7 packets - CVE-2009-3563. 3747*f5f40dd6SCy Schubert 3748*f5f40dd6SCy Schubert See http://support.ntp.org/security for more information. 3749*f5f40dd6SCy Schubert 3750*f5f40dd6SCy Schubert NTP mode 7 (MODE_PRIVATE) is used by the ntpdc query and control utility. 3751*f5f40dd6SCy Schubert In contrast, ntpq uses NTP mode 6 (MODE_CONTROL), while routine NTP time 3752*f5f40dd6SCy Schubert transfers use modes 1 through 5. Upon receipt of an incorrect mode 7 3753*f5f40dd6SCy Schubert request or a mode 7 error response from an address which is not listed 3754*f5f40dd6SCy Schubert in a "restrict ... noquery" or "restrict ... ignore" statement, ntpd will 3755*f5f40dd6SCy Schubert reply with a mode 7 error response (and log a message). In this case: 3756*f5f40dd6SCy Schubert 3757*f5f40dd6SCy Schubert * If an attacker spoofs the source address of ntpd host A in a 3758*f5f40dd6SCy Schubert mode 7 response packet sent to ntpd host B, both A and B will 3759*f5f40dd6SCy Schubert continuously send each other error responses, for as long as 3760*f5f40dd6SCy Schubert those packets get through. 3761*f5f40dd6SCy Schubert 3762*f5f40dd6SCy Schubert * If an attacker spoofs an address of ntpd host A in a mode 7 3763*f5f40dd6SCy Schubert response packet sent to ntpd host A, A will respond to itself 3764*f5f40dd6SCy Schubert endlessly, consuming CPU and logging excessively. 3765*f5f40dd6SCy Schubert 3766*f5f40dd6SCy Schubert Credit for finding this vulnerability goes to Robin Park and Dmitri 3767*f5f40dd6SCy Schubert Vinokurov of Alcatel-Lucent. 3768*f5f40dd6SCy Schubert 3769*f5f40dd6SCy SchubertTHIS IS A STRONGLY RECOMMENDED UPGRADE. 3770*f5f40dd6SCy Schubert 3771*f5f40dd6SCy Schubert--- 3772*f5f40dd6SCy Schubertntpd now syncs to refclocks right away. 3773*f5f40dd6SCy Schubert 3774*f5f40dd6SCy SchubertBackward-Incompatible changes: 3775*f5f40dd6SCy Schubert 3776*f5f40dd6SCy Schubertntpd no longer accepts '-v name' or '-V name' to define internal variables. 3777*f5f40dd6SCy SchubertUse '--var name' or '--dvar name' instead. (Bug 817) 3778*f5f40dd6SCy Schubert 3779*f5f40dd6SCy Schubert--- 3780*f5f40dd6SCy SchubertNTP 4.2.4p7 (Harlan Stenn <stenn@ntp.org>, 2009/05/04) 3781*f5f40dd6SCy Schubert 3782*f5f40dd6SCy SchubertFocus: Security and Bug Fixes 3783*f5f40dd6SCy Schubert 3784*f5f40dd6SCy SchubertSeverity: HIGH 3785*f5f40dd6SCy Schubert 3786*f5f40dd6SCy SchubertThis release fixes the following high-severity vulnerability: 3787*f5f40dd6SCy Schubert 3788*f5f40dd6SCy Schubert* [Sec 1151] Remote exploit if autokey is enabled. CVE-2009-1252 3789*f5f40dd6SCy Schubert 3790*f5f40dd6SCy Schubert See http://support.ntp.org/security for more information. 3791*f5f40dd6SCy Schubert 3792*f5f40dd6SCy Schubert If autokey is enabled (if ntp.conf contains a "crypto pw whatever" 3793*f5f40dd6SCy Schubert line) then a carefully crafted packet sent to the machine will cause 3794*f5f40dd6SCy Schubert a buffer overflow and possible execution of injected code, running 3795*f5f40dd6SCy Schubert with the privileges of the ntpd process (often root). 3796*f5f40dd6SCy Schubert 3797*f5f40dd6SCy Schubert Credit for finding this vulnerability goes to Chris Ries of CMU. 3798*f5f40dd6SCy Schubert 3799*f5f40dd6SCy SchubertThis release fixes the following low-severity vulnerabilities: 3800*f5f40dd6SCy Schubert 3801*f5f40dd6SCy Schubert* [Sec 1144] limited (two byte) buffer overflow in ntpq. CVE-2009-0159 3802*f5f40dd6SCy Schubert Credit for finding this vulnerability goes to Geoff Keating of Apple. 3803*f5f40dd6SCy Schubert 3804*f5f40dd6SCy Schubert* [Sec 1149] use SO_EXCLUSIVEADDRUSE on Windows 3805*f5f40dd6SCy Schubert Credit for finding this issue goes to Dave Hart. 3806*f5f40dd6SCy Schubert 3807*f5f40dd6SCy SchubertThis release fixes a number of bugs and adds some improvements: 3808*f5f40dd6SCy Schubert 3809*f5f40dd6SCy Schubert* Improved logging 3810*f5f40dd6SCy Schubert* Fix many compiler warnings 3811*f5f40dd6SCy Schubert* Many fixes and improvements for Windows 3812*f5f40dd6SCy Schubert* Adds support for AIX 6.1 3813*f5f40dd6SCy Schubert* Resolves some issues under MacOS X and Solaris 3814*f5f40dd6SCy Schubert 3815*f5f40dd6SCy SchubertTHIS IS A STRONGLY RECOMMENDED UPGRADE. 3816*f5f40dd6SCy Schubert 3817*f5f40dd6SCy Schubert--- 3818*f5f40dd6SCy SchubertNTP 4.2.4p6 (Harlan Stenn <stenn@ntp.org>, 2009/01/07) 3819*f5f40dd6SCy Schubert 3820*f5f40dd6SCy SchubertFocus: Security Fix 3821*f5f40dd6SCy Schubert 3822*f5f40dd6SCy SchubertSeverity: Low 3823*f5f40dd6SCy Schubert 3824*f5f40dd6SCy SchubertThis release fixes oCERT.org's CVE-2009-0021, a vulnerability affecting 3825*f5f40dd6SCy Schubertthe OpenSSL library relating to the incorrect checking of the return 3826*f5f40dd6SCy Schubertvalue of EVP_VerifyFinal function. 3827*f5f40dd6SCy Schubert 3828*f5f40dd6SCy SchubertCredit for finding this issue goes to the Google Security Team for 3829*f5f40dd6SCy Schubertfinding the original issue with OpenSSL, and to ocert.org for finding 3830*f5f40dd6SCy Schubertthe problem in NTP and telling us about it. 3831*f5f40dd6SCy Schubert 3832*f5f40dd6SCy SchubertThis is a recommended upgrade. 3833*f5f40dd6SCy Schubert--- 3834*f5f40dd6SCy SchubertNTP 4.2.4p5 (Harlan Stenn <stenn@ntp.org>, 2008/08/17) 3835*f5f40dd6SCy Schubert 3836*f5f40dd6SCy SchubertFocus: Minor Bugfixes 3837*f5f40dd6SCy Schubert 3838*f5f40dd6SCy SchubertThis release fixes a number of Windows-specific ntpd bugs and 3839*f5f40dd6SCy Schubertplatform-independent ntpdate bugs. A logging bugfix has been applied 3840*f5f40dd6SCy Schubertto the ONCORE driver. 3841*f5f40dd6SCy Schubert 3842*f5f40dd6SCy SchubertThe "dynamic" keyword and is now obsolete and deferred binding to local 3843*f5f40dd6SCy Schubertinterfaces is the new default. The minimum time restriction for the 3844*f5f40dd6SCy Schubertinterface update interval has been dropped. 3845*f5f40dd6SCy Schubert 3846*f5f40dd6SCy SchubertA number of minor build system and documentation fixes are included. 3847*f5f40dd6SCy Schubert 3848*f5f40dd6SCy SchubertThis is a recommended upgrade for Windows. 3849*f5f40dd6SCy Schubert 3850*f5f40dd6SCy Schubert--- 3851*f5f40dd6SCy SchubertNTP 4.2.4p4 (Harlan Stenn <stenn@ntp.org>, 2007/09/10) 3852*f5f40dd6SCy Schubert 3853*f5f40dd6SCy SchubertFocus: Minor Bugfixes 3854*f5f40dd6SCy Schubert 3855*f5f40dd6SCy SchubertThis release updates certain copyright information, fixes several display 3856*f5f40dd6SCy Schubertbugs in ntpdc, avoids SIGIO interrupting malloc(), cleans up file descriptor 3857*f5f40dd6SCy Schubertshutdown in the parse refclock driver, removes some lint from the code, 3858*f5f40dd6SCy Schubertstops accessing certain buffers immediately after they were freed, fixes 3859*f5f40dd6SCy Schuberta problem with non-command-line specification of -6, and allows the loopback 3860*f5f40dd6SCy Schubertinterface to share addresses with other interfaces. 3861*f5f40dd6SCy Schubert 3862*f5f40dd6SCy Schubert--- 3863*f5f40dd6SCy SchubertNTP 4.2.4p3 (Harlan Stenn <stenn@ntp.org>, 2007/06/29) 3864*f5f40dd6SCy Schubert 3865*f5f40dd6SCy SchubertFocus: Minor Bugfixes 3866*f5f40dd6SCy Schubert 3867*f5f40dd6SCy SchubertThis release fixes a bug in Windows that made it difficult to 3868*f5f40dd6SCy Schubertterminate ntpd under windows. 3869*f5f40dd6SCy SchubertThis is a recommended upgrade for Windows. 3870*f5f40dd6SCy Schubert 3871*f5f40dd6SCy Schubert--- 3872*f5f40dd6SCy SchubertNTP 4.2.4p2 (Harlan Stenn <stenn@ntp.org>, 2007/06/19) 3873*f5f40dd6SCy Schubert 3874*f5f40dd6SCy SchubertFocus: Minor Bugfixes 3875*f5f40dd6SCy Schubert 3876*f5f40dd6SCy SchubertThis release fixes a multicast mode authentication problem, 3877*f5f40dd6SCy Schubertan error in NTP packet handling on Windows that could lead to 3878*f5f40dd6SCy Schubertntpd crashing, and several other minor bugs. Handling of 3879*f5f40dd6SCy Schubertmulticast interfaces and logging configuration were improved. 3880*f5f40dd6SCy SchubertThe required versions of autogen and libopts were incremented. 3881*f5f40dd6SCy SchubertThis is a recommended upgrade for Windows and multicast users. 3882*f5f40dd6SCy Schubert 3883*f5f40dd6SCy Schubert--- 3884*f5f40dd6SCy SchubertNTP 4.2.4 (Harlan Stenn <stenn@ntp.org>, 2006/12/31) 3885*f5f40dd6SCy Schubert 3886*f5f40dd6SCy SchubertFocus: enhancements and bug fixes. 3887*f5f40dd6SCy Schubert 3888*f5f40dd6SCy SchubertDynamic interface rescanning was added to simplify the use of ntpd in 3889*f5f40dd6SCy Schubertconjunction with DHCP. GNU AutoGen is used for its command-line options 3890*f5f40dd6SCy Schubertprocessing. Separate PPS devices are supported for PARSE refclocks, MD5 3891*f5f40dd6SCy Schubertsignatures are now provided for the release files. Drivers have been 3892*f5f40dd6SCy Schubertadded for some new ref-clocks and have been removed for some older 3893*f5f40dd6SCy Schubertref-clocks. This release also includes other improvements, documentation 3894*f5f40dd6SCy Schubertand bug fixes. 3895*f5f40dd6SCy Schubert 3896*f5f40dd6SCy SchubertK&R C is no longer supported as of NTP-4.2.4. We are now aiming for ANSI 3897*f5f40dd6SCy SchubertC support. 3898*f5f40dd6SCy Schubert 3899*f5f40dd6SCy Schubert--- 3900*f5f40dd6SCy SchubertNTP 4.2.0 (Harlan Stenn <stenn@ntp.org>, 2003/10/15) 3901*f5f40dd6SCy Schubert 3902*f5f40dd6SCy SchubertFocus: enhancements and bug fixes. 3903*f5f40dd6SCy Schubert--- 3904e6bfd18dSCy SchubertNTP 4.2.8p17 (Harlan Stenn <stenn@ntp.org>, 2023 Jun 06) 3905e6bfd18dSCy Schubert 3906e6bfd18dSCy SchubertFocus: Bug fixes 3907e6bfd18dSCy Schubert 3908e6bfd18dSCy SchubertSeverity: HIGH (for people running 4.2.8p16) 3909e6bfd18dSCy Schubert 3910e6bfd18dSCy SchubertThis release: 3911e6bfd18dSCy Schubert 3912e6bfd18dSCy Schubert- fixes 3 bugs, including a regression 3913e6bfd18dSCy Schubert- adds new unit tests 3914e6bfd18dSCy Schubert 3915e6bfd18dSCy SchubertDetails below: 3916e6bfd18dSCy Schubert 3917e6bfd18dSCy Schubert* [Bug 3824] Spurious "ntpd: daemon failed to notify parent!" logged at 3918e6bfd18dSCy Schubert event_sync. Reported by Edward McGuire. <hart@ntp.org> 3919e6bfd18dSCy Schubert* [Bug 3822] ntpd significantly delays first poll of servers specified by name. 3920e6bfd18dSCy Schubert <hart@ntp.org> Miroslav Lichvar identified regression in 4.2.8p16. 3921e6bfd18dSCy Schubert* [Bug 3821] 4.2.8p16 misreads hex authentication keys, won't interop with 3922e6bfd18dSCy Schubert 4.2.8p15 or earlier. Reported by Matt Nordhoff, thanks to 3923e6bfd18dSCy Schubert Miroslav Lichvar and Matt for rapid testing and identifying the 3924e6bfd18dSCy Schubert problem. <hart@ntp.org> 3925e6bfd18dSCy Schubert* Add tests/libntp/digests.c to catch regressions reading keys file or with 3926e6bfd18dSCy Schubert symmetric authentication digest output. 3927e6bfd18dSCy Schubert 3928e6bfd18dSCy Schubert--- 3929a466cc55SCy SchubertNTP 4.2.8p16 (Harlan Stenn <stenn@ntp.org>, 2023 May 30) 3930a466cc55SCy Schubert 3931a466cc55SCy SchubertFocus: Security, Bug fixes 3932a466cc55SCy Schubert 3933a466cc55SCy SchubertSeverity: LOW 3934a466cc55SCy Schubert 3935a466cc55SCy SchubertThis release: 3936a466cc55SCy Schubert 3937a466cc55SCy Schubert- fixes 4 vulnerabilities (3 LOW and 1 None severity), 3938a466cc55SCy Schubert- fixes 46 bugs 3939a466cc55SCy Schubert- includes 15 general improvements 3940a466cc55SCy Schubert- adds support for OpenSSL-3.0 3941a466cc55SCy Schubert 3942a466cc55SCy SchubertDetails below: 3943a466cc55SCy Schubert 3944a466cc55SCy Schubert* [Sec 3808] Assertion failure in ntpq on malformed RT-11 date <perlinger@ntp.org> 3945a466cc55SCy Schubert* [Sec 3807] praecis_parse() in the Palisade refclock driver has a 3946a466cc55SCy Schubert hypothetical input buffer overflow. Reported by ... stenn@ 3947a466cc55SCy Schubert* [Sec 3806] libntp/mstolfp.c needs bounds checking <perlinger@ntp.org> 3948a466cc55SCy Schubert - solved numerically instead of using string manipulation 3949a466cc55SCy Schubert* [Sec 3767] An OOB KoD RATE value triggers an assertion when debug is enabled. 3950a466cc55SCy Schubert <stenn@ntp.org> 3951a466cc55SCy Schubert* [Bug 3819] Updated libopts/Makefile.am was missing NTP_HARD_* values. <stenn@> 3952a466cc55SCy Schubert* [Bug 3817] Bounds-check "tos floor" configuration. <hart@ntp.org> 3953a466cc55SCy Schubert* [Bug 3814] First poll delay of new or cleared associations miscalculated. 3954a466cc55SCy Schubert <hart@ntp.org> 3955a466cc55SCy Schubert* [Bug 3802] ntp-keygen -I default identity modulus bits too small for 3956a466cc55SCy Schubert OpenSSL 3. Reported by rmsh1216@163.com <hart@ntp.org> 3957a466cc55SCy Schubert* [Bug 3801] gpsdjson refclock gps_open() device name mishandled. <hart@ntp.org> 3958a466cc55SCy Schubert* [Bug 3800] libopts-42.1.17 does not compile with Microsoft C. <hart@ntp.org> 3959a466cc55SCy Schubert* [Bug 3799] Enable libopts noreturn compiler advice for MSC. <hart@ntp.org> 3960a466cc55SCy Schubert* [Bug 3797] Windows getaddrinfo w/AI_ADDRCONFIG fails for localhost when 3961a466cc55SCy Schubert disconnected, breaking ntpq and ntpdc. <hart@ntp.org> 3962a466cc55SCy Schubert* [Bug 3795] pollskewlist documentation uses | when it shouldn't. 3963a466cc55SCy Schubert - ntp.conf manual page and miscopt.html corrections. <hart@ntp.org> 3964a466cc55SCy Schubert* [Bug 3793] Wrong variable type passed to record_raw_stats(). <hart@ntp.org> 3965a466cc55SCy Schubert - Report and patch by Yuezhen LUAN <wei6410@sina.com>. 3966a466cc55SCy Schubert* [Bug 3786] Timer starvation on high-load Windows ntpd. <hart@ntp.org> 3967a466cc55SCy Schubert* [Bug 3784] high-load ntpd on Windows deaf after enough ICMP TTL exceeded. 3968a466cc55SCy Schubert <hart@ntp.org> 3969a466cc55SCy Schubert* [Bug 3781] log "Unable to listen for broadcasts" for IPv4 <hart@ntp.org> 3970a466cc55SCy Schubert* [Bug 3774] mode 6 packets corrupted in rawstats file <hart@ntp.org> 3971a466cc55SCy Schubert - Reported by Edward McGuire, fix identified by <wei6410@sina.com>. 3972a466cc55SCy Schubert* [Bug 3758] Provide a 'device' config statement for refclocks <perlinger@ntp.org> 3973a466cc55SCy Schubert* [Bug 3757] Improve handling of Linux-PPS in NTPD <perlinger@ntp.org> 3974a466cc55SCy Schubert* [Bug 3741] 4.2.8p15 can't build with glibc 2.34 <perlinger@ntp.org> 3975a466cc55SCy Schubert* [Bug 3725] Make copyright of clk_wharton.c compatible with Debian. 3976a466cc55SCy Schubert Philippe De Muyter <phdm@macqel.be> 3977a466cc55SCy Schubert* [Bug 3724] ntp-keygen with openSSL 1.1.1 fails on Windows <perlinger@ntp.org> 3978a466cc55SCy Schubert - openssl applink needed again for openSSL-1.1.1 3979a466cc55SCy Schubert* [Bug 3719] configure.ac checks for closefrom() and getdtablesize() missing. 3980a466cc55SCy Schubert Reported by Brian Utterback, broken in 2010 by <hart@ntp.org> 3981a466cc55SCy Schubert* [Bug 3699] Problems handling drift file and restoring previous drifts <perlinger@ntp.org> 3982a466cc55SCy Schubert - command line options override config statements where applicable 3983a466cc55SCy Schubert - make initial frequency settings idempotent and reversible 3984a466cc55SCy Schubert - make sure kernel PLL gets a recovered drift componsation 3985a466cc55SCy Schubert* [Bug 3695] Fix memory leak with ntpq on Windows Server 2019 <perlinger@ntp.org> 3986a466cc55SCy Schubert* [Bug 3694] NMEA refclock seems to unnecessarily require location in messages 3987a466cc55SCy Schubert - misleading title; essentially a request to ignore the receiver status. 3988a466cc55SCy Schubert Added a mode bit for this. <perlinger@ntp.org> 3989a466cc55SCy Schubert* [Bug 3693] Improvement of error handling key lengths <perlinger@ntp.org> 3990a466cc55SCy Schubert - original patch by Richard Schmidt, with mods & unit test fixes 3991a466cc55SCy Schubert* [Bug 3692] /dev/gpsN requirement prevents KPPS <perlinger@ntp.org> 3992a466cc55SCy Schubert - implement/wrap 'realpath()' to resolve symlinks in device names 3993a466cc55SCy Schubert* [Bug 3691] Buffer Overflow reading GPSD output 3994a466cc55SCy Schubert - original patch by matt<ntpbr@mattcorallo.com> 3995a466cc55SCy Schubert - increased max PDU size to 4k to avoid truncation 3996a466cc55SCy Schubert* [Bug 3690] newline in ntp clock variable (parse) <perlinger@ntp.org> 3997a466cc55SCy Schubert - patch by Frank Kardel 3998a466cc55SCy Schubert* [Bug 3689] Extension for MD5, SHA-1 and other keys <perlinger@ntp.org> 3999a466cc55SCy Schubert - ntp{q,dc} now use the same password processing as ntpd does in the key 4000a466cc55SCy Schubert file, so having a binary secret >= 11 bytes is possible for all keys. 4001a466cc55SCy Schubert (This is a different approach to the problem than suggested) 4002a466cc55SCy Schubert* [Bug 3688] GCC 10 build errors in testsuite <perlinger@ntp.org> 4003a466cc55SCy Schubert* [Bug 3687] ntp_crypto_rand RNG status not known <perlinger@ntp.org> 4004a466cc55SCy Schubert - patch by Gerry Garvey 4005a466cc55SCy Schubert* [Bug 3682] Fixes for warnings when compiled without OpenSSL <perlinger@ntp.org> 4006a466cc55SCy Schubert - original patch by Gerry Garvey 4007a466cc55SCy Schubert* [Bug 3677] additional peer events not decoded in associations listing <perlinger@ntp.org> 4008a466cc55SCy Schubert - original patch by Gerry Garvey 4009a466cc55SCy Schubert* [Bug 3676] compiler warnings (CMAC, interrupt_buf, typo, fallthrough) 4010a466cc55SCy Schubert - applied patches by Gerry Garvey 4011a466cc55SCy Schubert* [Bug 3675] ntpq ccmds[] stores pointer to non-persistent storage 4012a466cc55SCy Schubert* [Bug 3674] ntpq command 'execute only' using '~' prefix <perlinger@ntp.org> 4013a466cc55SCy Schubert - idea+patch by Gerry Garvey 4014a466cc55SCy Schubert* [Bug 3672] fix biased selection in median cut <perlinger@ntp.org> 4015a466cc55SCy Schubert* [Bug 3666] avoid unlimited receive buffer allocation <perlinger@ntp.org> 4016a466cc55SCy Schubert - follow-up: fix inverted sense in check, reset shortfall counter 4017a466cc55SCy Schubert* [Bug 3660] Revert 4.2.8p15 change to manycast. <hart@ntp.org> 4018a466cc55SCy Schubert* [Bug 3640] document "discard monitor" and fix the code. <hart@ntp.org> 4019a466cc55SCy Schubert - fixed bug identified by Edward McGuire <perlinger@ntp.org> 4020a466cc55SCy Schubert* [Bug 3626] (SNTP) UTC offset calculation needs dst flag <perlinger@ntp.org> 4021a466cc55SCy Schubert - applied patch by Gerry Garvey 4022a466cc55SCy Schubert* [Bug 3432] refclocks that 'write()' should check the result <perlinger@ntp.org> 4023a466cc55SCy Schubert - backport from -dev, plus some more work on warnings for unchecked results 4024a466cc55SCy Schubert* [Bug 3428] ntpd spinning consuming CPU on Linux router with full table. 4025a466cc55SCy Schubert Reported by Israel G. Lugo. <hart@ntp.org> 4026a466cc55SCy Schubert* [Bug 3103] libopts zsave_warn format string too few arguments <bkorb@gnu.org> 4027a466cc55SCy Schubert* [Bug 2990] multicastclient incorrectly causes bind to broadcast address. 4028a466cc55SCy Schubert Integrated patch from Brian Utterback. <hart@ntp.org> 4029a466cc55SCy Schubert* [Bug 2525] Turn on automake subdir-objects across the project. <hart@ntp.org> 4030a466cc55SCy Schubert* [Bug 2410] syslog an error message on panic exceeded. <brian.utterback@oracle.com> 4031a466cc55SCy Schubert* Use correct rounding in mstolfp(). perlinger/hart 4032a466cc55SCy Schubert* M_ADDF should use u_int32. <hart@ntp.org> 4033a466cc55SCy Schubert* Only define tv_fmt_libbuf() if we will use it. <stenn@ntp.org> 4034a466cc55SCy Schubert* Use recv_buffer instead of the longer recv_space.X_recv_buffer. hart/stenn 4035a466cc55SCy Schubert* Make sure the value returned by refid_str() prints cleanly. <stenn@ntp.org> 4036a466cc55SCy Schubert* If DEBUG is enabled, the startup banner now says that debug assertions 4037a466cc55SCy Schubert are in force and that ntpd will abort if any are violated. <stenn@ntp.org> 4038a466cc55SCy Schubert* syslog valid incoming KoDs. <stenn@ntp.org> 4039a466cc55SCy Schubert* Rename a poorly-named variable. <stenn@ntp.org> 4040a466cc55SCy Schubert* Disable "embedded NUL in string" messages in libopts, when we can. <stenn@> 4041a466cc55SCy Schubert* Use https in the AC_INIT URLs in configure.ac. <stenn@ntp.org> 4042a466cc55SCy Schubert* Implement NTP_FUNC_REALPATH. <stenn@ntp.org> 4043a466cc55SCy Schubert* Lose a gmake construct in ntpd/Makefile.am. <stenn@ntp.org> 4044a466cc55SCy Schubert* upgrade to: autogen-5.18.16 4045a466cc55SCy Schubert* upgrade to: libopts-42.1.17 4046a466cc55SCy Schubert* upgrade to: autoconf-2.71 4047a466cc55SCy Schubert* upgrade to: automake-1.16.15 4048a466cc55SCy Schubert* Upgrade to libevent-2.1.12-stable <stenn@ntp.org> 4049a466cc55SCy Schubert* Support OpenSSL-3.0 4050a466cc55SCy Schubert 4051a466cc55SCy Schubert--- 4052767173ceSCy SchubertNTP 4.2.8p15 (Harlan Stenn <stenn@ntp.org>, 2020 Jun 23) 4053767173ceSCy Schubert 4054767173ceSCy SchubertFocus: Security, Bug fixes 4055767173ceSCy Schubert 4056767173ceSCy SchubertSeverity: MEDIUM 4057767173ceSCy Schubert 4058767173ceSCy SchubertThis release fixes one vulnerability: Associations that use CMAC 4059767173ceSCy Schubertauthentication between ntpd from versions 4.2.8p11/4.3.97 and 4060767173ceSCy Schubert4.2.8p14/4.3.100 will leak a small amount of memory for each packet. 4061767173ceSCy SchubertEventually, ntpd will run out of memory and abort. 4062767173ceSCy Schubert 4063767173ceSCy SchubertIt also fixes 13 other bugs. 4064767173ceSCy Schubert 4065767173ceSCy Schubert* [Sec 3661] memory leak with AES128CMAC keys <perlinger@ntp.org> 4066767173ceSCy Schubert* [Bug 3670] Regression from bad merger between 3592 and 3596 <perlinger@> 4067767173ceSCy Schubert - Thanks to Sylar Tao 4068767173ceSCy Schubert* [Bug 3667] decodenetnum fails with numeric port <perlinger@ntp.org> 4069767173ceSCy Schubert - rewrite 'decodenetnum()' in terms of inet_pton 4070767173ceSCy Schubert* [Bug 3666] avoid unlimited receive buffer allocation <perlinger@ntp.org> 4071767173ceSCy Schubert - limit number of receive buffers, with an iron reserve for refclocks 4072767173ceSCy Schubert* [Bug 3664] Enable openSSL CMAC support on Windows <burnicki@ntp.org> 4073767173ceSCy Schubert* [Bug 3662] Fix build errors on Windows with VS2008 <burnicki@ntp.org> 4074767173ceSCy Schubert* [Bug 3660] Manycast orphan mode startup discovery problem. <stenn@ntp.org> 4075767173ceSCy Schubert - integrated patch from Charles Claggett 4076767173ceSCy Schubert* [Bug 3659] Move definition of psl[] from ntp_config.h to 4077767173ceSCy Schubert ntp_config.h <perlinger@ntp.org> 4078767173ceSCy Schubert* [Bug 3657] Wrong "Autokey group mismatch" debug message <perlinger@ntp.org> 4079767173ceSCy Schubert* [Bug 3655] ntpdc memstats hash counts <perlinger@ntp.org> 4080767173ceSCy Schubert - fix by Gerry garvey 4081767173ceSCy Schubert* [Bug 3653] Refclock jitter RMS calculation <perlinger@ntp.org> 4082767173ceSCy Schubert - thanks to Gerry Garvey 4083767173ceSCy Schubert* [Bug 3646] Avoid sync with unsync orphan <perlinger@ntp.org> 4084767173ceSCy Schubert - patch by Gerry Garvey 4085767173ceSCy Schubert* [Bug 3644] Unsynchronized server [...] selected as candidate <perlinger@ntp.org> 4086767173ceSCy Schubert* [Bug 3639] refclock_jjy: TS-JJY0x can skip time sync depending on the STUS reply. <abe@ntp.org> 4087767173ceSCy Schubert - applied patch by Takao Abe 4088767173ceSCy Schubert 4089767173ceSCy Schubert--- 40902d4e511cSCy SchubertNTP 4.2.8p14 (Harlan Stenn <stenn@ntp.org>, 2020 Mar 03) 40912d4e511cSCy Schubert 40922d4e511cSCy SchubertFocus: Security, Bug fixes, enhancements. 40932d4e511cSCy Schubert 40942d4e511cSCy SchubertSeverity: MEDIUM 40952d4e511cSCy Schubert 40962d4e511cSCy SchubertThis release fixes three vulnerabilities: a bug that causes causes an ntpd 40972d4e511cSCy Schubertinstance that is explicitly configured to override the default and allow 40982d4e511cSCy Schubertntpdc (mode 7) connections to be made to a server to read some uninitialized 40992d4e511cSCy Schubertmemory; fixes the case where an unmonitored ntpd using an unauthenticated 41002d4e511cSCy Schubertassociation to its servers may be susceptible to a forged packet DoS attack; 41012d4e511cSCy Schubertand fixes an attack against a client instance that uses a single 41022d4e511cSCy Schubertunauthenticated time source. It also fixes 46 other bugs and addresses 41032d4e511cSCy Schubert4 other issues. 41042d4e511cSCy Schubert 41052d4e511cSCy Schubert* [Sec 3610] process_control() should bail earlier on short packets. stenn@ 41062d4e511cSCy Schubert - Reported by Philippe Antoine 41072d4e511cSCy Schubert* [Sec 3596] Highly predictable timestamp attack. <stenn@ntp.org> 41082d4e511cSCy Schubert - Reported by Miroslav Lichvar 41092d4e511cSCy Schubert* [Sec 3592] DoS attack on client ntpd <perlinger@ntp.org> 41102d4e511cSCy Schubert - Reported by Miroslav Lichvar 41112d4e511cSCy Schubert* [Bug 3637] Emit the version of ntpd in saveconfig. stenn@ 41122d4e511cSCy Schubert* [Bug 3636] NMEA: combine time/date from multiple sentences <perlinger@ntp.org> 41132d4e511cSCy Schubert* [Bug 3635] Make leapsecond file hash check optional <perlinger@ntp.org> 41142d4e511cSCy Schubert* [Bug 3634] Typo in discipline.html, reported by Jason Harrison. stenn@ 41152d4e511cSCy Schubert* [Bug 3628] raw DCF decoding - improve robustness with Zeller's congruence 41162d4e511cSCy Schubert - implement Zeller's congruence in libparse and libntp <perlinger@ntp.org> 41172d4e511cSCy Schubert* [Bug 3627] SIGSEGV on FreeBSD-12 with stack limit and stack gap <perlinger@ntp.org> 41182d4e511cSCy Schubert - integrated patch by Cy Schubert 41192d4e511cSCy Schubert* [Bug 3620] memory leak in ntpq sysinfo <perlinger@ntp.org> 41202d4e511cSCy Schubert - applied patch by Gerry Garvey 41212d4e511cSCy Schubert* [Bug 3619] Honour drefid setting in cooked mode and sysinfo <perlinger@ntp.org> 41222d4e511cSCy Schubert - applied patch by Gerry Garvey 41232d4e511cSCy Schubert* [Bug 3617] Add support for ACE III and Copernicus II receivers <perlinger@ntp.org> 41242d4e511cSCy Schubert - integrated patch by Richard Steedman 41252d4e511cSCy Schubert* [Bug 3615] accelerate refclock startup <perlinger@ntp.org> 41262d4e511cSCy Schubert* [Bug 3613] Propagate noselect to mobilized pool servers <stenn@ntp.org> 41272d4e511cSCy Schubert - Reported by Martin Burnicki 41282d4e511cSCy Schubert* [Bug 3612] Use-of-uninitialized-value in receive function <perlinger@ntp.org> 41292d4e511cSCy Schubert - Reported by Philippe Antoine 41302d4e511cSCy Schubert* [Bug 3611] NMEA time interpreted incorrectly <perlinger@ntp.org> 41312d4e511cSCy Schubert - officially document new "trust date" mode bit for NMEA driver 41322d4e511cSCy Schubert - restore the (previously undocumented) "trust date" feature lost with [bug 3577] 41332d4e511cSCy Schubert* [Bug 3609] Fixing wrong falseticker in case of non-statistic jitter <perlinger@ntp.org> 41342d4e511cSCy Schubert - mostly based on a patch by Michael Haardt, implementing 'fudge minjitter' 41352d4e511cSCy Schubert* [Bug 3608] libparse fails to compile on S11.4SRU13 and later <perlinger@ntp.org> 41362d4e511cSCy Schubert - removed ffs() and fls() prototypes as per Brian Utterback 41372d4e511cSCy Schubert* [Bug 3604] Wrong param byte order passing into record_raw_stats() in 41382d4e511cSCy Schubert ntp_io.c <perlinger@ntp.org> 41392d4e511cSCy Schubert - fixed byte and paramter order as suggested by wei6410@sina.com 41402d4e511cSCy Schubert* [Bug 3601] Tests fail to link on platforms with ntp_cv_gc_sections_runs=no <perlinger@ntp.org> 41412d4e511cSCy Schubert* [Bug 3599] Build fails on linux-m68k due to alignment issues <perlinger@ntp.org> 41422d4e511cSCy Schubert - added padding as suggested by John Paul Adrian Glaubitz 41432d4e511cSCy Schubert* [Bug 3594] ntpd discards messages coming through nmead <perlinger@ntp.org> 41442d4e511cSCy Schubert* [Bug 3593] ntpd discards silently nmea messages after the 5th string <perlinger@ntp.org> 41452d4e511cSCy Schubert* [Bug 3590] Update refclock_oncore.c to the new GPS date API <perlinger@ntp.org> 41462d4e511cSCy Schubert* [Bug 3585] Unity tests mix buffered and unbuffered output <perlinger@ntp.org> 41472d4e511cSCy Schubert - stdout+stderr are set to line buffered during test setup now 41482d4e511cSCy Schubert* [Bug 3583] synchronization error <perlinger@ntp.org> 41492d4e511cSCy Schubert - set clock to base date if system time is before that limit 41502d4e511cSCy Schubert* [Bug 3582] gpsdjson refclock fudgetime1 adjustment is doubled <perlinger@ntp.org> 41512d4e511cSCy Schubert* [Bug 3580] Possible bug ntpq-subs (NULL dereference in dogetassoc) <perlinger@ntp.org> 41522d4e511cSCy Schubert - Reported by Paulo Neves 41532d4e511cSCy Schubert* [Bug 3577] Update refclock_zyfer.c to the new GPS date API <perlinger@ntp.org> 41542d4e511cSCy Schubert - also updates for refclock_nmea.c and refclock_jupiter.c 41552d4e511cSCy Schubert* [Bug 3576] New GPS date function API <perlinger@ntp.org> 41562d4e511cSCy Schubert* [Bug 3573] nptdate: missleading error message <perlinger@ntp.org> 41572d4e511cSCy Schubert* [Bug 3570] NMEA driver docs: talker ID not mentioned, typo <perlinger@ntp.org> 41582d4e511cSCy Schubert* [Bug 3569] cleanup MOD_NANO/STA_NANO handling for 'ntpadjtimex()' <perlinger@ntp.org> 41592d4e511cSCy Schubert - sidekick: service port resolution in 'ntpdate' 41602d4e511cSCy Schubert* [Bug 3550] Reproducible build: Respect SOURCE_DATE_EPOCH <perlinger@ntp.org> 41612d4e511cSCy Schubert - applied patch by Douglas Royds 41622d4e511cSCy Schubert* [Bug 3542] ntpdc monlist parameters cannot be set <perlinger@ntp.org> 41632d4e511cSCy Schubert* [Bug 3533] ntpdc peer_info ipv6 issues <perlinger@ntp.org> 41642d4e511cSCy Schubert - applied patch by Gerry Garvey 41652d4e511cSCy Schubert* [Bug 3531] make check: test-decodenetnum fails <perlinger@ntp.org> 41662d4e511cSCy Schubert - try to harden 'decodenetnum()' against 'getaddrinfo()' errors 41672d4e511cSCy Schubert - fix wrong cond-compile tests in unit tests 41682d4e511cSCy Schubert* [Bug 3517] Reducing build noise <perlinger@ntp.org> 41692d4e511cSCy Schubert* [Bug 3516] Require tooling from this decade <perlinger@ntp.org> 41702d4e511cSCy Schubert - patch by Philipp Prindeville 41712d4e511cSCy Schubert* [Bug 3515] Refactor ntpdmain() dispatcher loop and group common code <perlinger@ntp.org> 41722d4e511cSCy Schubert - patch by Philipp Prindeville 41732d4e511cSCy Schubert* [Bug 3511] Get rid of AC_LANG_SOURCE() warnings <perlinger@ntp.org> 41742d4e511cSCy Schubert - patch by Philipp Prindeville 41752d4e511cSCy Schubert* [Bug 3510] Flatten out the #ifdef nesting in ntpdmain() <perlinger@ntp.org> 41762d4e511cSCy Schubert - partial application of patch by Philipp Prindeville 41772d4e511cSCy Schubert* [Bug 3491] Signed values of LFP datatypes should always display a sign 41782d4e511cSCy Schubert - applied patch by Gerry Garvey & fixed unit tests <perlinger@ntp.org> 41792d4e511cSCy Schubert* [Bug 3490] Patch to support Trimble Resolution Receivers <perlinger@ntp.org> 41802d4e511cSCy Schubert - applied (modified) patch by Richard Steedman 41812d4e511cSCy Schubert* [Bug 3473] RefID of refclocks should always be text format <perlinger@ntp.org> 41822d4e511cSCy Schubert - applied patch by Gerry Garvey (with minor formatting changes) 41832d4e511cSCy Schubert* [Bug 3132] Building 4.2.8p8 with disabled local libopts fails <perlinger@ntp.org> 41842d4e511cSCy Schubert - applied patch by Miroslav Lichvar 41852d4e511cSCy Schubert* [Bug 3094] ntpd trying to listen for broadcasts on a completely ipv6 network 41862d4e511cSCy Schubert <perlinger@ntp.org> 41872d4e511cSCy Schubert* [Bug 2420] ntpd doesn't run and exits with retval 0 when invalid user 41882d4e511cSCy Schubert is specified with -u <perlinger@ntp.org> 41892d4e511cSCy Schubert - monitor daemon child startup & propagate exit codes 41902d4e511cSCy Schubert* [Bug 1433] runtime check whether the kernel really supports capabilities 41912d4e511cSCy Schubert - (modified) patch by Kurt Roeckx <perlinger@ntp.org> 41922d4e511cSCy Schubert* Clean up sntp/networking.c:sendpkt() error message. <stenn@ntp.org> 41932d4e511cSCy Schubert* Provide more detail on unrecognized config file parser tokens. <stenn@ntp.org> 41942d4e511cSCy Schubert* Startup log improvements. <stenn@ntp.org> 41952d4e511cSCy Schubert* Update the copyright year. 41962d4e511cSCy Schubert 41972d4e511cSCy Schubert--- 4198052d159aSCy SchubertNTP 4.2.8p13 (Harlan Stenn <stenn@ntp.org>, 2019 Mar 07) 4199052d159aSCy Schubert 4200052d159aSCy SchubertFocus: Security, Bug fixes, enhancements. 4201052d159aSCy Schubert 4202052d159aSCy SchubertSeverity: MEDIUM 4203052d159aSCy Schubert 4204052d159aSCy SchubertThis release fixes a bug that allows an attacker with access to an 4205052d159aSCy Schubertexplicitly trusted source to send a crafted malicious mode 6 (ntpq) 4206052d159aSCy Schubertpacket that can trigger a NULL pointer dereference, crashing ntpd. 4207052d159aSCy SchubertIt also provides 17 other bugfixes and 1 other improvement: 4208052d159aSCy Schubert 4209052d159aSCy Schubert* [Sec 3565] Crafted null dereference attack in authenticated 4210052d159aSCy Schubert mode 6 packet <perlinger@ntp.org> 4211052d159aSCy Schubert - reported by Magnus Stubman 4212052d159aSCy Schubert* [Bug 3560] Fix build when HAVE_DROPROOT is not defined <perlinger@ntp.org> 4213052d159aSCy Schubert - applied patch by Ian Lepore 4214052d159aSCy Schubert* [Bug 3558] Crash and integer size bug <perlinger@ntp.org> 4215052d159aSCy Schubert - isolate and fix linux/windows specific code issue 4216052d159aSCy Schubert* [Bug 3556] ntp_loopfilter.c snprintf compilation warnings <perlinger@ntp.org> 4217052d159aSCy Schubert - provide better function for incremental string formatting 4218052d159aSCy Schubert* [Bug 3555] Tidy up print alignment of debug output from ntpdate <perlinger@ntp.org> 4219052d159aSCy Schubert - applied patch by Gerry Garvey 4220052d159aSCy Schubert* [Bug 3554] config revoke stores incorrect value <perlinger@ntp.org> 4221052d159aSCy Schubert - original finding by Gerry Garvey, additional cleanup needed 4222052d159aSCy Schubert* [Bug 3549] Spurious initgroups() error message <perlinger@ntp.org> 4223052d159aSCy Schubert - patch by Christous Zoulas 4224052d159aSCy Schubert* [Bug 3548] Signature not verified on windows system <perlinger@ntp.org> 4225052d159aSCy Schubert - finding by Chen Jiabin, plus another one by me 4226052d159aSCy Schubert* [Bug 3541] patch to fix STA_NANO struct timex units <perlinger@ntp.org> 4227052d159aSCy Schubert - applied patch by Maciej Szmigiero 4228052d159aSCy Schubert* [Bug 3540] Cannot set minsane to 0 anymore <perlinger@ntp.org> 4229052d159aSCy Schubert - applied patch by Andre Charbonneau 4230052d159aSCy Schubert* [Bug 3539] work_fork build fails when droproot is not supported <perlinger@ntp.org> 4231052d159aSCy Schubert - applied patch by Baruch Siach 4232052d159aSCy Schubert* [Bug 3538] Build fails for no-MMU targets <perlinger@ntp.org> 4233052d159aSCy Schubert - applied patch by Baruch Siach 4234052d159aSCy Schubert* [Bug 3535] libparse won't handle GPS week rollover <perlinger@ntp.org> 4235052d159aSCy Schubert - refactored handling of GPS era based on 'tos basedate' for 4236052d159aSCy Schubert parse (TSIP) and JUPITER clocks 4237052d159aSCy Schubert* [Bug 3529] Build failures on Mac OS X 10.13 (High Sierra) <perlinger@ntp.org> 4238052d159aSCy Schubert - patch by Daniel J. Luke; this does not fix a potential linker 4239052d159aSCy Schubert regression issue on MacOS. 4240052d159aSCy Schubert* [Bug 3527 - Backward Incompatible] mode7 clockinfo fudgeval2 packet 4241052d159aSCy Schubert anomaly <perlinger@ntp.org>, reported by GGarvey. 4242052d159aSCy Schubert - --enable-bug3527-fix support by HStenn 4243052d159aSCy Schubert* [Bug 3526] Incorrect poll interval in packet <perlinger@ntp.org> 4244052d159aSCy Schubert - applied patch by Gerry Garvey 4245052d159aSCy Schubert* [Bug 3471] Check for openssl/[ch]mac.h. <perlinger@ntp.org> 4246052d159aSCy Schubert - added missing check, reported by Reinhard Max <perlinger@ntp.org> 4247052d159aSCy Schubert* [Bug 1674] runtime crashes and sync problems affecting both x86 and x86_64 4248052d159aSCy Schubert - this is a variant of [bug 3558] and should be fixed with it 4249052d159aSCy Schubert* Implement 'configure --disable-signalled-io' 4250052d159aSCy Schubert 4251f0574f5cSXin LI-- 42524e1ef62aSXin LINTP 4.2.8p12 (Harlan Stenn <stenn@ntp.org>, 2018/14/09) 425309100258SXin LI 425409100258SXin LIFocus: Security, Bug fixes, enhancements. 425509100258SXin LI 425609100258SXin LISeverity: MEDIUM 425709100258SXin LI 42584e1ef62aSXin LIThis release fixes a "hole" in the noepeer capability introduced to ntpd 42594e1ef62aSXin LIin ntp-4.2.8p11, and a buffer overflow in the openhost() function used by 42604e1ef62aSXin LIntpq and ntpdc. It also provides 26 other bugfixes, and 4 other improvements: 42614e1ef62aSXin LI 42624e1ef62aSXin LI* [Sec 3505] Buffer overflow in the openhost() call of ntpq and ntpdc. 42634e1ef62aSXin LI 42644e1ef62aSXin LI* [Sec 3012] Fix a hole in the new "noepeer" processing. 42654e1ef62aSXin LI 42664e1ef62aSXin LI* Bug Fixes: 42674e1ef62aSXin LI [Bug 3521] Fix a logic bug in the INVALIDNAK checks. <stenn@ntp.org> 42684e1ef62aSXin LI [Bug 3509] Add support for running as non-root on FreeBSD, Darwin, 42694e1ef62aSXin LI other TrustedBSD platforms 42704e1ef62aSXin LI - applied patch by Ian Lepore <perlinger@ntp.org> 42714e1ef62aSXin LI [Bug 3506] Service Control Manager interacts poorly with NTPD <perlinger@ntp.org> 42724e1ef62aSXin LI - changed interaction with SCM to signal pending startup 42734e1ef62aSXin LI [Bug 3486] Buffer overflow in ntpq/ntpq.c:tstflags() <perlinger@ntp.org> 42744e1ef62aSXin LI - applied patch by Gerry Garvey 42754e1ef62aSXin LI [Bug 3485] Undefined sockaddr used in error messages in ntp_config.c <perlinger@ntp.org> 42764e1ef62aSXin LI - applied patch by Gerry Garvey 42774e1ef62aSXin LI [Bug 3484] ntpq response from ntpd is incorrect when REFID is null <perlinger@ntp.org> 42784e1ef62aSXin LI - rework of ntpq 'nextvar()' key/value parsing 42794e1ef62aSXin LI [Bug 3482] Fixes for compilation warnings (ntp_io.c & ntpq-subs.c) <perlinger@ntp.org> 42804e1ef62aSXin LI - applied patch by Gerry Garvey (with mods) 42814e1ef62aSXin LI [Bug 3480] Refclock sample filter not cleared on clock STEP <perlinger@ntp.org> 42824e1ef62aSXin LI - applied patch by Gerry Garvey 42834e1ef62aSXin LI [Bug 3479] ctl_putrefid() allows unsafe characters through to ntpq <perlinger@ntp.org> 42844e1ef62aSXin LI - applied patch by Gerry Garvey (with mods) 42854e1ef62aSXin LI [Bug 3476]ctl_putstr() sends empty unquoted string [...] <perlinger@ntp.org> 42864e1ef62aSXin LI - applied patch by Gerry Garvey (with mods); not sure if that's bug or feature, though 42874e1ef62aSXin LI [Bug 3475] modify prettydate() to suppress output of zero time <perlinger@ntp.org> 42884e1ef62aSXin LI - applied patch by Gerry Garvey 42894e1ef62aSXin LI [Bug 3474] Missing pmode in mode7 peer info response <perlinger@ntp.org> 42904e1ef62aSXin LI - applied patch by Gerry Garvey 42914e1ef62aSXin LI [Bug 3471] Check for openssl/[ch]mac.h. HStenn. 42924e1ef62aSXin LI - add #define ENABLE_CMAC support in configure. HStenn. 42934e1ef62aSXin LI [Bug 3470] ntpd4.2.8p11 fails to compile without OpenSSL <perlinger@ntp.org> 42944e1ef62aSXin LI [Bug 3469] Incomplete string compare [...] in is_refclk_addr <perlinger@ntp.org> 42954e1ef62aSXin LI - patch by Stephen Friedl 42964e1ef62aSXin LI [Bug 3467] Potential memory fault in ntpq [...] <perlinger@ntp.org> 42974e1ef62aSXin LI - fixed IO redirection and CTRL-C handling in ntq and ntpdc 42984e1ef62aSXin LI [Bug 3465] Default TTL values cannot be used <perlinger@ntp.org> 42994e1ef62aSXin LI [Bug 3461] refclock_shm.c: clear error status on clock recovery <perlinger@ntp.org> 43004e1ef62aSXin LI - initial patch by Hal Murray; also fixed refclock_report() trouble 43014e1ef62aSXin LI [Bug 3460] Fix typo in ntpq.texi, reported by Kenyon Ralph. <stenn@ntp.org> 43024e1ef62aSXin LI [Bug 3456] Use uintptr_t rather than size_t to store an integer in a pointer 43034e1ef62aSXin LI - According to Brooks Davis, there was only one location <perlinger@ntp.org> 43044e1ef62aSXin LI [Bug 3449] ntpq - display "loop" instead of refid [...] <perlinger@ntp.org> 43054e1ef62aSXin LI - applied patch by Gerry Garvey 43064e1ef62aSXin LI [Bug 3445] Symmetric peer won't sync on startup <perlinger@ntp.org> 43074e1ef62aSXin LI - applied patch by Gerry Garvey 43084e1ef62aSXin LI [Bug 3442] Fixes for ntpdate as suggested by Gerry Garvey, 43094e1ef62aSXin LI with modifications 43104e1ef62aSXin LI New macro REFID_ISTEXT() which is also used in ntpd/ntp_control.c. 43114e1ef62aSXin LI [Bug 3434] ntpd clears STA_UNSYNC on start <perlinger@ntp.org> 43124e1ef62aSXin LI - applied patch by Miroslav Lichvar 43134e1ef62aSXin LI [Bug 3426] ntpdate.html -t default is 2 seconds. Leonid Evdokimov. 43144e1ef62aSXin LI [Bug 3121] Drop root privileges for the forked DNS worker <perlinger@ntp.org> 43154e1ef62aSXin LI - integrated patch by Reinhard Max 43164e1ef62aSXin LI [Bug 2821] minor build issues <perlinger@ntp.org> 43174e1ef62aSXin LI - applied patches by Christos Zoulas, including real bug fixes 43184e1ef62aSXin LI html/authopt.html: cleanup, from <stenn@ntp.org> 43194e1ef62aSXin LI ntpd/ntpd.c: DROPROOT cleanup. <stenn@ntp.org> 43204e1ef62aSXin LI Symmetric key range is 1-65535. Update docs. <stenn@ntp.org> 43214e1ef62aSXin LI 43224e1ef62aSXin LI-- 43234e1ef62aSXin LINTP 4.2.8p11 (Harlan Stenn <stenn@ntp.org>, 2018/02/27) 43244e1ef62aSXin LI 43254e1ef62aSXin LIFocus: Security, Bug fixes, enhancements. 43264e1ef62aSXin LI 43274e1ef62aSXin LISeverity: MEDIUM 43284e1ef62aSXin LI 432909100258SXin LIThis release fixes 2 low-/medium-, 1 informational/medum-, and 2 low-severity 433009100258SXin LIvulnerabilities in ntpd, one medium-severity vulernability in ntpq, and 433109100258SXin LIprovides 65 other non-security fixes and improvements: 433209100258SXin LI 433309100258SXin LI* NTP Bug 3454: Unauthenticated packet can reset authenticated interleaved 433409100258SXin LI association (LOW/MED) 433509100258SXin LI Date Resolved: Stable (4.2.8p11) 27 Feb 2018 433609100258SXin LI References: Sec 3454 / CVE-2018-7185 / VU#961909 433709100258SXin LI Affects: ntp-4.2.6, up to but not including ntp-4.2.8p11. 433809100258SXin LI CVSS2: MED 4.3 (AV:N/AC:M/Au:N/C:N/I:N/A:P) This could score between 433909100258SXin LI 2.9 and 6.8. 434009100258SXin LI 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 434109100258SXin LI score between 2.6 and 3.1 434209100258SXin LI Summary: 434309100258SXin LI The NTP Protocol allows for both non-authenticated and 434409100258SXin LI authenticated associations, in client/server, symmetric (peer), 434509100258SXin LI and several broadcast modes. In addition to the basic NTP 434609100258SXin LI operational modes, symmetric mode and broadcast servers can 434709100258SXin LI support an interleaved mode of operation. In ntp-4.2.8p4 a bug 434809100258SXin LI was inadvertently introduced into the protocol engine that 434909100258SXin LI allows a non-authenticated zero-origin (reset) packet to reset 435009100258SXin LI an authenticated interleaved peer association. If an attacker 435109100258SXin LI can send a packet with a zero-origin timestamp and the source 435209100258SXin LI IP address of the "other side" of an interleaved association, 435309100258SXin LI the 'victim' ntpd will reset its association. The attacker must 435409100258SXin LI continue sending these packets in order to maintain the 435509100258SXin LI disruption of the association. In ntp-4.0.0 thru ntp-4.2.8p6, 435609100258SXin LI interleave mode could be entered dynamically. As of ntp-4.2.8p7, 435709100258SXin LI interleaved mode must be explicitly configured/enabled. 435809100258SXin LI Mitigation: 435909100258SXin LI Implement BCP-38. 436009100258SXin LI Upgrade to 4.2.8p11, or later, from the NTP Project Download Page 436109100258SXin LI or the NTP Public Services Project Download Page. 436209100258SXin LI If you are unable to upgrade to 4.2.8p11 or later and have 436309100258SXin LI 'peer HOST xleave' lines in your ntp.conf file, remove the 436409100258SXin LI 'xleave' option. 436509100258SXin LI Have enough sources of time. 436609100258SXin LI Properly monitor your ntpd instances. 436709100258SXin LI If ntpd stops running, auto-restart it without -g . 436809100258SXin LI Credit: 436909100258SXin LI This weakness was discovered by Miroslav Lichvar of Red Hat. 437009100258SXin LI 437109100258SXin LI* NTP Bug 3453: Interleaved symmetric mode cannot recover from bad 437209100258SXin LI state (LOW/MED) 437309100258SXin LI Date Resolved: Stable (4.2.8p11) 27 Feb 2018 437409100258SXin LI References: Sec 3453 / CVE-2018-7184 / VU#961909 437509100258SXin LI Affects: ntpd in ntp-4.2.8p4, up to but not including ntp-4.2.8p11. 437609100258SXin LI CVSS2: MED 4.3 (AV:N/AC:M/Au:N/C:P/I:N/A:N) 437709100258SXin LI Could score between 2.9 and 6.8. 437809100258SXin LI CVSS3: LOW 3.1 - CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:L 437909100258SXin LI Could score between 2.6 and 6.0. 438009100258SXin LI Summary: 438109100258SXin LI The fix for NtpBug2952 was incomplete, and while it fixed one 438209100258SXin LI problem it created another. Specifically, it drops bad packets 438309100258SXin LI before updating the "received" timestamp. This means a 438409100258SXin LI third-party can inject a packet with a zero-origin timestamp, 438509100258SXin LI meaning the sender wants to reset the association, and the 438609100258SXin LI transmit timestamp in this bogus packet will be saved as the 438709100258SXin LI most recent "received" timestamp. The real remote peer does 438809100258SXin LI not know this value and this will disrupt the association until 438909100258SXin LI the association resets. 439009100258SXin LI Mitigation: 439109100258SXin LI Implement BCP-38. 439209100258SXin LI Upgrade to ntp-4.2.8p11 or later from the NTP Project Download Page 439309100258SXin LI or the NTP Public Services Project Download Page. 439409100258SXin LI Use authentication with 'peer' mode. 439509100258SXin LI Have enough sources of time. 439609100258SXin LI Properly monitor your ntpd instances. 439709100258SXin LI If ntpd stops running, auto-restart it without -g . 439809100258SXin LI Credit: 439909100258SXin LI This weakness was discovered by Miroslav Lichvar of Red Hat. 440009100258SXin LI 440109100258SXin LI* NTP Bug 3415: Provide a way to prevent authenticated symmetric passive 440209100258SXin LI peering (LOW) 440309100258SXin LI Date Resolved: Stable (4.2.8p11) 27 Feb 2018 440409100258SXin LI References: Sec 3415 / CVE-2018-7170 / VU#961909 440509100258SXin LI Sec 3012 / CVE-2016-1549 / VU#718152 440609100258SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p7, and 440709100258SXin LI 4.3.0 up to, but not including 4.3.92. Resolved in 4.2.8p11. 440809100258SXin LI CVSS2: LOW 3.5 - (AV:N/AC:M/Au:S/C:N/I:P/A:N) 440909100258SXin LI CVSS3: LOW 3.1 - CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N 441009100258SXin LI Summary: 441109100258SXin LI ntpd can be vulnerable to Sybil attacks. If a system is set up to 441209100258SXin LI use a trustedkey and if one is not using the feature introduced in 441309100258SXin LI ntp-4.2.8p6 allowing an optional 4th field in the ntp.keys file to 441409100258SXin LI specify which IPs can serve time, a malicious authenticated peer 441509100258SXin LI -- i.e. one where the attacker knows the private symmetric key -- 441609100258SXin LI can create arbitrarily-many ephemeral associations in order to win 441709100258SXin LI the clock selection of ntpd and modify a victim's clock. Three 441809100258SXin LI additional protections are offered in ntp-4.2.8p11. One is the 441909100258SXin LI new 'noepeer' directive, which disables symmetric passive 442009100258SXin LI ephemeral peering. Another is the new 'ippeerlimit' directive, 442109100258SXin LI which limits the number of peers that can be created from an IP. 442209100258SXin LI The third extends the functionality of the 4th field in the 442309100258SXin LI ntp.keys file to include specifying a subnet range. 442409100258SXin LI Mitigation: 442509100258SXin LI Implement BCP-38. 442609100258SXin LI Upgrade to ntp-4.2.8p11 or later from the NTP Project Download Page 442709100258SXin LI or the NTP Public Services Project Download Page. 442809100258SXin LI Use the 'noepeer' directive to prohibit symmetric passive 442909100258SXin LI ephemeral associations. 443009100258SXin LI Use the 'ippeerlimit' directive to limit the number of peers 443109100258SXin LI that can be created from an IP. 443209100258SXin LI Use the 4th argument in the ntp.keys file to limit the IPs and 443309100258SXin LI subnets that can be time servers. 443409100258SXin LI Have enough sources of time. 443509100258SXin LI Properly monitor your ntpd instances. 443609100258SXin LI If ntpd stops running, auto-restart it without -g . 443709100258SXin LI Credit: 443809100258SXin LI This weakness was reported as Bug 3012 by Matthew Van Gundy of 443909100258SXin LI Cisco ASIG, and separately by Stefan Moser as Bug 3415. 444009100258SXin LI 444109100258SXin LI* ntpq Bug 3414: decodearr() can write beyond its 'buf' limits (Medium) 444209100258SXin LI Date Resolved: 27 Feb 2018 444309100258SXin LI References: Sec 3414 / CVE-2018-7183 / VU#961909 444409100258SXin LI Affects: ntpq in ntp-4.2.8p6, up to but not including ntp-4.2.8p11. 444509100258SXin LI CVSS2: MED 6.8 (AV:N/AC:M/Au:N/C:P/I:P/A:P) 444609100258SXin LI CVSS3: MED 5.0 CVSS:3.0/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:L 444709100258SXin LI Summary: 444809100258SXin LI ntpq is a monitoring and control program for ntpd. decodearr() 444909100258SXin LI is an internal function of ntpq that is used to -- wait for it -- 445009100258SXin LI decode an array in a response string when formatted data is being 445109100258SXin LI displayed. This is a problem in affected versions of ntpq if a 445209100258SXin LI maliciously-altered ntpd returns an array result that will trip this 445309100258SXin LI bug, or if a bad actor is able to read an ntpq request on its way to 445409100258SXin LI a remote ntpd server and forge and send a response before the remote 445509100258SXin LI ntpd sends its response. It's potentially possible that the 445609100258SXin LI malicious data could become injectable/executable code. 445709100258SXin LI Mitigation: 445809100258SXin LI Implement BCP-38. 445909100258SXin LI Upgrade to ntp-4.2.8p11 or later from the NTP Project Download Page 446009100258SXin LI or the NTP Public Services Project Download Page. 446109100258SXin LI Credit: 446209100258SXin LI This weakness was discovered by Michael Macnair of Thales e-Security. 446309100258SXin LI 446409100258SXin LI* NTP Bug 3412: ctl_getitem(): buffer read overrun leads to undefined 446509100258SXin LI behavior and information leak (Info/Medium) 446609100258SXin LI Date Resolved: 27 Feb 2018 446709100258SXin LI References: Sec 3412 / CVE-2018-7182 / VU#961909 446809100258SXin LI Affects: ntp-4.2.8p6, up to but not including ntp-4.2.8p11. 446909100258SXin LI CVSS2: INFO 0.0 - MED 5.0 (AV:N/AC:L/Au:N/C:P/I:N/A:N) 0.0 if C:N 447009100258SXin LI 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 447109100258SXin LI 0.0 if C:N 447209100258SXin LI Summary: 447309100258SXin LI ctl_getitem() is used by ntpd to process incoming mode 6 packets. 447409100258SXin LI A malicious mode 6 packet can be sent to an ntpd instance, and 447509100258SXin LI if the ntpd instance is from 4.2.8p6 thru 4.2.8p10, that will 447609100258SXin LI cause ctl_getitem() to read past the end of its buffer. 447709100258SXin LI Mitigation: 447809100258SXin LI Implement BCP-38. 447909100258SXin LI Upgrade to ntp-4.2.8p11 or later from the NTP Project Download Page 448009100258SXin LI or the NTP Public Services Project Download Page. 448109100258SXin LI Have enough sources of time. 448209100258SXin LI Properly monitor your ntpd instances. 448309100258SXin LI If ntpd stops running, auto-restart it without -g . 448409100258SXin LI Credit: 448509100258SXin LI This weakness was discovered by Yihan Lian of Qihoo 360. 448609100258SXin LI 448709100258SXin LI* NTP Bug 3012: Sybil vulnerability: ephemeral association attack 448809100258SXin LI Also see Bug 3415, above. 448909100258SXin LI Date Mitigated: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 449009100258SXin LI Date Resolved: Stable (4.2.8p11) 27 Feb 2018 449109100258SXin LI References: Sec 3012 / CVE-2016-1549 / VU#718152 449209100258SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p7, and 449309100258SXin LI 4.3.0 up to, but not including 4.3.92. Resolved in 4.2.8p11. 449409100258SXin LI CVSS2: LOW 3.5 - (AV:N/AC:M/Au:S/C:N/I:P/A:N) 449509100258SXin LI CVSS3: MED 5.3 - CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N 449609100258SXin LI Summary: 449709100258SXin LI ntpd can be vulnerable to Sybil attacks. If a system is set up 449809100258SXin LI to use a trustedkey and if one is not using the feature 449909100258SXin LI introduced in ntp-4.2.8p6 allowing an optional 4th field in the 450009100258SXin LI ntp.keys file to specify which IPs can serve time, a malicious 450109100258SXin LI authenticated peer -- i.e. one where the attacker knows the 450209100258SXin LI private symmetric key -- can create arbitrarily-many ephemeral 450309100258SXin LI associations in order to win the clock selection of ntpd and 450409100258SXin LI modify a victim's clock. Two additional protections are 450509100258SXin LI offered in ntp-4.2.8p11. One is the 'noepeer' directive, which 450609100258SXin LI disables symmetric passive ephemeral peering. The other extends 450709100258SXin LI the functionality of the 4th field in the ntp.keys file to 450809100258SXin LI include specifying a subnet range. 450909100258SXin LI Mitigation: 451009100258SXin LI Implement BCP-38. 451109100258SXin LI Upgrade to 4.2.8p11, or later, from the NTP Project Download Page or 451209100258SXin LI the NTP Public Services Project Download Page. 451309100258SXin LI Use the 'noepeer' directive to prohibit symmetric passive 451409100258SXin LI ephemeral associations. 451509100258SXin LI Use the 'ippeerlimit' directive to limit the number of peer 451609100258SXin LI associations from an IP. 451709100258SXin LI Use the 4th argument in the ntp.keys file to limit the IPs 451809100258SXin LI and subnets that can be time servers. 451909100258SXin LI Properly monitor your ntpd instances. 452009100258SXin LI Credit: 452109100258SXin LI This weakness was discovered by Matthew Van Gundy of Cisco ASIG. 452209100258SXin LI 452309100258SXin LI* Bug fixes: 452409100258SXin LI [Bug 3457] OpenSSL FIPS mode regression <perlinger@ntp.org> 452509100258SXin LI [Bug 3455] ntpd doesn't use scope id when binding multicast <perlinger@ntp.org> 452609100258SXin LI - applied patch by Sean Haugh 452709100258SXin LI [Bug 3452] PARSE driver prints uninitialized memory. <perlinger@ntp.org> 452809100258SXin LI [Bug 3450] Dubious error messages from plausibility checks in get_systime() 452909100258SXin LI - removed error log caused by rounding/slew, ensured postcondition <perlinger@ntp.org> 453009100258SXin LI [Bug 3447] AES-128-CMAC (fixes) <perlinger@ntp.org> 453109100258SXin LI - refactoring the MAC code, too 453209100258SXin LI [Bug 3441] Validate the assumption that AF_UNSPEC is 0. stenn@ntp.org 453309100258SXin LI [Bug 3439] When running multiple commands / hosts in ntpq... <perlinger@ntp.org> 453409100258SXin LI - applied patch by ggarvey 453509100258SXin LI [Bug 3438] Negative values and values > 999 days in... <perlinger@ntp.org> 453609100258SXin LI - applied patch by ggarvey (with minor mods) 453709100258SXin LI [Bug 3437] ntpd tries to open socket with AF_UNSPEC domain 453809100258SXin LI - applied patch (with mods) by Miroslav Lichvar <perlinger@ntp.org> 453909100258SXin LI [Bug 3435] anchor NTP era alignment <perlinger@ntp.org> 454009100258SXin LI [Bug 3433] sntp crashes when run with -a. <stenn@ntp.org> 454109100258SXin LI [Bug 3430] ntpq dumps core (SIGSEGV) for "keytype md2" 454209100258SXin LI - fixed several issues with hash algos in ntpd, sntp, ntpq, 454309100258SXin LI ntpdc and the test suites <perlinger@ntp.org> 454409100258SXin LI [Bug 3424] Trimble Thunderbolt 1024 week millenium bug <perlinger@ntp.org> 454509100258SXin LI - initial patch by Daniel Pouzzner 454609100258SXin LI [Bug 3423] QNX adjtime() implementation error checking is 454709100258SXin LI wrong <perlinger@ntp.org> 454809100258SXin LI [Bug 3417] ntpq ifstats packet counters can be negative 454909100258SXin LI made IFSTATS counter quantities unsigned <perlinger@ntp.org> 455009100258SXin LI [Bug 3411] problem about SIGN(6) packet handling for ntp-4.2.8p10 455109100258SXin LI - raised receive buffer size to 1200 <perlinger@ntp.org> 455209100258SXin LI [Bug 3408] refclock_jjy.c: Avoid a wrong report of the coverity static 455309100258SXin LI analysis tool. <abe@ntp.org> 455409100258SXin LI [Bug 3405] update-leap.in: general cleanup, HTTPS support. Paul McMath. 455509100258SXin LI [Bug 3404] Fix openSSL DLL usage under Windows <perlinger@ntp.org> 455609100258SXin LI - fix/drop assumptions on OpenSSL libs directory layout 455709100258SXin LI [Bug 3399] NTP: linker error in 4.2.8p10 during Linux cross-compilation 455809100258SXin LI - initial patch by timeflies@mail2tor.com <perlinger@ntp.org> 455909100258SXin LI [Bug 3398] tests fail with core dump <perlinger@ntp.org> 456009100258SXin LI - patch contributed by Alexander Bluhm 456109100258SXin LI [Bug 3397] ctl_putstr() asserts that data fits in its buffer 456209100258SXin LI rework of formatting & data transfer stuff in 'ntp_control.c' 456309100258SXin LI avoids unecessary buffers and size limitations. <perlinger@ntp.org> 456409100258SXin LI [Bug 3394] Leap second deletion does not work on ntpd clients 456509100258SXin LI - fixed handling of dynamic deletion w/o leap file <perlinger@ntp.org> 456609100258SXin LI [Bug 3391] ntpd segfaults on startup due to small warmup thread stack size 456709100258SXin LI - increased mimimum stack size to 32kB <perlinger@ntp.org> 456809100258SXin LI [Bug 3367] Faulty LinuxPPS NMEA clock support in 4.2.8 <perlinger@ntp.org> 456909100258SXin LI - reverted handling of PPS kernel consumer to 4.2.6 behavior 457009100258SXin LI [Bug 3365] Updates driver40(-ja).html and miscopt.html <abe@ntp.org> 457109100258SXin LI [Bug 3358] Spurious KoD log messages in .INIT. phase. HStenn. 457209100258SXin LI [Bug 3016] wrong error position reported for bad ":config pool" 457309100258SXin LI - fixed location counter & ntpq output <perlinger@ntp.org> 457409100258SXin LI [Bug 2900] libntp build order problem. HStenn. 457509100258SXin LI [Bug 2878] Tests are cluttering up syslog <perlinger@ntp.org> 457609100258SXin LI [Bug 2737] Wrong phone number listed for USNO. ntp-bugs@bodosom.net, 457709100258SXin LI perlinger@ntp.org 457809100258SXin LI [Bug 2557] Fix Thunderbolt init. ntp-bugs@bodosom.net, perlinger@ntp. 457909100258SXin LI [Bug 948] Trustedkey config directive leaks memory. <perlinger@ntp.org> 458009100258SXin LI Use strlcpy() to copy strings, not memcpy(). HStenn. 458109100258SXin LI Typos. HStenn. 458209100258SXin LI test_ntp_scanner_LDADD needs ntpd/ntp_io.o. HStenn. 458309100258SXin LI refclock_jjy.c: Add missing "%s" to an msyslog() call. HStenn. 458409100258SXin LI Build ntpq and libntpq.a with NTP_HARD_*FLAGS. perlinger@ntp.org 458509100258SXin LI Fix trivial warnings from 'make check'. perlinger@ntp.org 458609100258SXin LI Fix bug in the override portion of the compiler hardening macro. HStenn. 458709100258SXin LI record_raw_stats(): Log entire packet. Log writes. HStenn. 458809100258SXin LI AES-128-CMAC support. BInglis, HStenn, JPerlinger. 458909100258SXin LI sntp: tweak key file logging. HStenn. 459009100258SXin LI sntp: pkt_output(): Improve debug output. HStenn. 459109100258SXin LI update-leap: updates from Paul McMath. 459209100258SXin LI When using pkg-config, report --modversion. HStenn. 459309100258SXin LI Clean up libevent configure checks. HStenn. 459409100258SXin LI sntp: show the IP of who sent us a crypto-NAK. HStenn. 459509100258SXin LI Allow .../N to specify subnet bits for IPs in ntp.keys. HStenn, JPerlinger. 459609100258SXin LI authistrustedip() - use it in more places. HStenn, JPerlinger. 459709100258SXin LI New sysstats: sys_lamport, sys_tsrounding. HStenn. 459809100258SXin LI Update ntp.keys .../N documentation. HStenn. 459909100258SXin LI Distribute testconf.yml. HStenn. 460009100258SXin LI Add DPRINTF(2,...) lines to receive() for packet drops. HStenn. 460109100258SXin LI Rename the configuration flag fifo variables. HStenn. 460209100258SXin LI Improve saveconfig output. HStenn. 460309100258SXin LI Decode restrict flags on receive() debug output. HStenn. 460409100258SXin LI Decode interface flags on receive() debug output. HStenn. 460509100258SXin LI Warn the user if deprecated "driftfile name WanderThreshold" is used. HStenn. 460609100258SXin LI Update the documentation in ntp.conf.def . HStenn. 460709100258SXin LI restrictions() must return restrict flags and ippeerlimit. HStenn. 460809100258SXin LI Update ntpq peer documentation to describe the 'p' type. HStenn. 460909100258SXin LI Rename restrict 'flags' to 'rflags. Use an enum for the values. HStenn. 461009100258SXin LI Provide dump_restricts() for debugging. HStenn. 461109100258SXin LI Use consistent 4th arg type for [gs]etsockopt. JPerlinger. 461209100258SXin LI 461309100258SXin LI* Other items: 461409100258SXin LI 461509100258SXin LI* update-leap needs the following perl modules: 461609100258SXin LI Net::SSLeay 461709100258SXin LI IO::Socket::SSL 461809100258SXin LI 461909100258SXin LI* New sysstats variables: sys_lamport, sys_tsrounding 462009100258SXin LISee them with: ntpq -c "rv 0 ss_lamport,ss_tsrounding" 462109100258SXin LIsys_lamport counts the number of observed Lamport violations, while 462209100258SXin LIsys_tsrounding counts observed timestamp rounding events. 462309100258SXin LI 462409100258SXin LI* New ntp.conf items: 462509100258SXin LI 462609100258SXin LI- restrict ... noepeer 462709100258SXin LI- restrict ... ippeerlimit N 462809100258SXin LI 462909100258SXin LIThe 'noepeer' directive will disallow all ephemeral/passive peer 463009100258SXin LIrequests. 463109100258SXin LI 463209100258SXin LIThe 'ippeerlimit' directive limits the number of time associations 463309100258SXin LIfor each IP in the designated set of addresses. This limit does not 463409100258SXin LIapply to explicitly-configured associations. A value of -1, the current 463509100258SXin LIdefault, means an unlimited number of associations may connect from a 463609100258SXin LIsingle IP. 0 means "none", etc. Ordinarily the only way multiple 463709100258SXin LIassociations would come from the same IP would be if the remote side 463809100258SXin LIwas using a proxy. But a trusted machine might become compromised, 463909100258SXin LIin which case an attacker might spin up multiple authenticated sessions 464009100258SXin LIfrom different ports. This directive should be helpful in this case. 464109100258SXin LI 464209100258SXin LI* New ntp.keys feature: Each IP in the optional list of IPs in the 4th 464309100258SXin LIfield may contain a /subnetbits specification, which identifies the 464409100258SXin LIscope of IPs that may use this key. This IP/subnet restriction can be 464509100258SXin LIused to limit the IPs that may use the key in most all situations where 464609100258SXin LIa key is used. 464709100258SXin LI-- 4648f0574f5cSXin LINTP 4.2.8p10 (Harlan Stenn <stenn@ntp.org>, 2017/03/21) 4649f0574f5cSXin LI 4650f0574f5cSXin LIFocus: Security, Bug fixes, enhancements. 4651f0574f5cSXin LI 4652f0574f5cSXin LISeverity: MEDIUM 4653f0574f5cSXin LI 4654f0574f5cSXin LIThis release fixes 5 medium-, 6 low-, and 4 informational-severity 4655f0574f5cSXin LIvulnerabilities, and provides 15 other non-security fixes and improvements: 4656f0574f5cSXin LI 4657f0574f5cSXin LI* NTP-01-016 NTP: Denial of Service via Malformed Config (Medium) 4658f0574f5cSXin LI Date Resolved: 21 Mar 2017 4659f0574f5cSXin LI References: Sec 3389 / CVE-2017-6464 / VU#325339 4660f0574f5cSXin LI Affects: All versions of NTP-4, up to but not including ntp-4.2.8p10, and 4661f0574f5cSXin LI ntp-4.3.0 up to, but not including ntp-4.3.94. 4662f0574f5cSXin LI CVSS2: MED 4.6 (AV:N/AC:H/Au:M/C:N/I:N/A:C) 4663f0574f5cSXin LI CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H 4664f0574f5cSXin LI Summary: 4665f0574f5cSXin LI A vulnerability found in the NTP server makes it possible for an 4666f0574f5cSXin LI authenticated remote user to crash ntpd via a malformed mode 4667f0574f5cSXin LI configuration directive. 4668f0574f5cSXin LI Mitigation: 4669f0574f5cSXin LI Implement BCP-38. 4670f0574f5cSXin LI Upgrade to 4.2.8p10, or later, from the NTP Project Download Page or 4671f0574f5cSXin LI the NTP Public Services Project Download Page 4672f0574f5cSXin LI Properly monitor your ntpd instances, and auto-restart 4673f0574f5cSXin LI ntpd (without -g) if it stops running. 4674f0574f5cSXin LI Credit: 4675f0574f5cSXin LI This weakness was discovered by Cure53. 4676f0574f5cSXin LI 4677f0574f5cSXin LI* NTP-01-014 NTP: Buffer Overflow in DPTS Clock (Low) 4678f0574f5cSXin LI Date Resolved: 21 Mar 2017 4679f0574f5cSXin LI References: Sec 3388 / CVE-2017-6462 / VU#325339 4680f0574f5cSXin LI 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. 4681f0574f5cSXin LI CVSS2: Low 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P) 4682f0574f5cSXin LI CVSS3: Low 1.6 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L 4683f0574f5cSXin LI Summary: 4684f0574f5cSXin LI There is a potential for a buffer overflow in the legacy Datum 4685f0574f5cSXin LI Programmable Time Server refclock driver. Here the packets are 4686f0574f5cSXin LI processed from the /dev/datum device and handled in 4687f0574f5cSXin LI datum_pts_receive(). Since an attacker would be required to 4688f0574f5cSXin LI somehow control a malicious /dev/datum device, this does not 4689f0574f5cSXin LI appear to be a practical attack and renders this issue "Low" in 4690f0574f5cSXin LI terms of severity. 4691f0574f5cSXin LI Mitigation: 4692f0574f5cSXin LI If you have a Datum reference clock installed and think somebody 4693f0574f5cSXin LI may maliciously change the device, upgrade to 4.2.8p10, or 4694f0574f5cSXin LI later, from the NTP Project Download Page or the NTP Public 4695f0574f5cSXin LI Services Project Download Page 4696f0574f5cSXin LI Properly monitor your ntpd instances, and auto-restart 4697f0574f5cSXin LI ntpd (without -g) if it stops running. 4698f0574f5cSXin LI Credit: 4699f0574f5cSXin LI This weakness was discovered by Cure53. 4700f0574f5cSXin LI 4701f0574f5cSXin LI* NTP-01-012 NTP: Authenticated DoS via Malicious Config Option (Medium) 4702f0574f5cSXin LI Date Resolved: 21 Mar 2017 4703f0574f5cSXin LI References: Sec 3387 / CVE-2017-6463 / VU#325339 4704f0574f5cSXin LI Affects: All versions of ntp, up to but not including ntp-4.2.8p10, and 4705f0574f5cSXin LI ntp-4.3.0 up to, but not including ntp-4.3.94. 4706f0574f5cSXin LI CVSS2: MED 4.6 (AV:N/AC:H/Au:M/C:N/I:N/A:C) 4707f0574f5cSXin LI CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H 4708f0574f5cSXin LI Summary: 4709f0574f5cSXin LI A vulnerability found in the NTP server allows an authenticated 4710f0574f5cSXin LI remote attacker to crash the daemon by sending an invalid setting 4711f0574f5cSXin LI via the :config directive. The unpeer option expects a number or 4712f0574f5cSXin LI an address as an argument. In case the value is "0", a 4713f0574f5cSXin LI segmentation fault occurs. 4714f0574f5cSXin LI Mitigation: 4715f0574f5cSXin LI Implement BCP-38. 4716f0574f5cSXin LI Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 4717f0574f5cSXin LI or the NTP Public Services Project Download Page 4718f0574f5cSXin LI Properly monitor your ntpd instances, and auto-restart 4719f0574f5cSXin LI ntpd (without -g) if it stops running. 4720f0574f5cSXin LI Credit: 4721f0574f5cSXin LI This weakness was discovered by Cure53. 4722f0574f5cSXin LI 4723f0574f5cSXin LI* NTP-01-011 NTP: ntpq_stripquotes() returns incorrect value (Informational) 4724f0574f5cSXin LI Date Resolved: 21 Mar 2017 4725f0574f5cSXin LI References: Sec 3386 4726f0574f5cSXin LI Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and 4727f0574f5cSXin LI ntp-4.3.0 up to, but not including ntp-4.3.94. 4728f0574f5cSXin LI CVSS2: None 0.0 (AV:N/AC:H/Au:N/C:N/I:N/A:N) 4729f0574f5cSXin LI CVSS3: None 0.0 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:N 4730f0574f5cSXin LI Summary: 4731f0574f5cSXin LI The NTP Mode 6 monitoring and control client, ntpq, uses the 4732f0574f5cSXin LI function ntpq_stripquotes() to remove quotes and escape characters 4733f0574f5cSXin LI from a given string. According to the documentation, the function 4734f0574f5cSXin LI is supposed to return the number of copied bytes but due to 4735f0574f5cSXin LI incorrect pointer usage this value is always zero. Although the 4736f0574f5cSXin LI return value of this function is never used in the code, this 4737f0574f5cSXin LI flaw could lead to a vulnerability in the future. Since relying 4738f0574f5cSXin LI on wrong return values when performing memory operations is a 4739f0574f5cSXin LI dangerous practice, it is recommended to return the correct value 4740f0574f5cSXin LI in accordance with the documentation pertinent to the code. 4741f0574f5cSXin LI Mitigation: 4742f0574f5cSXin LI Implement BCP-38. 4743f0574f5cSXin LI Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 4744f0574f5cSXin LI or the NTP Public Services Project Download Page 4745f0574f5cSXin LI Properly monitor your ntpd instances, and auto-restart 4746f0574f5cSXin LI ntpd (without -g) if it stops running. 4747f0574f5cSXin LI Credit: 4748f0574f5cSXin LI This weakness was discovered by Cure53. 4749f0574f5cSXin LI 4750f0574f5cSXin LI* NTP-01-010 NTP: ereallocarray()/eallocarray() underused (Info) 4751f0574f5cSXin LI Date Resolved: 21 Mar 2017 4752f0574f5cSXin LI References: Sec 3385 4753f0574f5cSXin LI Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and 4754f0574f5cSXin LI ntp-4.3.0 up to, but not including ntp-4.3.94. 4755f0574f5cSXin LI Summary: 4756f0574f5cSXin LI NTP makes use of several wrappers around the standard heap memory 4757f0574f5cSXin LI allocation functions that are provided by libc. This is mainly 4758f0574f5cSXin LI done to introduce additional safety checks concentrated on 4759f0574f5cSXin LI several goals. First, they seek to ensure that memory is not 4760f0574f5cSXin LI accidentally freed, secondly they verify that a correct amount 4761f0574f5cSXin LI is always allocated and, thirdly, that allocation failures are 4762f0574f5cSXin LI correctly handled. There is an additional implementation for 4763f0574f5cSXin LI scenarios where memory for a specific amount of items of the 4764f0574f5cSXin LI same size needs to be allocated. The handling can be found in 4765f0574f5cSXin LI the oreallocarray() function for which a further number-of-elements 4766f0574f5cSXin LI parameter needs to be provided. Although no considerable threat 4767f0574f5cSXin LI was identified as tied to a lack of use of this function, it is 4768f0574f5cSXin LI recommended to correctly apply oreallocarray() as a preferred 4769f0574f5cSXin LI option across all of the locations where it is possible. 4770f0574f5cSXin LI Mitigation: 4771f0574f5cSXin LI Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 4772f0574f5cSXin LI or the NTP Public Services Project Download Page 4773f0574f5cSXin LI Credit: 4774f0574f5cSXin LI This weakness was discovered by Cure53. 4775f0574f5cSXin LI 4776f0574f5cSXin LI* NTP-01-009 NTP: Privileged execution of User Library code (WINDOWS 4777f0574f5cSXin LI PPSAPI ONLY) (Low) 4778f0574f5cSXin LI Date Resolved: 21 Mar 2017 4779f0574f5cSXin LI References: Sec 3384 / CVE-2017-6455 / VU#325339 4780f0574f5cSXin LI Affects: All Windows versions of ntp-4 that use the PPSAPI, up to but 4781f0574f5cSXin LI not including ntp-4.2.8p10, and ntp-4.3.0 up to, but not 4782f0574f5cSXin LI including ntp-4.3.94. 4783f0574f5cSXin LI CVSS2: MED 3.8 (AV:L/AC:H/Au:S/C:N/I:N/A:C) 4784f0574f5cSXin LI CVSS3: MED 4.0 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H 4785f0574f5cSXin LI Summary: 4786f0574f5cSXin LI The Windows NT port has the added capability to preload DLLs 4787f0574f5cSXin LI defined in the inherited global local environment variable 4788f0574f5cSXin LI PPSAPI_DLLS. The code contained within those libraries is then 4789f0574f5cSXin LI called from the NTPD service, usually running with elevated 4790f0574f5cSXin LI privileges. Depending on how securely the machine is setup and 4791f0574f5cSXin LI configured, if ntpd is configured to use the PPSAPI under Windows 4792f0574f5cSXin LI this can easily lead to a code injection. 4793f0574f5cSXin LI Mitigation: 4794f0574f5cSXin LI Implement BCP-38. 4795f0574f5cSXin LI Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 4796f0574f5cSXin LI or the NTP Public Services Project Download Page 4797f0574f5cSXin LI Credit: 4798f0574f5cSXin LI This weakness was discovered by Cure53. 4799f0574f5cSXin LI 4800f0574f5cSXin LI* NTP-01-008 NTP: Stack Buffer Overflow from Command Line (WINDOWS 4801f0574f5cSXin LI installer ONLY) (Low) 4802f0574f5cSXin LI Date Resolved: 21 Mar 2017 4803f0574f5cSXin LI References: Sec 3383 / CVE-2017-6452 / VU#325339 4804f0574f5cSXin LI Affects: WINDOWS installer ONLY: All versions of the ntp-4 Windows 4805f0574f5cSXin LI installer, up to but not including ntp-4.2.8p10, and ntp-4.3.0 up 4806f0574f5cSXin LI to, but not including ntp-4.3.94. 4807f0574f5cSXin LI CVSS2: Low 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P) 4808f0574f5cSXin LI CVSS3: Low 1.8 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L 4809f0574f5cSXin LI Summary: 4810f0574f5cSXin LI The Windows installer for NTP calls strcat(), blindly appending 4811f0574f5cSXin LI the string passed to the stack buffer in the addSourceToRegistry() 4812f0574f5cSXin LI function. The stack buffer is 70 bytes smaller than the buffer 4813f0574f5cSXin LI in the calling main() function. Together with the initially 4814f0574f5cSXin LI copied Registry path, the combination causes a stack buffer 4815f0574f5cSXin LI overflow and effectively overwrites the stack frame. The 4816f0574f5cSXin LI passed application path is actually limited to 256 bytes by the 4817f0574f5cSXin LI operating system, but this is not sufficient to assure that the 4818f0574f5cSXin LI affected stack buffer is consistently protected against 4819f0574f5cSXin LI overflowing at all times. 4820f0574f5cSXin LI Mitigation: 4821f0574f5cSXin LI Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 4822f0574f5cSXin LI or the NTP Public Services Project Download Page 4823f0574f5cSXin LI Credit: 4824f0574f5cSXin LI This weakness was discovered by Cure53. 4825f0574f5cSXin LI 4826f0574f5cSXin LI* NTP-01-007 NTP: Data Structure terminated insufficiently (WINDOWS 4827f0574f5cSXin LI installer ONLY) (Low) 4828f0574f5cSXin LI Date Resolved: 21 Mar 2017 4829f0574f5cSXin LI References: Sec 3382 / CVE-2017-6459 / VU#325339 4830f0574f5cSXin LI Affects: WINDOWS installer ONLY: All ntp-4 versions of the Windows 4831f0574f5cSXin LI installer, up to but not including ntp-4.2.8p10, and ntp-4.3.0 4832f0574f5cSXin LI up to, but not including ntp-4.3.94. 4833f0574f5cSXin LI CVSS2: Low 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P) 4834f0574f5cSXin LI CVSS3: Low 1.8 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L 4835f0574f5cSXin LI Summary: 4836f0574f5cSXin LI The Windows installer for NTP calls strcpy() with an argument 4837f0574f5cSXin LI that specifically contains multiple null bytes. strcpy() only 4838f0574f5cSXin LI copies a single terminating null character into the target 4839f0574f5cSXin LI buffer instead of copying the required double null bytes in the 4840f0574f5cSXin LI addKeysToRegistry() function. As a consequence, a garbage 4841f0574f5cSXin LI registry entry can be created. The additional arsize parameter 4842f0574f5cSXin LI is erroneously set to contain two null bytes and the following 4843f0574f5cSXin LI call to RegSetValueEx() claims to be passing in a multi-string 4844f0574f5cSXin LI value, though this may not be true. 4845f0574f5cSXin LI Mitigation: 4846f0574f5cSXin LI Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 4847f0574f5cSXin LI or the NTP Public Services Project Download Page 4848f0574f5cSXin LI Credit: 4849f0574f5cSXin LI This weakness was discovered by Cure53. 4850f0574f5cSXin LI 4851f0574f5cSXin LI* NTP-01-006 NTP: Copious amounts of Unused Code (Informational) 4852f0574f5cSXin LI References: Sec 3381 4853f0574f5cSXin LI Summary: 4854f0574f5cSXin LI The report says: Statically included external projects 4855f0574f5cSXin LI potentially introduce several problems and the issue of having 4856f0574f5cSXin LI extensive amounts of code that is "dead" in the resulting binary 4857f0574f5cSXin LI must clearly be pointed out. The unnecessary unused code may or 4858f0574f5cSXin LI may not contain bugs and, quite possibly, might be leveraged for 4859f0574f5cSXin LI code-gadget-based branch-flow redirection exploits. Analogically, 4860f0574f5cSXin LI having source trees statically included as well means a failure 4861f0574f5cSXin LI in taking advantage of the free feature for periodical updates. 4862f0574f5cSXin LI This solution is offered by the system's Package Manager. The 4863f0574f5cSXin LI three libraries identified are libisc, libevent, and libopts. 4864f0574f5cSXin LI Resolution: 4865f0574f5cSXin LI For libisc, we already only use a portion of the original library. 4866f0574f5cSXin LI We've found and fixed bugs in the original implementation (and 4867f0574f5cSXin LI offered the patches to ISC), and plan to see what has changed 4868f0574f5cSXin LI since we last upgraded the code. libisc is generally not 4869f0574f5cSXin LI installed, and when it it we usually only see the static libisc.a 4870f0574f5cSXin LI file installed. Until we know for sure that the bugs we've found 4871f0574f5cSXin LI and fixed are fixed upstream, we're better off with the copy we 4872f0574f5cSXin LI are using. 4873f0574f5cSXin LI 4874f0574f5cSXin LI Version 1 of libevent was the only production version available 4875f0574f5cSXin LI until recently, and we've been requiring version 2 for a long time. 4876f0574f5cSXin LI But if the build system has at least version 2 of libevent 4877f0574f5cSXin LI installed, we'll use the version that is installed on the system. 4878f0574f5cSXin LI Otherwise, we provide a copy of libevent that we know works. 4879f0574f5cSXin LI 4880f0574f5cSXin LI libopts is provided by GNU AutoGen, and that library and package 4881f0574f5cSXin LI undergoes frequent API version updates. The version of autogen 4882f0574f5cSXin LI used to generate the tables for the code must match the API 4883f0574f5cSXin LI version in libopts. AutoGen can be ... difficult to build and 4884f0574f5cSXin LI install, and very few developers really need it. So we have it 4885f0574f5cSXin LI on our build and development machines, and we provide the 4886f0574f5cSXin LI specific version of the libopts code in the distribution to make 4887f0574f5cSXin LI sure that the proper API version of libopts is available. 4888f0574f5cSXin LI 4889f0574f5cSXin LI As for the point about there being code in these libraries that 4890f0574f5cSXin LI NTP doesn't use, OK. But other packages used these libraries as 4891f0574f5cSXin LI well, and it is reasonable to assume that other people are paying 4892f0574f5cSXin LI attention to security and code quality issues for the overall 4893f0574f5cSXin LI libraries. It takes significant resources to analyze and 4894f0574f5cSXin LI customize these libraries to only include what we need, and to 4895f0574f5cSXin LI date we believe the cost of this effort does not justify the benefit. 4896f0574f5cSXin LI Credit: 4897f0574f5cSXin LI This issue was discovered by Cure53. 4898f0574f5cSXin LI 4899f0574f5cSXin LI* NTP-01-005 NTP: Off-by-one in Oncore GPS Receiver (Low) 4900f0574f5cSXin LI Date Resolved: 21 Mar 2017 4901f0574f5cSXin LI References: Sec 3380 4902f0574f5cSXin LI Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and 4903f0574f5cSXin LI ntp-4.3.0 up to, but not including ntp-4.3.94. 4904f0574f5cSXin LI CVSS2: None 0.0 (AV:L/AC:H/Au:N/C:N/I:N/A:N) 4905f0574f5cSXin LI CVSS3: None 0.0 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N 4906f0574f5cSXin LI Summary: 4907f0574f5cSXin LI There is a fencepost error in a "recovery branch" of the code for 4908f0574f5cSXin LI the Oncore GPS receiver if the communication link to the ONCORE 4909f0574f5cSXin LI is weak / distorted and the decoding doesn't work. 4910f0574f5cSXin LI Mitigation: 4911f0574f5cSXin LI Upgrade to 4.2.8p10, or later, from the NTP Project Download Page or 4912f0574f5cSXin LI the NTP Public Services Project Download Page 4913f0574f5cSXin LI Properly monitor your ntpd instances, and auto-restart 4914f0574f5cSXin LI ntpd (without -g) if it stops running. 4915f0574f5cSXin LI Credit: 4916f0574f5cSXin LI This weakness was discovered by Cure53. 4917f0574f5cSXin LI 4918f0574f5cSXin LI* NTP-01-004 NTP: Potential Overflows in ctl_put() functions (Medium) 4919f0574f5cSXin LI Date Resolved: 21 Mar 2017 4920f0574f5cSXin LI References: Sec 3379 / CVE-2017-6458 / VU#325339 4921f0574f5cSXin LI Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and 4922f0574f5cSXin LI ntp-4.3.0 up to, but not including ntp-4.3.94. 4923f0574f5cSXin LI CVSS2: MED 4.6 (AV:N/AC:H/Au:M/C:N/I:N/A:C) 4924f0574f5cSXin LI CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H 4925f0574f5cSXin LI Summary: 4926f0574f5cSXin LI ntpd makes use of different wrappers around ctl_putdata() to 4927f0574f5cSXin LI create name/value ntpq (mode 6) response strings. For example, 4928f0574f5cSXin LI ctl_putstr() is usually used to send string data (variable names 4929f0574f5cSXin LI or string data). The formatting code was missing a length check 4930f0574f5cSXin LI for variable names. If somebody explicitly created any unusually 4931f0574f5cSXin LI long variable names in ntpd (longer than 200-512 bytes, depending 4932f0574f5cSXin LI on the type of variable), then if any of these variables are 4933f0574f5cSXin LI added to the response list it would overflow a buffer. 4934f0574f5cSXin LI Mitigation: 4935f0574f5cSXin LI Implement BCP-38. 4936f0574f5cSXin LI Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 4937f0574f5cSXin LI or the NTP Public Services Project Download Page 4938f0574f5cSXin LI If you don't want to upgrade, then don't setvar variable names 4939f0574f5cSXin LI longer than 200-512 bytes in your ntp.conf file. 4940f0574f5cSXin LI Properly monitor your ntpd instances, and auto-restart 4941f0574f5cSXin LI ntpd (without -g) if it stops running. 4942f0574f5cSXin LI Credit: 4943f0574f5cSXin LI This weakness was discovered by Cure53. 4944f0574f5cSXin LI 4945f0574f5cSXin LI* NTP-01-003 NTP: Improper use of snprintf() in mx4200_send() (Low) 4946f0574f5cSXin LI Date Resolved: 21 Mar 2017 4947f0574f5cSXin LI References: Sec 3378 / CVE-2017-6451 / VU#325339 4948f0574f5cSXin LI Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and 4949f0574f5cSXin LI ntp-4.3.0 up to, but not including ntp-4.3.94. 4950f0574f5cSXin LI CVSS2: LOW 0.8 (AV:L/AC:H/Au:M/C:N/I:N/A:P) 4951f0574f5cSXin LI CVSS3: LOW 1.8 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N 4952f0574f5cSXin LI Summary: 4953f0574f5cSXin LI The legacy MX4200 refclock is only built if is specifically 4954f0574f5cSXin LI enabled, and furthermore additional code changes are required to 4955f0574f5cSXin LI compile and use it. But it uses the libc functions snprintf() 4956f0574f5cSXin LI and vsnprintf() incorrectly, which can lead to an out-of-bounds 4957f0574f5cSXin LI memory write due to an improper handling of the return value of 4958f0574f5cSXin LI snprintf()/vsnprintf(). Since the return value is used as an 4959f0574f5cSXin LI iterator and it can be larger than the buffer's size, it is 4960f0574f5cSXin LI possible for the iterator to point somewhere outside of the 4961f0574f5cSXin LI allocated buffer space. This results in an out-of-bound memory 4962f0574f5cSXin LI write. This behavior can be leveraged to overwrite a saved 4963f0574f5cSXin LI instruction pointer on the stack and gain control over the 4964f0574f5cSXin LI execution flow. During testing it was not possible to identify 4965f0574f5cSXin LI any malicious usage for this vulnerability. Specifically, no 4966f0574f5cSXin LI way for an attacker to exploit this vulnerability was ultimately 4967f0574f5cSXin LI unveiled. However, it has the potential to be exploited, so the 4968f0574f5cSXin LI code should be fixed. 4969f0574f5cSXin LI Mitigation, if you have a Magnavox MX4200 refclock: 4970f0574f5cSXin LI Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 4971f0574f5cSXin LI or the NTP Public Services Project Download Page. 4972f0574f5cSXin LI Properly monitor your ntpd instances, and auto-restart 4973f0574f5cSXin LI ntpd (without -g) if it stops running. 4974f0574f5cSXin LI Credit: 4975f0574f5cSXin LI This weakness was discovered by Cure53. 4976f0574f5cSXin LI 4977f0574f5cSXin LI* NTP-01-002 NTP: Buffer Overflow in ntpq when fetching reslist from a 4978f0574f5cSXin LI malicious ntpd (Medium) 4979f0574f5cSXin LI Date Resolved: 21 Mar 2017 4980f0574f5cSXin LI References: Sec 3377 / CVE-2017-6460 / VU#325339 4981f0574f5cSXin LI Affects: All versions of ntpq, up to but not including ntp-4.2.8p10, and 4982f0574f5cSXin LI ntp-4.3.0 up to, but not including ntp-4.3.94. 4983f0574f5cSXin LI CVSS2: MED 4.9 (AV:N/AC:H/Au:S/C:N/I:N/A:C) 4984f0574f5cSXin LI CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H 4985f0574f5cSXin LI Summary: 4986f0574f5cSXin LI A stack buffer overflow in ntpq can be triggered by a malicious 4987f0574f5cSXin LI ntpd server when ntpq requests the restriction list from the server. 4988f0574f5cSXin LI This is due to a missing length check in the reslist() function. 4989f0574f5cSXin LI It occurs whenever the function parses the server's response and 4990f0574f5cSXin LI encounters a flagstr variable of an excessive length. The string 4991f0574f5cSXin LI will be copied into a fixed-size buffer, leading to an overflow on 4992f0574f5cSXin LI the function's stack-frame. Note well that this problem requires 4993f0574f5cSXin LI a malicious server, and affects ntpq, not ntpd. 4994f0574f5cSXin LI Mitigation: 4995f0574f5cSXin LI Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 4996f0574f5cSXin LI or the NTP Public Services Project Download Page 4997f0574f5cSXin LI If you can't upgrade your version of ntpq then if you want to know 4998f0574f5cSXin LI the reslist of an instance of ntpd that you do not control, 4999f0574f5cSXin LI know that if the target ntpd is malicious that it can send back 5000f0574f5cSXin LI a response that intends to crash your ntpq process. 5001f0574f5cSXin LI Credit: 5002f0574f5cSXin LI This weakness was discovered by Cure53. 5003f0574f5cSXin LI 5004f0574f5cSXin LI* NTP-01-001 NTP: Makefile does not enforce Security Flags (Informational) 5005f0574f5cSXin LI Date Resolved: 21 Mar 2017 5006f0574f5cSXin LI References: Sec 3376 5007f0574f5cSXin LI Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and 5008f0574f5cSXin LI ntp-4.3.0 up to, but not including ntp-4.3.94. 5009f0574f5cSXin LI CVSS2: N/A 5010f0574f5cSXin LI CVSS3: N/A 5011f0574f5cSXin LI Summary: 5012f0574f5cSXin LI The build process for NTP has not, by default, provided compile 5013f0574f5cSXin LI or link flags to offer "hardened" security options. Package 5014f0574f5cSXin LI maintainers have always been able to provide hardening security 5015f0574f5cSXin LI flags for their builds. As of ntp-4.2.8p10, the NTP build 5016f0574f5cSXin LI system has a way to provide OS-specific hardening flags. Please 5017f0574f5cSXin LI note that this is still not a really great solution because it 5018f0574f5cSXin LI is specific to NTP builds. It's inefficient to have every 5019f0574f5cSXin LI package supply, track and maintain this information for every 5020f0574f5cSXin LI target build. It would be much better if there was a common way 5021f0574f5cSXin LI for OSes to provide this information in a way that arbitrary 5022f0574f5cSXin LI packages could benefit from it. 5023f0574f5cSXin LI Mitigation: 5024f0574f5cSXin LI Implement BCP-38. 5025f0574f5cSXin LI Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 5026f0574f5cSXin LI or the NTP Public Services Project Download Page 5027f0574f5cSXin LI Properly monitor your ntpd instances, and auto-restart 5028f0574f5cSXin LI ntpd (without -g) if it stops running. 5029f0574f5cSXin LI Credit: 5030f0574f5cSXin LI This weakness was reported by Cure53. 5031f0574f5cSXin LI 5032f0574f5cSXin LI* 0rigin DoS (Medium) 5033f0574f5cSXin LI Date Resolved: 21 Mar 2017 5034f0574f5cSXin LI References: Sec 3361 / CVE-2016-9042 / VU#325339 5035f0574f5cSXin LI Affects: ntp-4.2.8p9 (21 Nov 2016), up to but not including ntp-4.2.8p10 5036f0574f5cSXin LI CVSS2: MED 4.9 (AV:N/AC:H/Au:N/C:N/I:N/A:C) (worst case) 5037f0574f5cSXin LI 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) 5038f0574f5cSXin LI Summary: 5039f0574f5cSXin LI An exploitable denial of service vulnerability exists in the 5040f0574f5cSXin LI origin timestamp check functionality of ntpd 4.2.8p9. A specially 5041f0574f5cSXin LI crafted unauthenticated network packet can be used to reset the 5042f0574f5cSXin LI expected origin timestamp for target peers. Legitimate replies 5043f0574f5cSXin LI from targeted peers will fail the origin timestamp check (TEST2) 5044f0574f5cSXin LI causing the reply to be dropped and creating a denial of service 5045f0574f5cSXin LI condition. This vulnerability can only be exploited if the 5046f0574f5cSXin LI attacker can spoof all of the servers. 5047f0574f5cSXin LI Mitigation: 5048f0574f5cSXin LI Implement BCP-38. 5049f0574f5cSXin LI Configure enough servers/peers that an attacker cannot target 5050f0574f5cSXin LI all of your time sources. 5051f0574f5cSXin LI Upgrade to 4.2.8p10, or later, from the NTP Project Download Page 5052f0574f5cSXin LI or the NTP Public Services Project Download Page 5053f0574f5cSXin LI Properly monitor your ntpd instances, and auto-restart 5054f0574f5cSXin LI ntpd (without -g) if it stops running. 5055f0574f5cSXin LI Credit: 5056f0574f5cSXin LI This weakness was discovered by Matthew Van Gundy of Cisco. 5057f0574f5cSXin LI 5058f0574f5cSXin LIOther fixes: 5059f0574f5cSXin LI 5060f0574f5cSXin LI* [Bug 3393] clang scan-build findings <perlinger@ntp.org> 5061f0574f5cSXin LI* [Bug 3363] Support for openssl-1.1.0 without compatibility modes 5062f0574f5cSXin LI - rework of patch set from <ntp.org@eroen.eu>. <perlinger@ntp.org> 5063f0574f5cSXin LI* [Bug 3356] Bugfix 3072 breaks multicastclient <perlinger@ntp.org> 5064f0574f5cSXin LI* [Bug 3216] libntp audio ioctl() args incorrectly cast to int 5065f0574f5cSXin LI on 4.4BSD-Lite derived platforms <perlinger@ntp.org> 5066f0574f5cSXin LI - original patch by Majdi S. Abbas 5067f0574f5cSXin LI* [Bug 3215] 'make distcheck' fails with new BK repo format <perlinger@ntp.org> 5068f0574f5cSXin LI* [Bug 3173] forking async worker: interrupted pipe I/O <perlinger@ntp.org> 5069f0574f5cSXin LI - initial patch by Christos Zoulas 5070f0574f5cSXin LI* [Bug 3139] (...) time_pps_create: Exec format error <perlinger@ntp.org> 5071f0574f5cSXin LI - move loader API from 'inline' to proper source 5072f0574f5cSXin LI - augment pathless dlls with absolute path to NTPD 5073f0574f5cSXin LI - use 'msyslog()' instead of 'printf() 'for reporting trouble 5074f0574f5cSXin LI* [Bug 3107] Incorrect Logic for Peer Event Limiting <perlinger@ntp.org> 5075f0574f5cSXin LI - applied patch by Matthew Van Gundy 5076f0574f5cSXin LI* [Bug 3065] Quiet warnings on NetBSD <perlinger@ntp.org> 5077f0574f5cSXin LI - applied some of the patches provided by Havard. Not all of them 5078f0574f5cSXin LI still match the current code base, and I did not touch libopt. 5079f0574f5cSXin LI* [Bug 3062] Change the process name of forked DNS worker <perlinger@ntp.org> 5080f0574f5cSXin LI - applied patch by Reinhard Max. See bugzilla for limitations. 5081f0574f5cSXin LI* [Bug 2923] Trap Configuration Fail <perlinger@ntp.org> 5082f0574f5cSXin LI - fixed dependency inversion from [Bug 2837] 5083f0574f5cSXin LI* [Bug 2896] Nothing happens if minsane < maxclock < minclock 5084f0574f5cSXin LI - produce ERROR log message about dysfunctional daemon. <perlinger@ntp.org> 5085f0574f5cSXin LI* [Bug 2851] allow -4/-6 on restrict line with mask <perlinger@ntp.org> 5086f0574f5cSXin LI - applied patch by Miroslav Lichvar for ntp4.2.6 compat 5087f0574f5cSXin LI* [Bug 2645] out-of-bound pointers in ctl_putsys and decode_bitflags 5088f0574f5cSXin LI - Fixed these and some more locations of this pattern. 5089f0574f5cSXin LI Probably din't get them all, though. <perlinger@ntp.org> 5090f0574f5cSXin LI* Update copyright year. 5091f0574f5cSXin LI 5092f0574f5cSXin LI-- 5093f0574f5cSXin LI(4.2.8p9-win) 2017/02/01 Released by Harlan Stenn <stenn@ntp.org> 5094f0574f5cSXin LI 5095f0574f5cSXin LI* [Bug 3144] NTP does not build without openSSL. <perlinger@ntp.org> 5096f0574f5cSXin LI - added missed changeset for automatic openssl lib detection 5097f0574f5cSXin LI - fixed some minor warning issues 5098f0574f5cSXin LI* [Bug 3095] More compatibility with openssl 1.1. <perlinger@ntp.org> 5099f0574f5cSXin LI* configure.ac cleanup. stenn@ntp.org 5100f0574f5cSXin LI* openssl configure cleanup. stenn@ntp.org 5101f0574f5cSXin LI 5102f0574f5cSXin LI-- 5103f391d6bcSXin LINTP 4.2.8p9 (Harlan Stenn <stenn@ntp.org>, 2016/11/21) 5104f391d6bcSXin LI 5105f391d6bcSXin LIFocus: Security, Bug fixes, enhancements. 5106f391d6bcSXin LI 5107f391d6bcSXin LISeverity: HIGH 5108f391d6bcSXin LI 5109f391d6bcSXin LIIn addition to bug fixes and enhancements, this release fixes the 5110f391d6bcSXin LIfollowing 1 high- (Windows only), 2 medium-, 2 medium-/low, and 5111f391d6bcSXin LI5 low-severity vulnerabilities, and provides 28 other non-security 5112f391d6bcSXin LIfixes and improvements: 5113f391d6bcSXin LI 5114f391d6bcSXin LI* Trap crash 5115f391d6bcSXin LI Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016 5116f391d6bcSXin LI References: Sec 3119 / CVE-2016-9311 / VU#633847 5117f391d6bcSXin LI Affects: ntp-4.0.90 (21 July 1999), possibly earlier, up to but not 5118f391d6bcSXin LI including 4.2.8p9, and ntp-4.3.0 up to but not including ntp-4.3.94. 5119f391d6bcSXin LI CVSS2: MED 4.9 (AV:N/AC:H/Au:N/C:N/I:N/A:C) 5120f391d6bcSXin LI CVSS3: MED 4.4 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H 5121f391d6bcSXin LI Summary: 5122f391d6bcSXin LI ntpd does not enable trap service by default. If trap service 5123f391d6bcSXin LI has been explicitly enabled, an attacker can send a specially 5124f391d6bcSXin LI crafted packet to cause a null pointer dereference that will 5125f391d6bcSXin LI crash ntpd, resulting in a denial of service. 5126f391d6bcSXin LI Mitigation: 5127f391d6bcSXin LI Implement BCP-38. 5128f391d6bcSXin LI Use "restrict default noquery ..." in your ntp.conf file. Only 5129f391d6bcSXin LI allow mode 6 queries from trusted networks and hosts. 5130f391d6bcSXin LI Upgrade to 4.2.8p9, or later, from the NTP Project Download Page 5131f391d6bcSXin LI or the NTP Public Services Project Download Page 5132f391d6bcSXin LI Properly monitor your ntpd instances, and auto-restart ntpd 5133f391d6bcSXin LI (without -g) if it stops running. 5134f391d6bcSXin LI Credit: This weakness was discovered by Matthew Van Gundy of Cisco. 5135f391d6bcSXin LI 5136f391d6bcSXin LI* Mode 6 information disclosure and DDoS vector 5137f391d6bcSXin LI Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016 5138f391d6bcSXin LI References: Sec 3118 / CVE-2016-9310 / VU#633847 5139f391d6bcSXin LI Affects: ntp-4.0.90 (21 July 1999), possibly earlier, up to but not 5140f391d6bcSXin LI including 4.2.8p9, and ntp-4.3.0 up to but not including ntp-4.3.94. 5141f391d6bcSXin LI CVSS2: MED 6.4 (AV:A/AC:L/Au:N/C:N/I:N/A:P) 5142f391d6bcSXin LI CVSS3: MED 6.5 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L 5143f391d6bcSXin LI Summary: 5144f391d6bcSXin LI An exploitable configuration modification vulnerability exists 5145f391d6bcSXin LI in the control mode (mode 6) functionality of ntpd. If, against 5146f391d6bcSXin LI long-standing BCP recommendations, "restrict default noquery ..." 5147f391d6bcSXin LI is not specified, a specially crafted control mode packet can set 5148f391d6bcSXin LI ntpd traps, providing information disclosure and DDoS 5149f391d6bcSXin LI amplification, and unset ntpd traps, disabling legitimate 5150f391d6bcSXin LI monitoring. A remote, unauthenticated, network attacker can 5151f391d6bcSXin LI trigger this vulnerability. 5152f391d6bcSXin LI Mitigation: 5153f391d6bcSXin LI Implement BCP-38. 5154f391d6bcSXin LI Use "restrict default noquery ..." in your ntp.conf file. 5155f391d6bcSXin LI Upgrade to 4.2.8p9, or later, from the NTP Project Download Page 5156f391d6bcSXin LI or the NTP Public Services Project Download Page 5157f391d6bcSXin LI Properly monitor your ntpd instances, and auto-restart ntpd 5158f391d6bcSXin LI (without -g) if it stops running. 5159f391d6bcSXin LI Credit: This weakness was discovered by Matthew Van Gundy of Cisco. 5160f391d6bcSXin LI 5161f391d6bcSXin LI* Broadcast Mode Replay Prevention DoS 5162f391d6bcSXin LI Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016 5163f391d6bcSXin LI References: Sec 3114 / CVE-2016-7427 / VU#633847 5164f391d6bcSXin LI Affects: ntp-4.2.8p6, up to but not including ntp-4.2.8p9, and 5165f391d6bcSXin LI ntp-4.3.90 up to, but not including ntp-4.3.94. 5166f391d6bcSXin LI CVSS2: LOW 3.3 (AV:A/AC:L/Au:N/C:N/I:N/A:P) 5167f391d6bcSXin LI CVSS3: MED 4.3 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L 5168f391d6bcSXin LI Summary: 5169f391d6bcSXin LI The broadcast mode of NTP is expected to only be used in a 5170f391d6bcSXin LI trusted network. If the broadcast network is accessible to an 5171f391d6bcSXin LI attacker, a potentially exploitable denial of service 5172f391d6bcSXin LI vulnerability in ntpd's broadcast mode replay prevention 5173f391d6bcSXin LI functionality can be abused. An attacker with access to the NTP 5174f391d6bcSXin LI broadcast domain can periodically inject specially crafted 5175f391d6bcSXin LI broadcast mode NTP packets into the broadcast domain which, 5176f391d6bcSXin LI while being logged by ntpd, can cause ntpd to reject broadcast 5177f391d6bcSXin LI mode packets from legitimate NTP broadcast servers. 5178f391d6bcSXin LI Mitigation: 5179f391d6bcSXin LI Implement BCP-38. 5180f391d6bcSXin LI Upgrade to 4.2.8p9, or later, from the NTP Project Download Page 5181f391d6bcSXin LI or the NTP Public Services Project Download Page 5182f391d6bcSXin LI Properly monitor your ntpd instances, and auto-restart ntpd 5183f391d6bcSXin LI (without -g) if it stops running. 5184f391d6bcSXin LI Credit: This weakness was discovered by Matthew Van Gundy of Cisco. 5185f391d6bcSXin LI 5186f391d6bcSXin LI* Broadcast Mode Poll Interval Enforcement DoS 5187f391d6bcSXin LI Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016 5188f391d6bcSXin LI References: Sec 3113 / CVE-2016-7428 / VU#633847 5189f391d6bcSXin LI Affects: ntp-4.2.8p6, up to but not including ntp-4.2.8p9, and 5190f391d6bcSXin LI ntp-4.3.90 up to, but not including ntp-4.3.94 5191f391d6bcSXin LI CVSS2: LOW 3.3 (AV:A/AC:L/Au:N/C:N/I:N/A:P) 5192f391d6bcSXin LI CVSS3: MED 4.3 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L 5193f391d6bcSXin LI Summary: 5194f391d6bcSXin LI The broadcast mode of NTP is expected to only be used in a 5195f391d6bcSXin LI trusted network. If the broadcast network is accessible to an 5196f391d6bcSXin LI attacker, a potentially exploitable denial of service 5197f391d6bcSXin LI vulnerability in ntpd's broadcast mode poll interval enforcement 5198f391d6bcSXin LI functionality can be abused. To limit abuse, ntpd restricts the 5199f391d6bcSXin LI rate at which each broadcast association will process incoming 5200f391d6bcSXin LI packets. ntpd will reject broadcast mode packets that arrive 5201f391d6bcSXin LI before the poll interval specified in the preceding broadcast 5202f391d6bcSXin LI packet expires. An attacker with access to the NTP broadcast 5203f391d6bcSXin LI domain can send specially crafted broadcast mode NTP packets to 5204f391d6bcSXin LI the broadcast domain which, while being logged by ntpd, will 5205f391d6bcSXin LI cause ntpd to reject broadcast mode packets from legitimate NTP 5206f391d6bcSXin LI broadcast servers. 5207f391d6bcSXin LI Mitigation: 5208f391d6bcSXin LI Implement BCP-38. 5209f391d6bcSXin LI Upgrade to 4.2.8p9, or later, from the NTP Project Download Page 5210f391d6bcSXin LI or the NTP Public Services Project Download Page 5211f391d6bcSXin LI Properly monitor your ntpd instances, and auto-restart ntpd 5212f391d6bcSXin LI (without -g) if it stops running. 5213f391d6bcSXin LI Credit: This weakness was discovered by Matthew Van Gundy of Cisco. 5214f391d6bcSXin LI 5215f391d6bcSXin LI* Windows: ntpd DoS by oversized UDP packet 5216f391d6bcSXin LI Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016 5217f391d6bcSXin LI References: Sec 3110 / CVE-2016-9312 / VU#633847 5218f391d6bcSXin LI Affects Windows only: ntp-4.?.?, up to but not including ntp-4.2.8p9, 5219f391d6bcSXin LI and ntp-4.3.0 up to, but not including ntp-4.3.94. 5220f391d6bcSXin LI CVSS2: HIGH 7.8 (AV:N/AC:L/Au:N/C:N/I:N/A:C) 5221f391d6bcSXin LI CVSS3: HIGH 7.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H 5222f391d6bcSXin LI Summary: 5223f391d6bcSXin LI If a vulnerable instance of ntpd on Windows receives a crafted 5224f391d6bcSXin LI malicious packet that is "too big", ntpd will stop working. 5225f391d6bcSXin LI Mitigation: 5226f391d6bcSXin LI Implement BCP-38. 5227f391d6bcSXin LI Upgrade to 4.2.8p9, or later, from the NTP Project Download Page 5228f391d6bcSXin LI or the NTP Public Services Project Download Page 5229f391d6bcSXin LI Properly monitor your ntpd instances, and auto-restart ntpd 5230f391d6bcSXin LI (without -g) if it stops running. 5231f391d6bcSXin LI Credit: This weakness was discovered by Robert Pajak of ABB. 5232f391d6bcSXin LI 5233f391d6bcSXin LI* 0rigin (zero origin) issues 5234f391d6bcSXin LI Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016 5235f391d6bcSXin LI References: Sec 3102 / CVE-2016-7431 / VU#633847 5236f391d6bcSXin LI Affects: ntp-4.2.8p8, and ntp-4.3.93. 5237f391d6bcSXin LI CVSS2: MED 5.0 (AV:N/AC:L/Au:N/C:N/I:P/A:N) 5238f391d6bcSXin LI CVSS3: MED 5.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N 5239f391d6bcSXin LI Summary: 5240f391d6bcSXin LI Zero Origin timestamp problems were fixed by Bug 2945 in 5241f391d6bcSXin LI ntp-4.2.8p6. However, subsequent timestamp validation checks 5242f391d6bcSXin LI introduced a regression in the handling of some Zero origin 5243f391d6bcSXin LI timestamp checks. 5244f391d6bcSXin LI Mitigation: 5245f391d6bcSXin LI Implement BCP-38. 5246f391d6bcSXin LI Upgrade to 4.2.8p9, or later, from the NTP Project Download Page 5247f391d6bcSXin LI or the NTP Public Services Project Download Page 5248f391d6bcSXin LI Properly monitor your ntpd instances, and auto-restart ntpd 5249f391d6bcSXin LI (without -g) if it stops running. 5250f391d6bcSXin LI Credit: This weakness was discovered by Sharon Goldberg and Aanchal 5251f391d6bcSXin LI Malhotra of Boston University. 5252f391d6bcSXin LI 5253f391d6bcSXin LI* read_mru_list() does inadequate incoming packet checks 5254f391d6bcSXin LI Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016 5255f391d6bcSXin LI References: Sec 3082 / CVE-2016-7434 / VU#633847 5256f391d6bcSXin LI Affects: ntp-4.2.7p22, up to but not including ntp-4.2.8p9, and 5257f391d6bcSXin LI ntp-4.3.0 up to, but not including ntp-4.3.94. 5258f391d6bcSXin LI CVSS2: LOW 3.8 (AV:L/AC:H/Au:S/C:N/I:N/A:C) 5259f391d6bcSXin LI CVSS3: LOW 3.8 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H 5260f391d6bcSXin LI Summary: 5261f391d6bcSXin LI If ntpd is configured to allow mrulist query requests from a 5262f391d6bcSXin LI server that sends a crafted malicious packet, ntpd will crash 5263f391d6bcSXin LI on receipt of that crafted malicious mrulist query packet. 5264f391d6bcSXin LI Mitigation: 5265f391d6bcSXin LI Only allow mrulist query packets from trusted hosts. 5266f391d6bcSXin LI Implement BCP-38. 5267f391d6bcSXin LI Upgrade to 4.2.8p9, or later, from the NTP Project Download Page 5268f391d6bcSXin LI or the NTP Public Services Project Download Page 5269f391d6bcSXin LI Properly monitor your ntpd instances, and auto-restart ntpd 5270f391d6bcSXin LI (without -g) if it stops running. 5271f391d6bcSXin LI Credit: This weakness was discovered by Magnus Stubman. 5272f391d6bcSXin LI 5273f391d6bcSXin LI* Attack on interface selection 5274f391d6bcSXin LI Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016 5275f391d6bcSXin LI References: Sec 3072 / CVE-2016-7429 / VU#633847 5276f391d6bcSXin LI Affects: ntp-4.2.7p385, up to but not including ntp-4.2.8p9, and 5277f391d6bcSXin LI ntp-4.3.0 up to, but not including ntp-4.3.94 5278f391d6bcSXin LI CVSS2: LOW 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P) 5279f391d6bcSXin LI CVSS3: LOW 1.6 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L 5280f391d6bcSXin LI Summary: 5281f391d6bcSXin LI When ntpd receives a server response on a socket that corresponds 5282f391d6bcSXin LI to a different interface than was used for the request, the peer 5283f391d6bcSXin LI structure is updated to use the interface for new requests. If 5284f391d6bcSXin LI ntpd is running on a host with multiple interfaces in separate 5285f391d6bcSXin LI networks and the operating system doesn't check source address in 5286f391d6bcSXin LI received packets (e.g. rp_filter on Linux is set to 0), an 5287f391d6bcSXin LI attacker that knows the address of the source can send a packet 5288f391d6bcSXin LI with spoofed source address which will cause ntpd to select wrong 5289f391d6bcSXin LI interface for the source and prevent it from sending new requests 5290f391d6bcSXin LI until the list of interfaces is refreshed, which happens on 5291f391d6bcSXin LI routing changes or every 5 minutes by default. If the attack is 5292f391d6bcSXin LI repeated often enough (once per second), ntpd will not be able to 5293f391d6bcSXin LI synchronize with the source. 5294f391d6bcSXin LI Mitigation: 5295f391d6bcSXin LI Implement BCP-38. 5296f391d6bcSXin LI Upgrade to 4.2.8p9, or later, from the NTP Project Download Page 5297f391d6bcSXin LI or the NTP Public Services Project Download Page 5298f391d6bcSXin LI If you are going to configure your OS to disable source address 5299f391d6bcSXin LI checks, also configure your firewall configuration to control 5300f391d6bcSXin LI what interfaces can receive packets from what networks. 5301f391d6bcSXin LI Properly monitor your ntpd instances, and auto-restart ntpd 5302f391d6bcSXin LI (without -g) if it stops running. 5303f391d6bcSXin LI Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 5304f391d6bcSXin LI 5305f391d6bcSXin LI* Client rate limiting and server responses 5306f391d6bcSXin LI Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016 5307f391d6bcSXin LI References: Sec 3071 / CVE-2016-7426 / VU#633847 5308f391d6bcSXin LI Affects: ntp-4.2.5p203, up to but not including ntp-4.2.8p9, and 5309f391d6bcSXin LI ntp-4.3.0 up to, but not including ntp-4.3.94 5310f391d6bcSXin LI CVSS2: LOW 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P) 5311f391d6bcSXin LI CVSS3: LOW 1.6 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L 5312f391d6bcSXin LI Summary: 5313f391d6bcSXin LI When ntpd is configured with rate limiting for all associations 5314f391d6bcSXin LI (restrict default limited in ntp.conf), the limits are applied 5315f391d6bcSXin LI also to responses received from its configured sources. An 5316f391d6bcSXin LI attacker who knows the sources (e.g., from an IPv4 refid in 5317f391d6bcSXin LI server response) and knows the system is (mis)configured in this 5318f391d6bcSXin LI way can periodically send packets with spoofed source address to 5319f391d6bcSXin LI keep the rate limiting activated and prevent ntpd from accepting 5320f391d6bcSXin LI valid responses from its sources. 5321f391d6bcSXin LI 5322f391d6bcSXin LI While this blanket rate limiting can be useful to prevent 5323f391d6bcSXin LI brute-force attacks on the origin timestamp, it allows this DoS 5324f391d6bcSXin LI attack. Similarly, it allows the attacker to prevent mobilization 5325f391d6bcSXin LI of ephemeral associations. 5326f391d6bcSXin LI Mitigation: 5327f391d6bcSXin LI Implement BCP-38. 5328f391d6bcSXin LI Upgrade to 4.2.8p9, or later, from the NTP Project Download Page 5329f391d6bcSXin LI or the NTP Public Services Project Download Page 5330f391d6bcSXin LI Properly monitor your ntpd instances, and auto-restart ntpd 5331f391d6bcSXin LI (without -g) if it stops running. 5332f391d6bcSXin LI Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 5333f391d6bcSXin LI 5334f391d6bcSXin LI* Fix for bug 2085 broke initial sync calculations 5335f391d6bcSXin LI Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016 5336f391d6bcSXin LI References: Sec 3067 / CVE-2016-7433 / VU#633847 5337f391d6bcSXin LI Affects: ntp-4.2.7p385, up to but not including ntp-4.2.8p9, and 5338f391d6bcSXin LI ntp-4.3.0 up to, but not including ntp-4.3.94. But the 5339f391d6bcSXin LI root-distance calculation in general is incorrect in all versions 5340f391d6bcSXin LI of ntp-4 until this release. 5341f391d6bcSXin LI CVSS2: LOW 1.2 (AV:L/AC:H/Au:N/C:N/I:N/A:P) 5342f391d6bcSXin LI CVSS3: LOW 1.6 CVSS:3.0/AV:P/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:L 5343f391d6bcSXin LI Summary: 5344f391d6bcSXin LI Bug 2085 described a condition where the root delay was included 5345f391d6bcSXin LI twice, causing the jitter value to be higher than expected. Due 5346f391d6bcSXin LI to a misinterpretation of a small-print variable in The Book, the 5347f391d6bcSXin LI fix for this problem was incorrect, resulting in a root distance 5348f391d6bcSXin LI that did not include the peer dispersion. The calculations and 5349f391d6bcSXin LI formulae have been reviewed and reconciled, and the code has been 5350f391d6bcSXin LI updated accordingly. 5351f391d6bcSXin LI Mitigation: 5352f391d6bcSXin LI Upgrade to 4.2.8p9, or later, from the NTP Project Download Page 5353f391d6bcSXin LI or the NTP Public Services Project Download Page 5354f391d6bcSXin LI Properly monitor your ntpd instances, and auto-restart ntpd 5355f391d6bcSXin LI (without -g) if it stops running. 5356f391d6bcSXin LI Credit: This weakness was discovered independently by Brian Utterback of 5357f391d6bcSXin LI Oracle, and Sharon Goldberg and Aanchal Malhotra of Boston University. 5358f391d6bcSXin LI 5359f391d6bcSXin LIOther fixes: 5360f391d6bcSXin LI 5361f391d6bcSXin LI* [Bug 3142] bug in netmask prefix length detection <perlinger@ntp.org> 5362f391d6bcSXin LI* [Bug 3138] gpsdjson refclock should honor fudgetime1. stenn@ntp.org 5363f391d6bcSXin LI* [Bug 3129] Unknown hosts can put resolver thread into a hard loop 5364f391d6bcSXin LI - moved retry decision where it belongs. <perlinger@ntp.org> 5365f391d6bcSXin LI* [Bug 3125] NTPD doesn't fully start when ntp.conf entries are out of order 5366f391d6bcSXin LI using the loopback-ppsapi-provider.dll <perlinger@ntp.org> 5367f391d6bcSXin LI* [Bug 3116] unit tests for NTP time stamp expansion. <perlinger@ntp.org> 5368f391d6bcSXin LI* [Bug 3100] ntpq can't retrieve daemon_version <perlinger@ntp.org> 5369f391d6bcSXin LI - fixed extended sysvar lookup (bug introduced with bug 3008 fix) 5370f391d6bcSXin LI* [Bug 3095] Compatibility with openssl 1.1 <perlinger@ntp.org> 5371f391d6bcSXin LI - applied patches by Kurt Roeckx <kurt@roeckx.be> to source 5372f391d6bcSXin LI - added shim layer for SSL API calls with issues (both directions) 5373f391d6bcSXin LI* [Bug 3089] Serial Parser does not work anymore for hopfser like device 5374f391d6bcSXin LI - simplified / refactored hex-decoding in driver. <perlinger@ntp.org> 5375f391d6bcSXin LI* [Bug 3084] update-leap mis-parses the leapfile name. HStenn. 5376f391d6bcSXin LI* [Bug 3068] Linker warnings when building on Solaris. perlinger@ntp.org 5377f391d6bcSXin LI - applied patch thanks to Andrew Stormont <andyjstormont@gmail.com> 5378f391d6bcSXin LI* [Bug 3067] Root distance calculation needs improvement. HStenn 5379f391d6bcSXin LI* [Bug 3066] NMEA clock ignores pps. perlinger@ntp.org 5380f391d6bcSXin LI - PPS-HACK works again. 5381f391d6bcSXin LI* [Bug 3059] Potential buffer overrun from oversized hash <perlinger@ntp.org> 5382f391d6bcSXin LI - applied patch by Brian Utterback <brian.utterback@oracle.com> 5383f391d6bcSXin LI* [Bug 3053] ntp_loopfilter.c frequency calc precedence error. Sarah White. 5384f391d6bcSXin LI* [Bug 3050] Fix for bug #2960 causes [...] spurious error message. 5385f391d6bcSXin LI <perlinger@ntp.org> 5386f391d6bcSXin LI - patches by Reinhard Max <max@suse.com> and Havard Eidnes <he@uninett.no> 5387f391d6bcSXin LI* [Bug 3047] Fix refclock_jjy C-DEX JST2000. abe@ntp.org 5388f391d6bcSXin LI - Patch provided by Kuramatsu. 5389f391d6bcSXin LI* [Bug 3021] unity_fixture.c needs pragma weak <perlinger@ntp.org> 5390f391d6bcSXin LI - removed unnecessary & harmful decls of 'setUp()' & 'tearDown()' 5391f391d6bcSXin LI* [Bug 3019] Windows: ERROR_HOST_UNREACHABLE block packet processing. DMayer 5392f391d6bcSXin LI* [Bug 2998] sntp/tests/packetProcessing.c broken without openssl. JPerlinger 5393f391d6bcSXin LI* [Bug 2961] sntp/tests/packetProcessing.c assumes AUTOKEY. HStenn. 5394f391d6bcSXin LI* [Bug 2959] refclock_jupiter: gps week correction <perlinger@ntp.org> 5395f391d6bcSXin LI - fixed GPS week expansion to work based on build date. Special thanks 5396f391d6bcSXin LI to Craig Leres for initial patch and testing. 5397f391d6bcSXin LI* [Bug 2951] ntpd tests fail: multiple definition of `send_via_ntp_signd' 5398f391d6bcSXin LI - fixed Makefile.am <perlinger@ntp.org> 5399f391d6bcSXin LI* [Bug 2689] ATOM driver processes last PPS pulse at startup, 5400f391d6bcSXin LI even if it is very old <perlinger@ntp.org> 5401f391d6bcSXin LI - make sure PPS source is alive before processing samples 5402f391d6bcSXin LI - improve stability close to the 500ms phase jump (phase gate) 5403f391d6bcSXin LI* Fix typos in include/ntp.h. 5404f391d6bcSXin LI* Shim X509_get_signature_nid() if needed 5405f391d6bcSXin LI* git author attribution cleanup 5406f391d6bcSXin LI* bk ignore file cleanup 5407f391d6bcSXin LI* remove locks in Windows IO, use rpc-like thread synchronisation instead 5408f391d6bcSXin LI 5409f391d6bcSXin LI--- 5410e27abb66SXin LINTP 4.2.8p8 (Harlan Stenn <stenn@ntp.org>, 2016/06/02) 5411e27abb66SXin LI 5412e27abb66SXin LIFocus: Security, Bug fixes, enhancements. 5413e27abb66SXin LI 5414e27abb66SXin LISeverity: HIGH 5415e27abb66SXin LI 5416e27abb66SXin LIIn addition to bug fixes and enhancements, this release fixes the 5417e27abb66SXin LIfollowing 1 high- and 4 low-severity vulnerabilities: 5418e27abb66SXin LI 5419e27abb66SXin LI* CRYPTO_NAK crash 5420e27abb66SXin LI Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016 5421e27abb66SXin LI References: Sec 3046 / CVE-2016-4957 / VU#321640 5422e27abb66SXin LI Affects: ntp-4.2.8p7, and ntp-4.3.92. 5423e27abb66SXin LI CVSS2: HIGH 7.8 (AV:N/AC:L/Au:N/C:N/I:N/A:C) 5424e27abb66SXin LI CVSS3: HIGH 7.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H 5425e27abb66SXin LI Summary: The fix for Sec 3007 in ntp-4.2.8p7 contained a bug that 5426e27abb66SXin LI could cause ntpd to crash. 5427e27abb66SXin LI Mitigation: 5428e27abb66SXin LI Implement BCP-38. 5429e27abb66SXin LI Upgrade to 4.2.8p8, or later, from the NTP Project Download Page 5430e27abb66SXin LI or the NTP Public Services Project Download Page 5431e27abb66SXin LI If you cannot upgrade from 4.2.8p7, the only other alternatives 5432e27abb66SXin LI are to patch your code or filter CRYPTO_NAK packets. 5433e27abb66SXin LI Properly monitor your ntpd instances, and auto-restart ntpd 5434e27abb66SXin LI (without -g) if it stops running. 5435e27abb66SXin LI Credit: This weakness was discovered by Nicolas Edet of Cisco. 5436e27abb66SXin LI 5437e27abb66SXin LI* Bad authentication demobilizes ephemeral associations 5438e27abb66SXin LI Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016 5439e27abb66SXin LI References: Sec 3045 / CVE-2016-4953 / VU#321640 5440e27abb66SXin LI Affects: ntp-4, up to but not including ntp-4.2.8p8, and 5441e27abb66SXin LI ntp-4.3.0 up to, but not including ntp-4.3.93. 5442e27abb66SXin LI CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P) 5443e27abb66SXin LI CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L 5444e27abb66SXin LI Summary: An attacker who knows the origin timestamp and can send a 5445e27abb66SXin LI spoofed packet containing a CRYPTO-NAK to an ephemeral peer 5446e27abb66SXin LI target before any other response is sent can demobilize that 5447e27abb66SXin LI association. 5448e27abb66SXin LI Mitigation: 5449e27abb66SXin LI Implement BCP-38. 5450e27abb66SXin LI Upgrade to 4.2.8p8, or later, from the NTP Project Download Page 5451e27abb66SXin LI or the NTP Public Services Project Download Page 5452e27abb66SXin LI Properly monitor your ntpd instances. 5453e27abb66SXin LI Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 5454e27abb66SXin LI 5455e27abb66SXin LI* Processing spoofed server packets 5456e27abb66SXin LI Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016 5457e27abb66SXin LI References: Sec 3044 / CVE-2016-4954 / VU#321640 5458e27abb66SXin LI Affects: ntp-4, up to but not including ntp-4.2.8p8, and 5459e27abb66SXin LI ntp-4.3.0 up to, but not including ntp-4.3.93. 5460e27abb66SXin LI CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P) 5461e27abb66SXin LI CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L 5462e27abb66SXin LI Summary: An attacker who is able to spoof packets with correct origin 5463e27abb66SXin LI timestamps from enough servers before the expected response 5464e27abb66SXin LI packets arrive at the target machine can affect some peer 5465e27abb66SXin LI variables and, for example, cause a false leap indication to be set. 5466e27abb66SXin LI Mitigation: 5467e27abb66SXin LI Implement BCP-38. 5468e27abb66SXin LI Upgrade to 4.2.8p8, or later, from the NTP Project Download Page 5469e27abb66SXin LI or the NTP Public Services Project Download Page 5470e27abb66SXin LI Properly monitor your ntpd instances. 5471e27abb66SXin LI Credit: This weakness was discovered by Jakub Prokes of Red Hat. 5472e27abb66SXin LI 5473e27abb66SXin LI* Autokey association reset 5474e27abb66SXin LI Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016 5475e27abb66SXin LI References: Sec 3043 / CVE-2016-4955 / VU#321640 5476e27abb66SXin LI Affects: ntp-4, up to but not including ntp-4.2.8p8, and 5477e27abb66SXin LI ntp-4.3.0 up to, but not including ntp-4.3.93. 5478e27abb66SXin LI CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P) 5479e27abb66SXin LI CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L 5480e27abb66SXin LI Summary: An attacker who is able to spoof a packet with a correct 5481e27abb66SXin LI origin timestamp before the expected response packet arrives at 5482e27abb66SXin LI the target machine can send a CRYPTO_NAK or a bad MAC and cause 5483e27abb66SXin LI the association's peer variables to be cleared. If this can be 5484e27abb66SXin LI done often enough, it will prevent that association from working. 5485e27abb66SXin LI Mitigation: 5486e27abb66SXin LI Implement BCP-38. 5487e27abb66SXin LI Upgrade to 4.2.8p8, or later, from the NTP Project Download Page 5488e27abb66SXin LI or the NTP Public Services Project Download Page 5489e27abb66SXin LI Properly monitor your ntpd instances. 5490e27abb66SXin LI Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 5491e27abb66SXin LI 5492e27abb66SXin LI* Broadcast interleave 5493e27abb66SXin LI Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016 5494e27abb66SXin LI References: Sec 3042 / CVE-2016-4956 / VU#321640 5495e27abb66SXin LI Affects: ntp-4, up to but not including ntp-4.2.8p8, and 5496e27abb66SXin LI ntp-4.3.0 up to, but not including ntp-4.3.93. 5497e27abb66SXin LI CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P) 5498e27abb66SXin LI CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L 5499e27abb66SXin LI Summary: The fix for NtpBug2978 does not cover broadcast associations, 5500e27abb66SXin LI so broadcast clients can be triggered to flip into interleave mode. 5501e27abb66SXin LI Mitigation: 5502e27abb66SXin LI Implement BCP-38. 5503e27abb66SXin LI Upgrade to 4.2.8p8, or later, from the NTP Project Download Page 5504e27abb66SXin LI or the NTP Public Services Project Download Page 5505e27abb66SXin LI Properly monitor your ntpd instances. 5506e27abb66SXin LI Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 5507e27abb66SXin LI 5508e27abb66SXin LIOther fixes: 5509e27abb66SXin LI* [Bug 3038] NTP fails to build in VS2015. perlinger@ntp.org 5510e27abb66SXin LI - provide build environment 5511e27abb66SXin LI - 'wint_t' and 'struct timespec' defined by VS2015 5512e27abb66SXin LI - fixed print()/scanf() format issues 5513e27abb66SXin LI* [Bug 3052] Add a .gitignore file. Edmund Wong. 5514e27abb66SXin LI* [Bug 3054] miscopt.html documents the allan intercept in seconds. SWhite. 5515e27abb66SXin LI* [Bug 3058] fetch_timestamp() mishandles 64-bit alignment. Brian Utterback, 5516e27abb66SXin LI JPerlinger, HStenn. 5517e27abb66SXin LI* Fix typo in ntp-wait and plot_summary. HStenn. 5518e27abb66SXin LI* Make sure we have an "author" file for git imports. HStenn. 5519e27abb66SXin LI* Update the sntp problem tests for MacOS. HStenn. 5520e27abb66SXin LI 5521e27abb66SXin LI--- 55224990d495SXin LINTP 4.2.8p7 (Harlan Stenn <stenn@ntp.org>, 2016/04/26) 55233311ff84SXin LI 55244990d495SXin LIFocus: Security, Bug fixes, enhancements. 55254990d495SXin LI 55264990d495SXin LISeverity: MEDIUM 55274990d495SXin LI 55284990d495SXin LIWhen building NTP from source, there is a new configure option 55294990d495SXin LIavailable, --enable-dynamic-interleave. More information on this below. 55304990d495SXin LI 55314990d495SXin LIAlso note that ntp-4.2.8p7 logs more "unexpected events" than previous 55324990d495SXin LIversions of ntp. These events have almost certainly happened in the 55334990d495SXin LIpast, it's just that they were silently counted and not logged. With 55344990d495SXin LIthe increasing awareness around security, we feel it's better to clearly 55354990d495SXin LIlog these events to help detect abusive behavior. This increased 55364990d495SXin LIlogging can also help detect other problems, too. 55374990d495SXin LI 55384990d495SXin LIIn addition to bug fixes and enhancements, this release fixes the 55394990d495SXin LIfollowing 9 low- and medium-severity vulnerabilities: 55404990d495SXin LI 55414990d495SXin LI* Improve NTP security against buffer comparison timing attacks, 55424990d495SXin LI AKA: authdecrypt-timing 55434990d495SXin LI Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 55444990d495SXin LI References: Sec 2879 / CVE-2016-1550 55454990d495SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p7, and 55464990d495SXin LI 4.3.0 up to, but not including 4.3.92 55474990d495SXin LI CVSSv2: LOW 2.6 - (AV:L/AC:H/Au:N/C:P/I:P/A:N) 55484990d495SXin LI CVSSv3: MED 4.0 - CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N 55494990d495SXin LI Summary: Packet authentication tests have been performed using 55504990d495SXin LI memcmp() or possibly bcmp(), and it is potentially possible 55514990d495SXin LI for a local or perhaps LAN-based attacker to send a packet with 55524990d495SXin LI an authentication payload and indirectly observe how much of 55534990d495SXin LI the digest has matched. 55544990d495SXin LI Mitigation: 55554990d495SXin LI Upgrade to 4.2.8p7, or later, from the NTP Project Download Page 55564990d495SXin LI or the NTP Public Services Project Download Page. 55574990d495SXin LI Properly monitor your ntpd instances. 55584990d495SXin LI Credit: This weakness was discovered independently by Loganaden 55594990d495SXin LI Velvindron, and Matthew Van Gundy and Stephen Gray of Cisco ASIG. 55604990d495SXin LI 55614990d495SXin LI* Zero origin timestamp bypass: Additional KoD checks. 55624990d495SXin LI References: Sec 2945 / Sec 2901 / CVE-2015-8138 55634990d495SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p7, 55644990d495SXin LI Summary: Improvements to the fixes incorporated in t 4.2.8p6 and 4.3.92. 55654990d495SXin LI 55664990d495SXin LI* peer associations were broken by the fix for NtpBug2899 55674990d495SXin LI Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 55684990d495SXin LI References: Sec 2952 / CVE-2015-7704 55694990d495SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p7, and 55704990d495SXin LI 4.3.0 up to, but not including 4.3.92 55714990d495SXin LI CVSSv2: MED 4.3 - (AV:N/AC:M/Au:N/C:N/I:N/A:P) 55724990d495SXin LI Summary: The fix for NtpBug2952 in ntp-4.2.8p5 to address broken peer 55734990d495SXin LI associations did not address all of the issues. 55744990d495SXin LI Mitigation: 55754990d495SXin LI Implement BCP-38. 55764990d495SXin LI Upgrade to 4.2.8p7, or later, from the NTP Project Download Page 55774990d495SXin LI or the NTP Public Services Project Download Page 55784990d495SXin LI If you can't upgrade, use "server" associations instead of 55794990d495SXin LI "peer" associations. 55804990d495SXin LI Monitor your ntpd instances. 55814990d495SXin LI Credit: This problem was discovered by Michael Tatarinov. 55824990d495SXin LI 55834990d495SXin LI* Validate crypto-NAKs, AKA: CRYPTO-NAK DoS 55844990d495SXin LI Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 55854990d495SXin LI References: Sec 3007 / CVE-2016-1547 / VU#718152 55864990d495SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p7, and 55874990d495SXin LI 4.3.0 up to, but not including 4.3.92 55884990d495SXin LI CVSS2: MED 4.3 - (AV:N/AC:M/Au:N/C:N/I:N/A:P) 55894990d495SXin LI CVSS3: MED 3.7 - CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L 55904990d495SXin LI Summary: For ntp-4 versions up to but not including ntp-4.2.8p7, an 55914990d495SXin LI off-path attacker can cause a preemptable client association to 55924990d495SXin LI be demobilized by sending a crypto NAK packet to a victim client 55934990d495SXin LI with a spoofed source address of an existing associated peer. 55944990d495SXin LI This is true even if authentication is enabled. 55954990d495SXin LI 55964990d495SXin LI Furthermore, if the attacker keeps sending crypto NAK packets, 55974990d495SXin LI for example one every second, the victim never has a chance to 55984990d495SXin LI reestablish the association and synchronize time with that 55994990d495SXin LI legitimate server. 56004990d495SXin LI 56014990d495SXin LI For ntp-4.2.8 thru ntp-4.2.8p6 there is less risk because more 56024990d495SXin LI stringent checks are performed on incoming packets, but there 56034990d495SXin LI are still ways to exploit this vulnerability in versions before 56044990d495SXin LI ntp-4.2.8p7. 56054990d495SXin LI Mitigation: 56064990d495SXin LI Implement BCP-38. 56074990d495SXin LI Upgrade to 4.2.8p7, or later, from the NTP Project Download Page 56084990d495SXin LI or the NTP Public Services Project Download Page 560909100258SXin LI Properly monitor your ntpd instances 56104990d495SXin LI Credit: This weakness was discovered by Stephen Gray and 56114990d495SXin LI Matthew Van Gundy of Cisco ASIG. 56124990d495SXin LI 56134990d495SXin LI* ctl_getitem() return value not always checked 56144990d495SXin LI Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 56154990d495SXin LI References: Sec 3008 / CVE-2016-2519 56164990d495SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p7, and 56174990d495SXin LI 4.3.0 up to, but not including 4.3.92 56184990d495SXin LI CVSSv2: MED 4.9 - (AV:N/AC:H/Au:S/C:N/I:N/A:C) 56194990d495SXin LI CVSSv3: MED 4.2 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H 56204990d495SXin LI Summary: ntpq and ntpdc can be used to store and retrieve information 56214990d495SXin LI in ntpd. It is possible to store a data value that is larger 56224990d495SXin LI than the size of the buffer that the ctl_getitem() function of 56234990d495SXin LI ntpd uses to report the return value. If the length of the 56244990d495SXin LI requested data value returned by ctl_getitem() is too large, 56254990d495SXin LI the value NULL is returned instead. There are 2 cases where the 56264990d495SXin LI return value from ctl_getitem() was not directly checked to make 56274990d495SXin LI sure it's not NULL, but there are subsequent INSIST() checks 56284990d495SXin LI that make sure the return value is not NULL. There are no data 56294990d495SXin LI values ordinarily stored in ntpd that would exceed this buffer 56304990d495SXin LI length. But if one has permission to store values and one stores 56314990d495SXin LI a value that is "too large", then ntpd will abort if an attempt 56324990d495SXin LI is made to read that oversized value. 56334990d495SXin LI Mitigation: 56344990d495SXin LI Implement BCP-38. 56354990d495SXin LI Upgrade to 4.2.8p7, or later, from the NTP Project Download Page 56364990d495SXin LI or the NTP Public Services Project Download Page 56374990d495SXin LI Properly monitor your ntpd instances. 56384990d495SXin LI Credit: This weakness was discovered by Yihan Lian of the Cloud 56394990d495SXin LI Security Team, Qihoo 360. 56404990d495SXin LI 56414990d495SXin LI* Crafted addpeer with hmode > 7 causes array wraparound with MATCH_ASSOC 56424990d495SXin LI Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 56434990d495SXin LI References: Sec 3009 / CVE-2016-2518 / VU#718152 56444990d495SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p7, and 56454990d495SXin LI 4.3.0 up to, but not including 4.3.92 56464990d495SXin LI CVSS2: LOW 2.1 - (AV:N/AC:H/Au:S/C:N/I:N/A:P) 56474990d495SXin LI CVSS3: LOW 2.0 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L 56484990d495SXin LI Summary: Using a crafted packet to create a peer association with 56494990d495SXin LI hmode > 7 causes the MATCH_ASSOC() lookup to make an 56504990d495SXin LI out-of-bounds reference. 56514990d495SXin LI Mitigation: 56524990d495SXin LI Implement BCP-38. 56534990d495SXin LI Upgrade to 4.2.8p7, or later, from the NTP Project Download Page 56544990d495SXin LI or the NTP Public Services Project Download Page 56554990d495SXin LI Properly monitor your ntpd instances 56564990d495SXin LI Credit: This weakness was discovered by Yihan Lian of the Cloud 56574990d495SXin LI Security Team, Qihoo 360. 56584990d495SXin LI 56594990d495SXin LI* remote configuration trustedkey/requestkey/controlkey values are not 56604990d495SXin LI properly validated 56614990d495SXin LI Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 56624990d495SXin LI References: Sec 3010 / CVE-2016-2517 / VU#718152 56634990d495SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p7, and 56644990d495SXin LI 4.3.0 up to, but not including 4.3.92 56654990d495SXin LI CVSS2: MED 4.9 - (AV:N/AC:H/Au:S/C:N/I:N/A:C) 56664990d495SXin LI CVSS3: MED 4.2 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H 56674990d495SXin LI Summary: If ntpd was expressly configured to allow for remote 56684990d495SXin LI configuration, a malicious user who knows the controlkey for 56694990d495SXin LI ntpq or the requestkey for ntpdc (if mode7 is expressly enabled) 56704990d495SXin LI can create a session with ntpd and then send a crafted packet to 56714990d495SXin LI ntpd that will change the value of the trustedkey, controlkey, 56724990d495SXin LI or requestkey to a value that will prevent any subsequent 56734990d495SXin LI authentication with ntpd until ntpd is restarted. 56744990d495SXin LI Mitigation: 56754990d495SXin LI Implement BCP-38. 56764990d495SXin LI Upgrade to 4.2.8p7, or later, from the NTP Project Download Page 56774990d495SXin LI or the NTP Public Services Project Download Page 567809100258SXin LI Properly monitor your ntpd instances 56794990d495SXin LI Credit: This weakness was discovered by Yihan Lian of the Cloud 56804990d495SXin LI Security Team, Qihoo 360. 56814990d495SXin LI 56824990d495SXin LI* Duplicate IPs on unconfig directives will cause an assertion botch in ntpd 56834990d495SXin LI Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 56844990d495SXin LI References: Sec 3011 / CVE-2016-2516 / VU#718152 56854990d495SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p7, and 56864990d495SXin LI 4.3.0 up to, but not including 4.3.92 56874990d495SXin LI CVSS2: MED 6.3 - (AV:N/AC:M/Au:S/C:N/I:N/A:C) 56884990d495SXin LI CVSS3: MED 4.2 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H 56894990d495SXin LI Summary: If ntpd was expressly configured to allow for remote 56904990d495SXin LI configuration, a malicious user who knows the controlkey for 56914990d495SXin LI ntpq or the requestkey for ntpdc (if mode7 is expressly enabled) 56924990d495SXin LI can create a session with ntpd and if an existing association is 56934990d495SXin LI unconfigured using the same IP twice on the unconfig directive 56944990d495SXin LI line, ntpd will abort. 56954990d495SXin LI Mitigation: 56964990d495SXin LI Implement BCP-38. 56974990d495SXin LI Upgrade to 4.2.8p7, or later, from the NTP Project Download Page 56984990d495SXin LI or the NTP Public Services Project Download Page 56994990d495SXin LI Properly monitor your ntpd instances 57004990d495SXin LI Credit: This weakness was discovered by Yihan Lian of the Cloud 57014990d495SXin LI Security Team, Qihoo 360. 57024990d495SXin LI 57034990d495SXin LI* Refclock impersonation vulnerability 57044990d495SXin LI Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 57054990d495SXin LI References: Sec 3020 / CVE-2016-1551 57064990d495SXin LI Affects: On a very limited number of OSes, all NTP releases up to but 57074990d495SXin LI not including 4.2.8p7, and 4.3.0 up to but not including 4.3.92. 57084990d495SXin LI By "very limited number of OSes" we mean no general-purpose OSes 57094990d495SXin LI have yet been identified that have this vulnerability. 57104990d495SXin LI CVSSv2: LOW 2.6 - (AV:N/AC:H/Au:N/C:N/I:P/A:N) 57114990d495SXin LI CVSSv3: LOW 3.7 - CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N 57124990d495SXin LI Summary: While most OSes implement martian packet filtering in their 57134990d495SXin LI network stack, at least regarding 127.0.0.0/8, some will allow 57144990d495SXin LI packets claiming to be from 127.0.0.0/8 that arrive over a 57154990d495SXin LI physical network. On these OSes, if ntpd is configured to use a 57164990d495SXin LI reference clock an attacker can inject packets over the network 57174990d495SXin LI that look like they are coming from that reference clock. 57184990d495SXin LI Mitigation: 57194990d495SXin LI Implement martian packet filtering and BCP-38. 57204990d495SXin LI Configure ntpd to use an adequate number of time sources. 57214990d495SXin LI Upgrade to 4.2.8p7, or later, from the NTP Project Download Page 57224990d495SXin LI or the NTP Public Services Project Download Page 57234990d495SXin LI If you are unable to upgrade and if you are running an OS that 57244990d495SXin LI has this vulnerability, implement martian packet filters and 57254990d495SXin LI lobby your OS vendor to fix this problem, or run your 57264990d495SXin LI refclocks on computers that use OSes that are not vulnerable 57274990d495SXin LI to these attacks and have your vulnerable machines get their 57284990d495SXin LI time from protected resources. 57294990d495SXin LI Properly monitor your ntpd instances. 57304990d495SXin LI Credit: This weakness was discovered by Matt Street and others of 57314990d495SXin LI Cisco ASIG. 57324990d495SXin LI 57334990d495SXin LIThe following issues were fixed in earlier releases and contain 57344990d495SXin LIimprovements in 4.2.8p7: 57354990d495SXin LI 57364990d495SXin LI* Clients that receive a KoD should validate the origin timestamp field. 57374990d495SXin LI References: Sec 2901 / CVE-2015-7704, CVE-2015-7705 57384990d495SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p7, 57394990d495SXin LI Summary: Improvements to the fixes incorporated into 4.2.8p4 and 4.3.77. 57404990d495SXin LI 57414990d495SXin LI* Skeleton key: passive server with trusted key can serve time. 57424990d495SXin LI References: Sec 2936 / CVE-2015-7974 57434990d495SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p7, 57444990d495SXin LI Summary: Improvements to the fixes incorporated in t 4.2.8p6 and 4.3.90. 57454990d495SXin LI 57464990d495SXin LITwo other vulnerabilities have been reported, and the mitigations 57474990d495SXin LIfor these are as follows: 57484990d495SXin LI 57494990d495SXin LI* Interleave-pivot 57504990d495SXin LI Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 57514990d495SXin LI References: Sec 2978 / CVE-2016-1548 57524990d495SXin LI Affects: All ntp-4 releases. 57534990d495SXin LI CVSSv2: MED 6.4 - (AV:N/AC:L/Au:N/C:N/I:P/A:P) 57544990d495SXin LI CVSSv3: MED 7.2 - CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:L 57554990d495SXin LI Summary: It is possible to change the time of an ntpd client or deny 57564990d495SXin LI service to an ntpd client by forcing it to change from basic 57574990d495SXin LI client/server mode to interleaved symmetric mode. An attacker 57584990d495SXin LI can spoof a packet from a legitimate ntpd server with an origin 57594990d495SXin LI timestamp that matches the peer->dst timestamp recorded for that 57604990d495SXin LI server. After making this switch, the client will reject all 57614990d495SXin LI future legitimate server responses. It is possible to force the 57624990d495SXin LI victim client to move time after the mode has been changed. 57634990d495SXin LI ntpq gives no indication that the mode has been switched. 57644990d495SXin LI Mitigation: 57654990d495SXin LI Implement BCP-38. 57664990d495SXin LI Upgrade to 4.2.8p7, or later, from the NTP Project Download Page 57674990d495SXin LI or the NTP Public Services Project Download Page. These 57684990d495SXin LI versions will not dynamically "flip" into interleave mode 57694990d495SXin LI unless configured to do so. 57704990d495SXin LI Properly monitor your ntpd instances. 57714990d495SXin LI Credit: This weakness was discovered by Miroslav Lichvar of RedHat 57724990d495SXin LI and separately by Jonathan Gardner of Cisco ASIG. 57734990d495SXin LI 57744990d495SXin LI* Sybil vulnerability: ephemeral association attack 57754990d495SXin LI Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016 57764990d495SXin LI References: Sec 3012 / CVE-2016-1549 57774990d495SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p7, and 57784990d495SXin LI 4.3.0 up to, but not including 4.3.92 57794990d495SXin LI CVSSv2: LOW 3.5 - (AV:N/AC:M/Au:S/C:N/I:P/A:N) 57804990d495SXin LI CVSS3v: MED 5.3 - CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N 57814990d495SXin LI Summary: ntpd can be vulnerable to Sybil attacks. If one is not using 57824990d495SXin LI the feature introduced in ntp-4.2.8p6 allowing an optional 4th 57834990d495SXin LI field in the ntp.keys file to specify which IPs can serve time, 57844990d495SXin LI a malicious authenticated peer can create arbitrarily-many 57854990d495SXin LI ephemeral associations in order to win the clock selection of 57864990d495SXin LI ntpd and modify a victim's clock. 57874990d495SXin LI Mitigation: 57884990d495SXin LI Implement BCP-38. 57894990d495SXin LI Use the 4th field in the ntp.keys file to specify which IPs 57904990d495SXin LI can be time servers. 57914990d495SXin LI Properly monitor your ntpd instances. 57924990d495SXin LI Credit: This weakness was discovered by Matthew Van Gundy of Cisco ASIG. 57934990d495SXin LI 57944990d495SXin LIOther fixes: 57954990d495SXin LI 57964990d495SXin LI* [Bug 2831] Segmentation Fault in DNS lookup during startup. perlinger@ntp.org 57974990d495SXin LI - fixed yet another race condition in the threaded resolver code. 57984990d495SXin LI* [Bug 2858] bool support. Use stdbool.h when available. HStenn. 57994990d495SXin LI* [Bug 2879] Improve NTP security against timing attacks. perlinger@ntp.org 58004990d495SXin LI - integrated patches by Loganaden Velvidron <logan@ntp.org> 58014990d495SXin LI with some modifications & unit tests 58024990d495SXin LI* [Bug 2960] async name resolution fixes for chroot() environments. 58034990d495SXin LI Reinhard Max. 58044990d495SXin LI* [Bug 2994] Systems with HAVE_SIGNALED_IO fail to compile. perlinger@ntp.org 58054990d495SXin LI* [Bug 2995] Fixes to compile on Windows 58064990d495SXin LI* [Bug 2999] out-of-bounds access in 'is_safe_filename()'. perlinger@ntp.org 58074990d495SXin LI* [Bug 3013] Fix for ssl_init.c SHA1 test. perlinger@ntp.org 58084990d495SXin LI - Patch provided by Ch. Weisgerber 58094990d495SXin LI* [Bug 3015] ntpq: config-from-file: "request contains an unprintable character" 58104990d495SXin LI - A change related to [Bug 2853] forbids trailing white space in 58114990d495SXin LI remote config commands. perlinger@ntp.org 58124990d495SXin LI* [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE 58134990d495SXin LI - report and patch from Aleksandr Kostikov. 58144990d495SXin LI - Overhaul of Windows IO completion port handling. perlinger@ntp.org 58154990d495SXin LI* [Bug 3022] authkeys.c should be refactored. perlinger@ntp.org 58164990d495SXin LI - fixed memory leak in access list (auth[read]keys.c) 58174990d495SXin LI - refactored handling of key access lists (auth[read]keys.c) 58184990d495SXin LI - reduced number of error branches (authreadkeys.c) 58194990d495SXin LI* [Bug 3023] ntpdate cannot correct dates in the future. perlinger@ntp.org 58204990d495SXin LI* [Bug 3030] ntpq needs a general way to specify refid output format. HStenn. 58214990d495SXin LI* [Bug 3031] ntp broadcastclient unable to synchronize to an server 58224990d495SXin LI when the time of server changed. perlinger@ntp.org 58234990d495SXin LI - Check the initial delay calculation and reject/unpeer the broadcast 58244990d495SXin LI server if the delay exceeds 50ms. Retry again after the next 58254990d495SXin LI broadcast packet. 58264990d495SXin LI* [Bug 3036] autokey trips an INSIST in authistrustedip(). Harlan Stenn. 58274990d495SXin LI* Document ntp.key's optional IP list in authenetic.html. Harlan Stenn. 58284990d495SXin LI* Update html/xleave.html documentation. Harlan Stenn. 58294990d495SXin LI* Update ntp.conf documentation. Harlan Stenn. 58304990d495SXin LI* Fix some Credit: attributions in the NEWS file. Harlan Stenn. 58314990d495SXin LI* Fix typo in html/monopt.html. Harlan Stenn. 58324990d495SXin LI* Add README.pullrequests. Harlan Stenn. 58334990d495SXin LI* Cleanup to include/ntp.h. Harlan Stenn. 58344990d495SXin LI 58354990d495SXin LINew option to 'configure': 58364990d495SXin LI 58374990d495SXin LIWhile looking in to the issues around Bug 2978, the "interleave pivot" 58384990d495SXin LIissue, it became clear that there are some intricate and unresolved 58394990d495SXin LIissues with interleave operations. We also realized that the interleave 58404990d495SXin LIprotocol was never added to the NTPv4 Standard, and it should have been. 58414990d495SXin LI 58424990d495SXin LIInterleave mode was first released in July of 2008, and can be engaged 58434990d495SXin LIin two ways. Any 'peer' and 'broadcast' lines in the ntp.conf file may 58444990d495SXin LIcontain the 'xleave' option, which will expressly enable interlave mode 58454990d495SXin LIfor that association. Additionally, if a time packet arrives and is 58464990d495SXin LIfound inconsistent with normal protocol behavior but has certain 58474990d495SXin LIcharacteristics that are compatible with interleave mode, NTP will 58484990d495SXin LIdynamically switch to interleave mode. With sufficient knowledge, an 58494990d495SXin LIattacker can send a crafted forged packet to an NTP instance that 58504990d495SXin LItriggers only one side to enter interleaved mode. 58514990d495SXin LI 58524990d495SXin LITo prevent this attack until we can thoroughly document, describe, 58534990d495SXin LIfix, and test the dynamic interleave mode, we've added a new 58544990d495SXin LI'configure' option to the build process: 58554990d495SXin LI 58564990d495SXin LI --enable-dynamic-interleave 58574990d495SXin LI 58584990d495SXin LIThis option controls whether or not NTP will, if conditions are right, 58594990d495SXin LIengage dynamic interleave mode. Dynamic interleave mode is disabled by 58604990d495SXin LIdefault in ntp-4.2.8p7. 58614990d495SXin LI 58624990d495SXin LI--- 58634990d495SXin LINTP 4.2.8p6 (Harlan Stenn <stenn@ntp.org>, 2016/01/20) 586468ba7e87SXin LI 586568ba7e87SXin LIFocus: Security, Bug fixes, enhancements. 586668ba7e87SXin LI 586768ba7e87SXin LISeverity: MEDIUM 586868ba7e87SXin LI 586968ba7e87SXin LIIn addition to bug fixes and enhancements, this release fixes the 58704990d495SXin LIfollowing 1 low- and 8 medium-severity vulnerabilities: 587168ba7e87SXin LI 587268ba7e87SXin LI* Potential Infinite Loop in 'ntpq' 587368ba7e87SXin LI Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016 587468ba7e87SXin LI References: Sec 2548 / CVE-2015-8158 587568ba7e87SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p6, and 587668ba7e87SXin LI 4.3.0 up to, but not including 4.3.90 587768ba7e87SXin LI CVSS2: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3 - MEDIUM 587868ba7e87SXin LI CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N Base Score: 5.3 - MEDIUM 587968ba7e87SXin LI Summary: 'ntpq' processes incoming packets in a loop in 'getresponse()'. 588068ba7e87SXin LI The loop's only stopping conditions are receiving a complete and 588168ba7e87SXin LI correct response or hitting a small number of error conditions. 588268ba7e87SXin LI If the packet contains incorrect values that don't trigger one of 588368ba7e87SXin LI the error conditions, the loop continues to receive new packets. 588468ba7e87SXin LI Note well, this is an attack against an instance of 'ntpq', not 588568ba7e87SXin LI 'ntpd', and this attack requires the attacker to do one of the 588668ba7e87SXin LI following: 588768ba7e87SXin LI * Own a malicious NTP server that the client trusts 588868ba7e87SXin LI * Prevent a legitimate NTP server from sending packets to 588968ba7e87SXin LI the 'ntpq' client 589068ba7e87SXin LI * MITM the 'ntpq' communications between the 'ntpq' client 589168ba7e87SXin LI and the NTP server 589268ba7e87SXin LI Mitigation: 589368ba7e87SXin LI Upgrade to 4.2.8p6, or later, from the NTP Project Download Page 589468ba7e87SXin LI or the NTP Public Services Project Download Page 589568ba7e87SXin LI Credit: This weakness was discovered by Jonathan Gardner of Cisco ASIG. 589668ba7e87SXin LI 589768ba7e87SXin LI* 0rigin: Zero Origin Timestamp Bypass 589868ba7e87SXin LI Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016 589968ba7e87SXin LI References: Sec 2945 / CVE-2015-8138 590068ba7e87SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p6, and 590168ba7e87SXin LI 4.3.0 up to, but not including 4.3.90 590268ba7e87SXin LI CVSS2: (AV:N/AC:L/Au:N/C:N/I:P/A:N) Base Score: 5.0 - MEDIUM 590368ba7e87SXin LI CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N Base Score: 5.3 - MEDIUM 590468ba7e87SXin LI (3.7 - LOW if you score AC:L) 590568ba7e87SXin LI Summary: To distinguish legitimate peer responses from forgeries, a 590668ba7e87SXin LI client attempts to verify a response packet by ensuring that the 590768ba7e87SXin LI origin timestamp in the packet matches the origin timestamp it 590868ba7e87SXin LI transmitted in its last request. A logic error exists that 590968ba7e87SXin LI allows packets with an origin timestamp of zero to bypass this 591068ba7e87SXin LI check whenever there is not an outstanding request to the server. 591168ba7e87SXin LI Mitigation: 591268ba7e87SXin LI Configure 'ntpd' to get time from multiple sources. 591368ba7e87SXin LI Upgrade to 4.2.8p6, or later, from the NTP Project Download Page 591468ba7e87SXin LI or the NTP Public Services Project Download Page. 591509100258SXin LI Monitor your 'ntpd' instances. 59164990d495SXin LI Credit: This weakness was discovered by Matthey Van Gundy and 59174990d495SXin LI Jonathan Gardner of Cisco ASIG. 591868ba7e87SXin LI 591968ba7e87SXin LI* Stack exhaustion in recursive traversal of restriction list 592068ba7e87SXin LI Date Resolved: Stable (4.2.8p6) 19 Jan 2016 592168ba7e87SXin LI References: Sec 2940 / CVE-2015-7978 592268ba7e87SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p6, and 592368ba7e87SXin LI 4.3.0 up to, but not including 4.3.90 592468ba7e87SXin LI CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3 - MEDIUM 592568ba7e87SXin LI Summary: An unauthenticated 'ntpdc reslist' command can cause a 592668ba7e87SXin LI segmentation fault in ntpd by exhausting the call stack. 592768ba7e87SXin LI Mitigation: 592868ba7e87SXin LI Implement BCP-38. 592968ba7e87SXin LI Upgrade to 4.2.8p6, or later, from the NTP Project Download Page 593068ba7e87SXin LI or the NTP Public Services Project Download Page. 593168ba7e87SXin LI If you are unable to upgrade: 593268ba7e87SXin LI In ntp-4.2.8, mode 7 is disabled by default. Don't enable it. 593368ba7e87SXin LI If you must enable mode 7: 593468ba7e87SXin LI configure the use of a 'requestkey' to control who can 593568ba7e87SXin LI issue mode 7 requests. 593668ba7e87SXin LI configure 'restrict noquery' to further limit mode 7 593768ba7e87SXin LI requests to trusted sources. 593868ba7e87SXin LI Monitor your ntpd instances. 593968ba7e87SXin LI Credit: This weakness was discovered by Stephen Gray at Cisco ASIG. 594068ba7e87SXin LI 594168ba7e87SXin LI* Off-path Denial of Service (!DoS) attack on authenticated broadcast mode 594268ba7e87SXin LI Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016 594368ba7e87SXin LI References: Sec 2942 / CVE-2015-7979 594468ba7e87SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p6, and 594568ba7e87SXin LI 4.3.0 up to, but not including 4.3.90 594668ba7e87SXin LI CVSS: (AV:N/AC:M/Au:N/C:N/I:P/A:P) Base Score: 5.8 594768ba7e87SXin LI Summary: An off-path attacker can send broadcast packets with bad 594868ba7e87SXin LI authentication (wrong key, mismatched key, incorrect MAC, etc) 594968ba7e87SXin LI to broadcast clients. It is observed that the broadcast client 595068ba7e87SXin LI tears down the association with the broadcast server upon 595168ba7e87SXin LI receiving just one bad packet. 595268ba7e87SXin LI Mitigation: 595368ba7e87SXin LI Implement BCP-38. 595468ba7e87SXin LI Upgrade to 4.2.8p6, or later, from the NTP Project Download Page 595568ba7e87SXin LI or the NTP Public Services Project Download Page. 595668ba7e87SXin LI Monitor your 'ntpd' instances. 595768ba7e87SXin LI If this sort of attack is an active problem for you, you have 595868ba7e87SXin LI deeper problems to investigate. In this case also consider 595968ba7e87SXin LI having smaller NTP broadcast domains. 596068ba7e87SXin LI Credit: This weakness was discovered by Aanchal Malhotra of Boston 596168ba7e87SXin LI University. 596268ba7e87SXin LI 596368ba7e87SXin LI* reslist NULL pointer dereference 596468ba7e87SXin LI Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016 596568ba7e87SXin LI References: Sec 2939 / CVE-2015-7977 596668ba7e87SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p6, and 596768ba7e87SXin LI 4.3.0 up to, but not including 4.3.90 596868ba7e87SXin LI CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3 - MEDIUM 596968ba7e87SXin LI Summary: An unauthenticated 'ntpdc reslist' command can cause a 597068ba7e87SXin LI segmentation fault in ntpd by causing a NULL pointer dereference. 597168ba7e87SXin LI Mitigation: 597268ba7e87SXin LI Implement BCP-38. 597368ba7e87SXin LI Upgrade to 4.2.8p6, or later, from NTP Project Download Page or 597468ba7e87SXin LI the NTP Public Services Project Download Page. 597568ba7e87SXin LI If you are unable to upgrade: 597668ba7e87SXin LI mode 7 is disabled by default. Don't enable it. 597768ba7e87SXin LI If you must enable mode 7: 597868ba7e87SXin LI configure the use of a 'requestkey' to control who can 597968ba7e87SXin LI issue mode 7 requests. 598068ba7e87SXin LI configure 'restrict noquery' to further limit mode 7 598168ba7e87SXin LI requests to trusted sources. 598268ba7e87SXin LI Monitor your ntpd instances. 598368ba7e87SXin LI Credit: This weakness was discovered by Stephen Gray of Cisco ASIG. 598468ba7e87SXin LI 598568ba7e87SXin LI* 'ntpq saveconfig' command allows dangerous characters in filenames. 598668ba7e87SXin LI Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016 598768ba7e87SXin LI References: Sec 2938 / CVE-2015-7976 598868ba7e87SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p6, and 598968ba7e87SXin LI 4.3.0 up to, but not including 4.3.90 599068ba7e87SXin LI CVSS: (AV:N/AC:L/Au:S/C:N/I:P/A:N) Base Score: 4.0 - MEDIUM 599168ba7e87SXin LI Summary: The ntpq saveconfig command does not do adequate filtering 599268ba7e87SXin LI of special characters from the supplied filename. 599368ba7e87SXin LI Note well: The ability to use the saveconfig command is controlled 599468ba7e87SXin LI by the 'restrict nomodify' directive, and the recommended default 599568ba7e87SXin LI configuration is to disable this capability. If the ability to 599668ba7e87SXin LI execute a 'saveconfig' is required, it can easily (and should) be 599768ba7e87SXin LI limited and restricted to a known small number of IP addresses. 599868ba7e87SXin LI Mitigation: 599968ba7e87SXin LI Implement BCP-38. 600068ba7e87SXin LI use 'restrict default nomodify' in your 'ntp.conf' file. 600168ba7e87SXin LI Upgrade to 4.2.8p6, or later, from the NTP Project Download Page. 600268ba7e87SXin LI If you are unable to upgrade: 600368ba7e87SXin LI build NTP with 'configure --disable-saveconfig' if you will 600468ba7e87SXin LI never need this capability, or 600568ba7e87SXin LI use 'restrict default nomodify' in your 'ntp.conf' file. Be 600668ba7e87SXin LI careful about what IPs have the ability to send 'modify' 600768ba7e87SXin LI requests to 'ntpd'. 600868ba7e87SXin LI Monitor your ntpd instances. 600968ba7e87SXin LI 'saveconfig' requests are logged to syslog - monitor your syslog files. 601068ba7e87SXin LI Credit: This weakness was discovered by Jonathan Gardner of Cisco ASIG. 601168ba7e87SXin LI 601268ba7e87SXin LI* nextvar() missing length check in ntpq 601368ba7e87SXin LI Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016 601468ba7e87SXin LI References: Sec 2937 / CVE-2015-7975 601568ba7e87SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p6, and 601668ba7e87SXin LI 4.3.0 up to, but not including 4.3.90 601768ba7e87SXin LI CVSS: (AV:L/AC:H/Au:N/C:N/I:N/A:P) Base Score: 1.2 - LOW 601868ba7e87SXin LI If you score A:C, this becomes 4.0. 601968ba7e87SXin LI CVSSv3: (CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L) Base Score 2.9, LOW 602068ba7e87SXin LI Summary: ntpq may call nextvar() which executes a memcpy() into the 602168ba7e87SXin LI name buffer without a proper length check against its maximum 602268ba7e87SXin LI length of 256 bytes. Note well that we're taking about ntpq here. 602368ba7e87SXin LI The usual worst-case effect of this vulnerability is that the 602468ba7e87SXin LI specific instance of ntpq will crash and the person or process 602568ba7e87SXin LI that did this will have stopped themselves. 602668ba7e87SXin LI Mitigation: 602768ba7e87SXin LI Upgrade to 4.2.8p6, or later, from the NTP Project Download Page 602868ba7e87SXin LI or the NTP Public Services Project Download Page. 602968ba7e87SXin LI If you are unable to upgrade: 603068ba7e87SXin LI If you have scripts that feed input to ntpq make sure there are 603168ba7e87SXin LI some sanity checks on the input received from the "outside". 603268ba7e87SXin LI This is potentially more dangerous if ntpq is run as root. 603368ba7e87SXin LI Credit: This weakness was discovered by Jonathan Gardner at Cisco ASIG. 603468ba7e87SXin LI 603568ba7e87SXin LI* Skeleton Key: Any trusted key system can serve time 603668ba7e87SXin LI Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016 603768ba7e87SXin LI References: Sec 2936 / CVE-2015-7974 603868ba7e87SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p6, and 603968ba7e87SXin LI 4.3.0 up to, but not including 4.3.90 604068ba7e87SXin LI CVSS: (AV:N/AC:H/Au:S/C:N/I:C/A:N) Base Score: 4.9 604168ba7e87SXin LI Summary: Symmetric key encryption uses a shared trusted key. The 604268ba7e87SXin LI reported title for this issue was "Missing key check allows 604368ba7e87SXin LI impersonation between authenticated peers" and the report claimed 604468ba7e87SXin LI "A key specified only for one server should only work to 604568ba7e87SXin LI authenticate that server, other trusted keys should be refused." 604668ba7e87SXin LI Except there has never been any correlation between this trusted 604768ba7e87SXin LI key and server v. clients machines and there has never been any 604868ba7e87SXin LI way to specify a key only for one server. We have treated this as 604968ba7e87SXin LI an enhancement request, and ntp-4.2.8p6 includes other checks and 605068ba7e87SXin LI tests to strengthen clients against attacks coming from broadcast 605168ba7e87SXin LI servers. 605268ba7e87SXin LI Mitigation: 605368ba7e87SXin LI Implement BCP-38. 605468ba7e87SXin LI If this scenario represents a real or a potential issue for you, 605568ba7e87SXin LI upgrade to 4.2.8p6, or later, from the NTP Project Download 605668ba7e87SXin LI Page or the NTP Public Services Project Download Page, and 605768ba7e87SXin LI use the new field in the ntp.keys file that specifies the list 605868ba7e87SXin LI of IPs that are allowed to serve time. Note that this alone 605968ba7e87SXin LI will not protect against time packets with forged source IP 606068ba7e87SXin LI addresses, however other changes in ntp-4.2.8p6 provide 606168ba7e87SXin LI significant mitigation against broadcast attacks. MITM attacks 606268ba7e87SXin LI are a different story. 606368ba7e87SXin LI If you are unable to upgrade: 606468ba7e87SXin LI Don't use broadcast mode if you cannot monitor your client 606568ba7e87SXin LI servers. 606668ba7e87SXin LI If you choose to use symmetric keys to authenticate time 606768ba7e87SXin LI packets in a hostile environment where ephemeral time 606868ba7e87SXin LI servers can be created, or if it is expected that malicious 606968ba7e87SXin LI time servers will participate in an NTP broadcast domain, 607068ba7e87SXin LI limit the number of participating systems that participate 607168ba7e87SXin LI in the shared-key group. 607268ba7e87SXin LI Monitor your ntpd instances. 607368ba7e87SXin LI Credit: This weakness was discovered by Matt Street of Cisco ASIG. 607468ba7e87SXin LI 607568ba7e87SXin LI* Deja Vu: Replay attack on authenticated broadcast mode 607668ba7e87SXin LI Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016 607768ba7e87SXin LI References: Sec 2935 / CVE-2015-7973 607868ba7e87SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p6, and 607968ba7e87SXin LI 4.3.0 up to, but not including 4.3.90 608068ba7e87SXin LI CVSS: (AV:A/AC:M/Au:N/C:N/I:P/A:P) Base Score: 4.3 - MEDIUM 608168ba7e87SXin LI Summary: If an NTP network is configured for broadcast operations then 608268ba7e87SXin LI either a man-in-the-middle attacker or a malicious participant 608368ba7e87SXin LI that has the same trusted keys as the victim can replay time packets. 608468ba7e87SXin LI Mitigation: 608568ba7e87SXin LI Implement BCP-38. 608668ba7e87SXin LI Upgrade to 4.2.8p6, or later, from the NTP Project Download Page 608768ba7e87SXin LI or the NTP Public Services Project Download Page. 608868ba7e87SXin LI If you are unable to upgrade: 608968ba7e87SXin LI Don't use broadcast mode if you cannot monitor your client servers. 609068ba7e87SXin LI Monitor your ntpd instances. 609168ba7e87SXin LI Credit: This weakness was discovered by Aanchal Malhotra of Boston 609268ba7e87SXin LI University. 609368ba7e87SXin LI 609468ba7e87SXin LIOther fixes: 609568ba7e87SXin LI 609668ba7e87SXin LI* [Bug 2772] adj_systime overflows tv_usec. perlinger@ntp.org 609768ba7e87SXin LI* [Bug 2814] msyslog deadlock when signaled. perlinger@ntp.org 609868ba7e87SXin LI - applied patch by shenpeng11@huawei.com with minor adjustments 609968ba7e87SXin LI* [Bug 2882] Look at ntp_request.c:list_peers_sum(). perlinger@ntp.org 610068ba7e87SXin LI* [Bug 2891] Deadlock in deferred DNS lookup framework. perlinger@ntp.org 610168ba7e87SXin LI* [Bug 2892] Several test cases assume IPv6 capabilities even when 610268ba7e87SXin LI IPv6 is disabled in the build. perlinger@ntp.org 610368ba7e87SXin LI - Found this already fixed, but validation led to cleanup actions. 610468ba7e87SXin LI* [Bug 2905] DNS lookups broken. perlinger@ntp.org 610568ba7e87SXin LI - added limits to stack consumption, fixed some return code handling 610668ba7e87SXin LI* [Bug 2971] ntpq bails on ^C: select fails: Interrupted system call 610768ba7e87SXin LI - changed stacked/nested handling of CTRL-C. perlinger@ntp.org 610868ba7e87SXin LI - make CTRL-C work for retrieval and printing od MRU list. perlinger@ntp.org 610968ba7e87SXin LI* [Bug 2980] reduce number of warnings. perlinger@ntp.org 611068ba7e87SXin LI - integrated several patches from Havard Eidnes (he@uninett.no) 611168ba7e87SXin LI* [Bug 2985] bogus calculation in authkeys.c perlinger@ntp.org 611268ba7e87SXin LI - implement 'auth_log2()' using integer bithack instead of float calculation 611368ba7e87SXin LI* Make leapsec_query debug messages less verbose. Harlan Stenn. 611468ba7e87SXin LI 611568ba7e87SXin LI--- 61164990d495SXin LINTP 4.2.8p5 (Harlan Stenn <stenn@ntp.org>, 2016/01/07) 61173311ff84SXin LI 61183311ff84SXin LIFocus: Security, Bug fixes, enhancements. 61193311ff84SXin LI 61203311ff84SXin LISeverity: MEDIUM 61213311ff84SXin LI 61223311ff84SXin LIIn addition to bug fixes and enhancements, this release fixes the 61233311ff84SXin LIfollowing medium-severity vulnerability: 61243311ff84SXin LI 61253311ff84SXin LI* Small-step/big-step. Close the panic gate earlier. 61263311ff84SXin LI References: Sec 2956, CVE-2015-5300 61273311ff84SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p5, and 61283311ff84SXin LI 4.3.0 up to, but not including 4.3.78 61293311ff84SXin LI CVSS3: (AV:N/AC:H/PR:H/UI:R/S:C/C:L/I:N/A:L) Base Score: 4.0, MEDIUM 61303311ff84SXin LI Summary: If ntpd is always started with the -g option, which is 61313311ff84SXin LI common and against long-standing recommendation, and if at the 61323311ff84SXin LI moment ntpd is restarted an attacker can immediately respond to 61333311ff84SXin LI enough requests from enough sources trusted by the target, which 61343311ff84SXin LI is difficult and not common, there is a window of opportunity 61353311ff84SXin LI where the attacker can cause ntpd to set the time to an 61363311ff84SXin LI arbitrary value. Similarly, if an attacker is able to respond 61373311ff84SXin LI to enough requests from enough sources trusted by the target, 61383311ff84SXin LI the attacker can cause ntpd to abort and restart, at which 61393311ff84SXin LI point it can tell the target to set the time to an arbitrary 61403311ff84SXin LI value if and only if ntpd was re-started against long-standing 61413311ff84SXin LI recommendation with the -g flag, or if ntpd was not given the 61423311ff84SXin LI -g flag, the attacker can move the target system's time by at 61433311ff84SXin LI most 900 seconds' time per attack. 61443311ff84SXin LI Mitigation: 61453311ff84SXin LI Configure ntpd to get time from multiple sources. 61463311ff84SXin LI Upgrade to 4.2.8p5, or later, from the NTP Project Download 61473311ff84SXin LI Page or the NTP Public Services Project Download Page 61483311ff84SXin LI As we've long documented, only use the -g option to ntpd in 61493311ff84SXin LI cold-start situations. 61503311ff84SXin LI Monitor your ntpd instances. 61513311ff84SXin LI Credit: This weakness was discovered by Aanchal Malhotra, 61523311ff84SXin LI Isaac E. Cohen, and Sharon Goldberg at Boston University. 61533311ff84SXin LI 61543311ff84SXin LI NOTE WELL: The -g flag disables the limit check on the panic_gate 61553311ff84SXin LI in ntpd, which is 900 seconds by default. The bug identified by 61563311ff84SXin LI the researchers at Boston University is that the panic_gate 61573311ff84SXin LI check was only re-enabled after the first change to the system 61583311ff84SXin LI clock that was greater than 128 milliseconds, by default. The 61593311ff84SXin LI correct behavior is that the panic_gate check should be 61603311ff84SXin LI re-enabled after any initial time correction. 61613311ff84SXin LI 61623311ff84SXin LI If an attacker is able to inject consistent but erroneous time 61633311ff84SXin LI responses to your systems via the network or "over the air", 61643311ff84SXin LI perhaps by spoofing radio, cellphone, or navigation satellite 61653311ff84SXin LI transmissions, they are in a great position to affect your 61663311ff84SXin LI system's clock. There comes a point where your very best 61673311ff84SXin LI defenses include: 61683311ff84SXin LI 61693311ff84SXin LI Configure ntpd to get time from multiple sources. 61703311ff84SXin LI Monitor your ntpd instances. 61713311ff84SXin LI 61723311ff84SXin LIOther fixes: 61733311ff84SXin LI 61743311ff84SXin LI* Coverity submission process updated from Coverity 5 to Coverity 7. 61753311ff84SXin LI The NTP codebase has been undergoing regular Coverity scans on an 61763311ff84SXin LI ongoing basis since 2006. As part of our recent upgrade from 61773311ff84SXin LI Coverity 5 to Coverity 7, Coverity identified 16 nits in some of 61783311ff84SXin LI the newly-written Unity test programs. These were fixed. 61793311ff84SXin LI* [Bug 2829] Clean up pipe_fds in ntpd.c perlinger@ntp.org 61803311ff84SXin LI* [Bug 2887] stratum -1 config results as showing value 99 61813311ff84SXin LI - fudge stratum should only accept values [0..16]. perlinger@ntp.org 61823311ff84SXin LI* [Bug 2932] Update leapsecond file info in miscopt.html. CWoodbury, HStenn. 61833311ff84SXin LI* [Bug 2934] tests/ntpd/t-ntp_scanner.c has a magic constant wired in. HMurray 61843311ff84SXin LI* [Bug 2944] errno is not preserved properly in ntpdate after sendto call. 61853311ff84SXin LI - applied patch by Christos Zoulas. perlinger@ntp.org 61863311ff84SXin LI* [Bug 2952] Peer associations broken by fix for Bug 2901/CVE-2015-7704. 61873311ff84SXin LI* [Bug 2954] Version 4.2.8p4 crashes on startup on some OSes. 61883311ff84SXin LI - fixed data race conditions in threaded DNS worker. perlinger@ntp.org 61893311ff84SXin LI - limit threading warm-up to linux; FreeBSD bombs on it. perlinger@ntp.org 61903311ff84SXin LI* [Bug 2957] 'unsigned int' vs 'size_t' format clash. perlinger@ntp.org 61913311ff84SXin LI - accept key file only if there are no parsing errors 61923311ff84SXin LI - fixed size_t/u_int format clash 61933311ff84SXin LI - fixed wrong use of 'strlcpy' 61943311ff84SXin LI* [Bug 2958] ntpq: fatal error messages need a final newline. Craig Leres. 61953311ff84SXin LI* [Bug 2962] truncation of size_t/ptrdiff_t on 64bit targets. perlinger@ntp.org 61963311ff84SXin LI - fixed several other warnings (cast-alignment, missing const, missing prototypes) 61973311ff84SXin LI - promote use of 'size_t' for values that express a size 61983311ff84SXin LI - use ptr-to-const for read-only arguments 61993311ff84SXin LI - make sure SOCKET values are not truncated (win32-specific) 62003311ff84SXin LI - format string fixes 62013311ff84SXin LI* [Bug 2965] Local clock didn't work since 4.2.8p4. Martin Burnicki. 62023311ff84SXin LI* [Bug 2967] ntpdate command suffers an assertion failure 62033311ff84SXin LI - fixed ntp_rfc2553.c to return proper address length. perlinger@ntp.org 62043311ff84SXin LI* [Bug 2969] Seg fault from ntpq/mrulist when looking at server with 62053311ff84SXin LI lots of clients. perlinger@ntp.org 62063311ff84SXin LI* [Bug 2971] ntpq bails on ^C: select fails: Interrupted system call 62073311ff84SXin LI - changed stacked/nested handling of CTRL-C. perlinger@ntp.org 62083311ff84SXin LI* Unity cleanup for FreeBSD-6.4. Harlan Stenn. 62093311ff84SXin LI* Unity test cleanup. Harlan Stenn. 62103311ff84SXin LI* Libevent autoconf pthread fixes for FreeBSD-10. Harlan Stenn. 62113311ff84SXin LI* Header cleanup in tests/sandbox/uglydate.c. Harlan Stenn. 62123311ff84SXin LI* Header cleanup in tests/libntp/sfptostr.c. Harlan Stenn. 62133311ff84SXin LI* Quiet a warning from clang. Harlan Stenn. 62143311ff84SXin LI 62153311ff84SXin LI--- 62164990d495SXin LINTP 4.2.8p4 (Harlan Stenn <stenn@ntp.org>, 2015/10/21) 62179034852cSGleb Smirnoff 62183311ff84SXin LIFocus: Security, Bug fixes, enhancements. 62199034852cSGleb Smirnoff 62209034852cSGleb SmirnoffSeverity: MEDIUM 62219034852cSGleb Smirnoff 62229034852cSGleb SmirnoffIn addition to bug fixes and enhancements, this release fixes the 62239034852cSGleb Smirnofffollowing 13 low- and medium-severity vulnerabilities: 62249034852cSGleb Smirnoff 62259034852cSGleb Smirnoff* Incomplete vallen (value length) checks in ntp_crypto.c, leading 62269034852cSGleb Smirnoff to potential crashes or potential code injection/information leakage. 62279034852cSGleb Smirnoff 62289034852cSGleb Smirnoff References: Sec 2899, Sec 2671, CVE-2015-7691, CVE-2015-7692, CVE-2015-7702 62299034852cSGleb Smirnoff Affects: All ntp-4 releases up to, but not including 4.2.8p4, 62309034852cSGleb Smirnoff and 4.3.0 up to, but not including 4.3.77 62319034852cSGleb Smirnoff CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6 62329034852cSGleb Smirnoff Summary: The fix for CVE-2014-9750 was incomplete in that there were 62339034852cSGleb Smirnoff certain code paths where a packet with particular autokey operations 62349034852cSGleb Smirnoff that contained malicious data was not always being completely 62359034852cSGleb Smirnoff validated. Receipt of these packets can cause ntpd to crash. 62369034852cSGleb Smirnoff Mitigation: 62379034852cSGleb Smirnoff Don't use autokey. 62389034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 62399034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page 62409034852cSGleb Smirnoff Monitor your ntpd instances. 62419034852cSGleb Smirnoff Credit: This weakness was discovered by Tenable Network Security. 62429034852cSGleb Smirnoff 62439034852cSGleb Smirnoff* Clients that receive a KoD should validate the origin timestamp field. 62449034852cSGleb Smirnoff 62459034852cSGleb Smirnoff References: Sec 2901 / CVE-2015-7704, CVE-2015-7705 62469034852cSGleb Smirnoff Affects: All ntp-4 releases up to, but not including 4.2.8p4, 62479034852cSGleb Smirnoff and 4.3.0 up to, but not including 4.3.77 62489034852cSGleb Smirnoff CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3-5.0 at worst 62499034852cSGleb Smirnoff Summary: An ntpd client that honors Kiss-of-Death responses will honor 62509034852cSGleb Smirnoff KoD messages that have been forged by an attacker, causing it to 62519034852cSGleb Smirnoff delay or stop querying its servers for time updates. Also, an 62529034852cSGleb Smirnoff attacker can forge packets that claim to be from the target and 62539034852cSGleb Smirnoff send them to servers often enough that a server that implements 62549034852cSGleb Smirnoff KoD rate limiting will send the target machine a KoD response to 62559034852cSGleb Smirnoff attempt to reduce the rate of incoming packets, or it may also 62569034852cSGleb Smirnoff trigger a firewall block at the server for packets from the target 62579034852cSGleb Smirnoff machine. For either of these attacks to succeed, the attacker must 62589034852cSGleb Smirnoff know what servers the target is communicating with. An attacker 62599034852cSGleb Smirnoff can be anywhere on the Internet and can frequently learn the 62609034852cSGleb Smirnoff identity of the target's time source by sending the target a 62619034852cSGleb Smirnoff time query. 62629034852cSGleb Smirnoff Mitigation: 62639034852cSGleb Smirnoff Implement BCP-38. 62649034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download Page 62659034852cSGleb Smirnoff or the NTP Public Services Project Download Page 62669034852cSGleb Smirnoff If you can't upgrade, restrict who can query ntpd to learn who 62679034852cSGleb Smirnoff its servers are, and what IPs are allowed to ask your system 62689034852cSGleb Smirnoff for the time. This mitigation is heavy-handed. 62699034852cSGleb Smirnoff Monitor your ntpd instances. 62709034852cSGleb Smirnoff Note: 62719034852cSGleb Smirnoff 4.2.8p4 protects against the first attack. For the second attack, 62729034852cSGleb Smirnoff all we can do is warn when it is happening, which we do in 4.2.8p4. 62739034852cSGleb Smirnoff Credit: This weakness was discovered by Aanchal Malhotra, 62749034852cSGleb Smirnoff Issac E. Cohen, and Sharon Goldberg of Boston University. 62759034852cSGleb Smirnoff 62769034852cSGleb Smirnoff* configuration directives to change "pidfile" and "driftfile" should 62779034852cSGleb Smirnoff only be allowed locally. 62789034852cSGleb Smirnoff 62799034852cSGleb Smirnoff References: Sec 2902 / CVE-2015-5196 62809034852cSGleb Smirnoff Affects: All ntp-4 releases up to, but not including 4.2.8p4, 62819034852cSGleb Smirnoff and 4.3.0 up to, but not including 4.3.77 62829034852cSGleb Smirnoff CVSS: (AV:N/AC:H/Au:M/C:N/I:C/A:C) Base Score: 6.2 worst case 62839034852cSGleb Smirnoff Summary: If ntpd is configured to allow for remote configuration, 62849034852cSGleb Smirnoff and if the (possibly spoofed) source IP address is allowed to 62859034852cSGleb Smirnoff send remote configuration requests, and if the attacker knows 62869034852cSGleb Smirnoff the remote configuration password, it's possible for an attacker 62879034852cSGleb Smirnoff to use the "pidfile" or "driftfile" directives to potentially 62889034852cSGleb Smirnoff overwrite other files. 62899034852cSGleb Smirnoff Mitigation: 62909034852cSGleb Smirnoff Implement BCP-38. 62919034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 62929034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page 62939034852cSGleb Smirnoff If you cannot upgrade, don't enable remote configuration. 62949034852cSGleb Smirnoff If you must enable remote configuration and cannot upgrade, 62959034852cSGleb Smirnoff remote configuration of NTF's ntpd requires: 62969034852cSGleb Smirnoff - an explicitly configured trustedkey, and you should also 62979034852cSGleb Smirnoff configure a controlkey. 62989034852cSGleb Smirnoff - access from a permitted IP. You choose the IPs. 62999034852cSGleb Smirnoff - authentication. Don't disable it. Practice secure key safety. 63009034852cSGleb Smirnoff Monitor your ntpd instances. 63019034852cSGleb Smirnoff Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 63029034852cSGleb Smirnoff 63039034852cSGleb Smirnoff* Slow memory leak in CRYPTO_ASSOC 63049034852cSGleb Smirnoff 63059034852cSGleb Smirnoff References: Sec 2909 / CVE-2015-7701 63069034852cSGleb Smirnoff Affects: All ntp-4 releases that use autokey up to, but not 63079034852cSGleb Smirnoff including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77 63089034852cSGleb Smirnoff CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 0.0 best/usual case, 63099034852cSGleb Smirnoff 4.6 otherwise 63109034852cSGleb Smirnoff Summary: If ntpd is configured to use autokey, then an attacker can 63119034852cSGleb Smirnoff send packets to ntpd that will, after several days of ongoing 63129034852cSGleb Smirnoff attack, cause it to run out of memory. 63139034852cSGleb Smirnoff Mitigation: 63149034852cSGleb Smirnoff Don't use autokey. 63159034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 63169034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page 63179034852cSGleb Smirnoff Monitor your ntpd instances. 63189034852cSGleb Smirnoff Credit: This weakness was discovered by Tenable Network Security. 63199034852cSGleb Smirnoff 63209034852cSGleb Smirnoff* mode 7 loop counter underrun 63219034852cSGleb Smirnoff 63229034852cSGleb Smirnoff References: Sec 2913 / CVE-2015-7848 / TALOS-CAN-0052 63239034852cSGleb Smirnoff Affects: All ntp-4 releases up to, but not including 4.2.8p4, 63249034852cSGleb Smirnoff and 4.3.0 up to, but not including 4.3.77 63259034852cSGleb Smirnoff CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6 63269034852cSGleb Smirnoff Summary: If ntpd is configured to enable mode 7 packets, and if the 63279034852cSGleb Smirnoff use of mode 7 packets is not properly protected thru the use of 63289034852cSGleb Smirnoff the available mode 7 authentication and restriction mechanisms, 63299034852cSGleb Smirnoff and if the (possibly spoofed) source IP address is allowed to 63309034852cSGleb Smirnoff send mode 7 queries, then an attacker can send a crafted packet 63319034852cSGleb Smirnoff to ntpd that will cause it to crash. 63329034852cSGleb Smirnoff Mitigation: 63339034852cSGleb Smirnoff Implement BCP-38. 63349034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 63359034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page. 63369034852cSGleb Smirnoff If you are unable to upgrade: 63379034852cSGleb Smirnoff In ntp-4.2.8, mode 7 is disabled by default. Don't enable it. 63389034852cSGleb Smirnoff If you must enable mode 7: 63399034852cSGleb Smirnoff configure the use of a requestkey to control who can issue 63409034852cSGleb Smirnoff mode 7 requests. 63419034852cSGleb Smirnoff configure restrict noquery to further limit mode 7 requests 63429034852cSGleb Smirnoff to trusted sources. 63439034852cSGleb Smirnoff Monitor your ntpd instances. 63449034852cSGleb SmirnoffCredit: This weakness was discovered by Aleksandar Nikolic of Cisco Talos. 63459034852cSGleb Smirnoff 63469034852cSGleb Smirnoff* memory corruption in password store 63479034852cSGleb Smirnoff 63489034852cSGleb Smirnoff References: Sec 2916 / CVE-2015-7849 / TALOS-CAN-0054 63499034852cSGleb Smirnoff Affects: All ntp-4 releases up to, but not including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77 63509034852cSGleb Smirnoff CVSS: (AV:N/AC:H/Au:M/C:N/I:C/A:C) Base Score: 6.8, worst case 63519034852cSGleb Smirnoff Summary: If ntpd is configured to allow remote configuration, and if 63529034852cSGleb Smirnoff the (possibly spoofed) source IP address is allowed to send 63539034852cSGleb Smirnoff remote configuration requests, and if the attacker knows the 63549034852cSGleb Smirnoff remote configuration password or if ntpd was configured to 63559034852cSGleb Smirnoff disable authentication, then an attacker can send a set of 63569034852cSGleb Smirnoff packets to ntpd that may cause a crash or theoretically 63579034852cSGleb Smirnoff perform a code injection attack. 63589034852cSGleb Smirnoff Mitigation: 63599034852cSGleb Smirnoff Implement BCP-38. 63609034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 63619034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page. 63629034852cSGleb Smirnoff If you are unable to upgrade, remote configuration of NTF's 63639034852cSGleb Smirnoff ntpd requires: 63649034852cSGleb Smirnoff an explicitly configured "trusted" key. Only configure 63659034852cSGleb Smirnoff this if you need it. 63669034852cSGleb Smirnoff access from a permitted IP address. You choose the IPs. 63679034852cSGleb Smirnoff authentication. Don't disable it. Practice secure key safety. 63689034852cSGleb Smirnoff Monitor your ntpd instances. 63699034852cSGleb Smirnoff Credit: This weakness was discovered by Yves Younan of Cisco Talos. 63709034852cSGleb Smirnoff 63719034852cSGleb Smirnoff* Infinite loop if extended logging enabled and the logfile and 63729034852cSGleb Smirnoff keyfile are the same. 63739034852cSGleb Smirnoff 63749034852cSGleb Smirnoff References: Sec 2917 / CVE-2015-7850 / TALOS-CAN-0055 63759034852cSGleb Smirnoff Affects: All ntp-4 releases up to, but not including 4.2.8p4, 63769034852cSGleb Smirnoff and 4.3.0 up to, but not including 4.3.77 63779034852cSGleb Smirnoff CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6, worst case 63789034852cSGleb Smirnoff Summary: If ntpd is configured to allow remote configuration, and if 63799034852cSGleb Smirnoff the (possibly spoofed) source IP address is allowed to send 63809034852cSGleb Smirnoff remote configuration requests, and if the attacker knows the 63819034852cSGleb Smirnoff remote configuration password or if ntpd was configured to 63829034852cSGleb Smirnoff disable authentication, then an attacker can send a set of 63839034852cSGleb Smirnoff packets to ntpd that will cause it to crash and/or create a 63849034852cSGleb Smirnoff potentially huge log file. Specifically, the attacker could 63859034852cSGleb Smirnoff enable extended logging, point the key file at the log file, 63869034852cSGleb Smirnoff and cause what amounts to an infinite loop. 63879034852cSGleb Smirnoff Mitigation: 63889034852cSGleb Smirnoff Implement BCP-38. 63899034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 63909034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page. 63919034852cSGleb Smirnoff If you are unable to upgrade, remote configuration of NTF's ntpd 63929034852cSGleb Smirnoff requires: 63939034852cSGleb Smirnoff an explicitly configured "trusted" key. Only configure this 63949034852cSGleb Smirnoff if you need it. 63959034852cSGleb Smirnoff access from a permitted IP address. You choose the IPs. 63969034852cSGleb Smirnoff authentication. Don't disable it. Practice secure key safety. 63979034852cSGleb Smirnoff Monitor your ntpd instances. 63989034852cSGleb Smirnoff Credit: This weakness was discovered by Yves Younan of Cisco Talos. 63999034852cSGleb Smirnoff 64009034852cSGleb Smirnoff* Potential path traversal vulnerability in the config file saving of 64019034852cSGleb Smirnoff ntpd on VMS. 64029034852cSGleb Smirnoff 64039034852cSGleb Smirnoff References: Sec 2918 / CVE-2015-7851 / TALOS-CAN-0062 64049034852cSGleb Smirnoff Affects: All ntp-4 releases running under VMS up to, but not 64059034852cSGleb Smirnoff including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77 64069034852cSGleb Smirnoff CVSS: (AV:N/AC:H/Au:M/C:N/I:P/A:C) Base Score: 5.2, worst case 64079034852cSGleb Smirnoff Summary: If ntpd is configured to allow remote configuration, and if 64089034852cSGleb Smirnoff the (possibly spoofed) IP address is allowed to send remote 64099034852cSGleb Smirnoff configuration requests, and if the attacker knows the remote 64109034852cSGleb Smirnoff configuration password or if ntpd was configured to disable 64119034852cSGleb Smirnoff authentication, then an attacker can send a set of packets to 64129034852cSGleb Smirnoff ntpd that may cause ntpd to overwrite files. 64139034852cSGleb Smirnoff Mitigation: 64149034852cSGleb Smirnoff Implement BCP-38. 64159034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 64169034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page. 64179034852cSGleb Smirnoff If you are unable to upgrade, remote configuration of NTF's ntpd 64189034852cSGleb Smirnoff requires: 64199034852cSGleb Smirnoff an explicitly configured "trusted" key. Only configure 64209034852cSGleb Smirnoff this if you need it. 64219034852cSGleb Smirnoff access from permitted IP addresses. You choose the IPs. 64229034852cSGleb Smirnoff authentication. Don't disable it. Practice key security safety. 64239034852cSGleb Smirnoff Monitor your ntpd instances. 64249034852cSGleb Smirnoff Credit: This weakness was discovered by Yves Younan of Cisco Talos. 64259034852cSGleb Smirnoff 64269034852cSGleb Smirnoff* ntpq atoascii() potential memory corruption 64279034852cSGleb Smirnoff 64289034852cSGleb Smirnoff References: Sec 2919 / CVE-2015-7852 / TALOS-CAN-0063 64299034852cSGleb Smirnoff Affects: All ntp-4 releases running up to, but not including 4.2.8p4, 64309034852cSGleb Smirnoff and 4.3.0 up to, but not including 4.3.77 64319034852cSGleb Smirnoff CVSS: (AV:N/AC:H/Au:N/C:N/I:P/A:P) Base Score: 4.0, worst case 64329034852cSGleb Smirnoff Summary: If an attacker can figure out the precise moment that ntpq 64339034852cSGleb Smirnoff is listening for data and the port number it is listening on or 64349034852cSGleb Smirnoff if the attacker can provide a malicious instance ntpd that 64359034852cSGleb Smirnoff victims will connect to then an attacker can send a set of 64369034852cSGleb Smirnoff crafted mode 6 response packets that, if received by ntpq, 64379034852cSGleb Smirnoff can cause ntpq to crash. 64389034852cSGleb Smirnoff Mitigation: 64399034852cSGleb Smirnoff Implement BCP-38. 64409034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 64419034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page. 64429034852cSGleb Smirnoff If you are unable to upgrade and you run ntpq against a server 64439034852cSGleb Smirnoff and ntpq crashes, try again using raw mode. Build or get a 64449034852cSGleb Smirnoff patched ntpq and see if that fixes the problem. Report new 64459034852cSGleb Smirnoff bugs in ntpq or abusive servers appropriately. 64469034852cSGleb Smirnoff If you use ntpq in scripts, make sure ntpq does what you expect 64479034852cSGleb Smirnoff in your scripts. 64489034852cSGleb Smirnoff Credit: This weakness was discovered by Yves Younan and 64499034852cSGleb Smirnoff Aleksander Nikolich of Cisco Talos. 64509034852cSGleb Smirnoff 64519034852cSGleb Smirnoff* Invalid length data provided by a custom refclock driver could cause 64529034852cSGleb Smirnoff a buffer overflow. 64539034852cSGleb Smirnoff 64549034852cSGleb Smirnoff References: Sec 2920 / CVE-2015-7853 / TALOS-CAN-0064 64559034852cSGleb Smirnoff Affects: Potentially all ntp-4 releases running up to, but not 64569034852cSGleb Smirnoff including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77 64579034852cSGleb Smirnoff that have custom refclocks 64589034852cSGleb Smirnoff CVSS: (AV:L/AC:H/Au:M/C:C/I:C/A:C) Base Score: 0.0 usual case, 64599034852cSGleb Smirnoff 5.9 unusual worst case 64609034852cSGleb Smirnoff Summary: A negative value for the datalen parameter will overflow a 64619034852cSGleb Smirnoff data buffer. NTF's ntpd driver implementations always set this 64629034852cSGleb Smirnoff value to 0 and are therefore not vulnerable to this weakness. 64639034852cSGleb Smirnoff If you are running a custom refclock driver in ntpd and that 64649034852cSGleb Smirnoff driver supplies a negative value for datalen (no custom driver 64659034852cSGleb Smirnoff of even minimal competence would do this) then ntpd would 64669034852cSGleb Smirnoff overflow a data buffer. It is even hypothetically possible 64679034852cSGleb Smirnoff in this case that instead of simply crashing ntpd the attacker 64689034852cSGleb Smirnoff could effect a code injection attack. 64699034852cSGleb Smirnoff Mitigation: 64709034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 64719034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page. 64729034852cSGleb Smirnoff If you are unable to upgrade: 64739034852cSGleb Smirnoff If you are running custom refclock drivers, make sure 64749034852cSGleb Smirnoff the signed datalen value is either zero or positive. 64759034852cSGleb Smirnoff Monitor your ntpd instances. 64769034852cSGleb Smirnoff Credit: This weakness was discovered by Yves Younan of Cisco Talos. 64779034852cSGleb Smirnoff 64789034852cSGleb Smirnoff* Password Length Memory Corruption Vulnerability 64799034852cSGleb Smirnoff 64809034852cSGleb Smirnoff References: Sec 2921 / CVE-2015-7854 / TALOS-CAN-0065 64819034852cSGleb Smirnoff Affects: All ntp-4 releases up to, but not including 4.2.8p4, and 64829034852cSGleb Smirnoff 4.3.0 up to, but not including 4.3.77 64839034852cSGleb Smirnoff CVSS: (AV:N/AC:H/Au:M/C:C/I:C/A:C) Base Score: 0.0 best case, 64849034852cSGleb Smirnoff 1.7 usual case, 6.8, worst case 64859034852cSGleb Smirnoff Summary: If ntpd is configured to allow remote configuration, and if 64869034852cSGleb Smirnoff the (possibly spoofed) source IP address is allowed to send 64879034852cSGleb Smirnoff remote configuration requests, and if the attacker knows the 64889034852cSGleb Smirnoff remote configuration password or if ntpd was (foolishly) 64899034852cSGleb Smirnoff configured to disable authentication, then an attacker can 64909034852cSGleb Smirnoff send a set of packets to ntpd that may cause it to crash, 64919034852cSGleb Smirnoff with the hypothetical possibility of a small code injection. 64929034852cSGleb Smirnoff Mitigation: 64939034852cSGleb Smirnoff Implement BCP-38. 64949034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 64959034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page. 64969034852cSGleb Smirnoff If you are unable to upgrade, remote configuration of NTF's 64979034852cSGleb Smirnoff ntpd requires: 64989034852cSGleb Smirnoff an explicitly configured "trusted" key. Only configure 64999034852cSGleb Smirnoff this if you need it. 65009034852cSGleb Smirnoff access from a permitted IP address. You choose the IPs. 65019034852cSGleb Smirnoff authentication. Don't disable it. Practice secure key safety. 65029034852cSGleb Smirnoff Monitor your ntpd instances. 65039034852cSGleb Smirnoff Credit: This weakness was discovered by Yves Younan and 65049034852cSGleb Smirnoff Aleksander Nikolich of Cisco Talos. 65059034852cSGleb Smirnoff 65069034852cSGleb Smirnoff* decodenetnum() will ASSERT botch instead of returning FAIL on some 65079034852cSGleb Smirnoff bogus values. 65089034852cSGleb Smirnoff 65099034852cSGleb Smirnoff References: Sec 2922 / CVE-2015-7855 65109034852cSGleb Smirnoff Affects: All ntp-4 releases up to, but not including 4.2.8p4, and 65119034852cSGleb Smirnoff 4.3.0 up to, but not including 4.3.77 65129034852cSGleb Smirnoff CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6, worst case 65139034852cSGleb Smirnoff Summary: If ntpd is fed a crafted mode 6 or mode 7 packet containing 65149034852cSGleb Smirnoff an unusually long data value where a network address is expected, 65159034852cSGleb Smirnoff the decodenetnum() function will abort with an assertion failure 65169034852cSGleb Smirnoff instead of simply returning a failure condition. 65179034852cSGleb Smirnoff Mitigation: 65189034852cSGleb Smirnoff Implement BCP-38. 65199034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 65209034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page. 65219034852cSGleb Smirnoff If you are unable to upgrade: 65229034852cSGleb Smirnoff mode 7 is disabled by default. Don't enable it. 65239034852cSGleb Smirnoff Use restrict noquery to limit who can send mode 6 65249034852cSGleb Smirnoff and mode 7 requests. 65259034852cSGleb Smirnoff Configure and use the controlkey and requestkey 65269034852cSGleb Smirnoff authentication directives to limit who can 65279034852cSGleb Smirnoff send mode 6 and mode 7 requests. 65289034852cSGleb Smirnoff Monitor your ntpd instances. 65299034852cSGleb Smirnoff Credit: This weakness was discovered by John D "Doug" Birdwell of IDA.org. 65309034852cSGleb Smirnoff 65319034852cSGleb Smirnoff* NAK to the Future: Symmetric association authentication bypass via 65329034852cSGleb Smirnoff crypto-NAK. 65339034852cSGleb Smirnoff 65349034852cSGleb Smirnoff References: Sec 2941 / CVE-2015-7871 65359034852cSGleb Smirnoff Affects: All ntp-4 releases between 4.2.5p186 up to but not including 65369034852cSGleb Smirnoff 4.2.8p4, and 4.3.0 up to but not including 4.3.77 65379034852cSGleb Smirnoff CVSS: (AV:N/AC:L/Au:N/C:N/I:P/A:P) Base Score: 6.4 65389034852cSGleb Smirnoff Summary: Crypto-NAK packets can be used to cause ntpd to accept time 65399034852cSGleb Smirnoff from unauthenticated ephemeral symmetric peers by bypassing the 65409034852cSGleb Smirnoff authentication required to mobilize peer associations. This 65419034852cSGleb Smirnoff vulnerability appears to have been introduced in ntp-4.2.5p186 65429034852cSGleb Smirnoff when the code handling mobilization of new passive symmetric 65439034852cSGleb Smirnoff associations (lines 1103-1165) was refactored. 65449034852cSGleb Smirnoff Mitigation: 65459034852cSGleb Smirnoff Implement BCP-38. 65469034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 65479034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page. 65489034852cSGleb Smirnoff If you are unable to upgrade: 65499034852cSGleb Smirnoff Apply the patch to the bottom of the "authentic" check 65509034852cSGleb Smirnoff block around line 1136 of ntp_proto.c. 65519034852cSGleb Smirnoff Monitor your ntpd instances. 65524990d495SXin LI Credit: This weakness was discovered by Matthew Van Gundy of Cisco ASIG. 65539034852cSGleb Smirnoff 65549034852cSGleb SmirnoffBackward-Incompatible changes: 65559034852cSGleb Smirnoff* [Bug 2817] Default on Linux is now "rlimit memlock -1". 65569034852cSGleb Smirnoff While the general default of 32M is still the case, under Linux 65579034852cSGleb Smirnoff the default value has been changed to -1 (do not lock ntpd into 65589034852cSGleb Smirnoff memory). A value of 0 means "lock ntpd into memory with whatever 65599034852cSGleb Smirnoff memory it needs." If your ntp.conf file has an explicit "rlimit memlock" 65609034852cSGleb Smirnoff value in it, that value will continue to be used. 65619034852cSGleb Smirnoff 65629034852cSGleb Smirnoff* [Bug 2886] Misspelling: "outlyer" should be "outlier". 65639034852cSGleb Smirnoff If you've written a script that looks for this case in, say, the 65649034852cSGleb Smirnoff output of ntpq, you probably want to change your regex matches 65659034852cSGleb Smirnoff from 'outlyer' to 'outl[iy]er'. 65669034852cSGleb Smirnoff 65679034852cSGleb SmirnoffNew features in this release: 65689034852cSGleb Smirnoff* 'rlimit memlock' now has finer-grained control. A value of -1 means 65699034852cSGleb Smirnoff "don't lock ntpd into memore". This is the default for Linux boxes. 65709034852cSGleb Smirnoff A value of 0 means "lock ntpd into memory" with no limits. Otherwise 65719034852cSGleb Smirnoff the value is the number of megabytes of memory to lock. The default 65729034852cSGleb Smirnoff is 32 megabytes. 65739034852cSGleb Smirnoff 65749034852cSGleb Smirnoff* The old Google Test framework has been replaced with a new framework, 65759034852cSGleb Smirnoff based on http://www.throwtheswitch.org/unity/ . 65769034852cSGleb Smirnoff 65779034852cSGleb SmirnoffBug Fixes and Improvements: 65789034852cSGleb Smirnoff* [Bug 2332] (reopened) Exercise thread cancellation once before dropping 65799034852cSGleb Smirnoff privileges and limiting resources in NTPD removes the need to link 65809034852cSGleb Smirnoff forcefully against 'libgcc_s' which does not always work. J.Perlinger 65819034852cSGleb Smirnoff* [Bug 2595] ntpdate man page quirks. Hal Murray, Harlan Stenn. 65829034852cSGleb Smirnoff* [Bug 2625] Deprecate flag1 in local refclock. Hal Murray, Harlan Stenn. 65839034852cSGleb Smirnoff* [Bug 2817] Stop locking ntpd into memory by default under Linux. H.Stenn. 65849034852cSGleb Smirnoff* [Bug 2821] minor build issues: fixed refclock_gpsdjson.c. perlinger@ntp.org 65859034852cSGleb Smirnoff* [Bug 2823] ntpsweep with recursive peers option doesn't work. H.Stenn. 65869034852cSGleb Smirnoff* [Bug 2849] Systems with more than one default route may never 65879034852cSGleb Smirnoff synchronize. Brian Utterback. Note that this patch might need to 65889034852cSGleb Smirnoff be reverted once Bug 2043 has been fixed. 65899034852cSGleb Smirnoff* [Bug 2864] 4.2.8p3 fails to compile on Windows. Juergen Perlinger 65909034852cSGleb Smirnoff* [Bug 2866] segmentation fault at initgroups(). Harlan Stenn. 65919034852cSGleb Smirnoff* [Bug 2867] ntpd with autokey active crashed by 'ntpq -crv'. J.Perlinger 65929034852cSGleb Smirnoff* [Bug 2873] libevent should not include .deps/ in the tarball. H.Stenn 65939034852cSGleb Smirnoff* [Bug 2874] Don't distribute generated sntp/tests/fileHandlingTest.h. H.Stenn 65949034852cSGleb Smirnoff* [Bug 2875] sntp/Makefile.am: Get rid of DIST_SUBDIRS. libevent must 65959034852cSGleb Smirnoff be configured for the distribution targets. Harlan Stenn. 65969034852cSGleb Smirnoff* [Bug 2883] ntpd crashes on exit with empty driftfile. Miroslav Lichvar. 65979034852cSGleb Smirnoff* [Bug 2886] Mis-spelling: "outlyer" should be "outlier". dave@horsfall.org 65989034852cSGleb Smirnoff* [Bug 2888] streamline calendar functions. perlinger@ntp.org 65999034852cSGleb Smirnoff* [Bug 2889] ntp-dev-4.3.67 does not build on Windows. perlinger@ntp.org 66009034852cSGleb Smirnoff* [Bug 2890] Ignore ENOBUFS on routing netlink socket. Konstantin Khlebnikov. 66019034852cSGleb Smirnoff* [Bug 2906] make check needs better support for pthreads. Harlan Stenn. 66029034852cSGleb Smirnoff* [Bug 2907] dist* build targets require our libevent/ to be enabled. HStenn. 66039034852cSGleb Smirnoff* [Bug 2912] no munlockall() under Windows. David Taylor, Harlan Stenn. 66049034852cSGleb Smirnoff* libntp/emalloc.c: Remove explicit include of stdint.h. Harlan Stenn. 66059034852cSGleb Smirnoff* Put Unity CPPFLAGS items in unity_config.h. Harlan Stenn. 66069034852cSGleb Smirnoff* tests/ntpd/g_leapsec.cpp typo fix. Harlan Stenn. 66079034852cSGleb Smirnoff* Phase 1 deprecation of google test in sntp/tests/. Harlan Stenn. 66089034852cSGleb Smirnoff* On some versions of HP-UX, inttypes.h does not include stdint.h. H.Stenn. 66099034852cSGleb Smirnoff* top_srcdir can change based on ntp v. sntp. Harlan Stenn. 66109034852cSGleb Smirnoff* sntp/tests/ function parameter list cleanup. Damir Tomić. 66119034852cSGleb Smirnoff* tests/libntp/ function parameter list cleanup. Damir Tomić. 66129034852cSGleb Smirnoff* tests/ntpd/ function parameter list cleanup. Damir Tomić. 66139034852cSGleb Smirnoff* sntp/unity/unity_config.h: handle stdint.h. Harlan Stenn. 66149034852cSGleb Smirnoff* sntp/unity/unity_internals.h: handle *INTPTR_MAX on old Solaris. H.Stenn. 66159034852cSGleb Smirnoff* tests/libntp/timevalops.c and timespecops.c fixed error printing. D.Tomić. 66169034852cSGleb Smirnoff* tests/libntp/ improvements in code and fixed error printing. Damir Tomić. 66179034852cSGleb Smirnoff* tests/libntp: a_md5encrypt.c, authkeys.c, buftvtots.c, calendar.c, caljulian.c, 66189034852cSGleb Smirnoff caltontp.c, clocktime.c, humandate.c, hextolfp.c, decodenetnum.c - fixed 66199034852cSGleb Smirnoff formatting; first declaration, then code (C90); deleted unnecessary comments; 66209034852cSGleb Smirnoff changed from sprintf to snprintf; fixed order of includes. Tomasz Flendrich 66219034852cSGleb Smirnoff* tests/libntp/lfpfunc.c remove unnecessary include, remove old comments, 66229034852cSGleb Smirnoff fix formatting, cleanup. Tomasz Flendrich 66239034852cSGleb Smirnoff* tests/libntp/lfptostr.c remove unnecessary include, add consts, fix formatting. 66249034852cSGleb Smirnoff Tomasz Flendrich 66259034852cSGleb Smirnoff* tests/libntp/statestr.c remove empty functions, remove unnecessary include, 66269034852cSGleb Smirnoff fix formatting. Tomasz Flendrich 66279034852cSGleb Smirnoff* tests/libntp/modetoa.c fixed formatting. Tomasz Flendrich 66289034852cSGleb Smirnoff* tests/libntp/msyslog.c fixed formatting. Tomasz Flendrich 66299034852cSGleb Smirnoff* tests/libntp/numtoa.c deleted unnecessary empty functions, fixed formatting. 66309034852cSGleb Smirnoff Tomasz Flendrich 66319034852cSGleb Smirnoff* tests/libntp/numtohost.c added const, fixed formatting. Tomasz Flendrich 66329034852cSGleb Smirnoff* tests/libntp/refnumtoa.c fixed formatting. Tomasz Flendrich 66339034852cSGleb Smirnoff* tests/libntp/ssl_init.c fixed formatting. Tomasz Flendrich 66349034852cSGleb Smirnoff* tests/libntp/tvtots.c fixed a bug, fixed formatting. Tomasz Flendrich 66359034852cSGleb Smirnoff* tests/libntp/uglydate.c removed an unnecessary include. Tomasz Flendrich 66369034852cSGleb Smirnoff* tests/libntp/vi64ops.c removed an unnecessary comment, fixed formatting. 66379034852cSGleb Smirnoff* tests/libntp/ymd3yd.c removed an empty function and an unnecessary include, 66389034852cSGleb Smirnofffixed formatting. Tomasz Flendrich 66399034852cSGleb Smirnoff* tests/libntp/timespecops.c fixed formatting, fixed the order of includes, 66409034852cSGleb Smirnoff removed unnecessary comments, cleanup. Tomasz Flendrich 66419034852cSGleb Smirnoff* tests/libntp/timevalops.c fixed the order of includes, deleted unnecessary 66429034852cSGleb Smirnoff comments, cleanup. Tomasz Flendrich 66439034852cSGleb Smirnoff* tests/libntp/sockaddrtest.h making it agree to NTP's conventions of formatting. 66449034852cSGleb Smirnoff Tomasz Flendrich 66459034852cSGleb Smirnoff* tests/libntp/lfptest.h cleanup. Tomasz Flendrich 66469034852cSGleb Smirnoff* tests/libntp/test-libntp.c fix formatting. Tomasz Flendrich 66479034852cSGleb Smirnoff* sntp/tests/crypto.c is now using proper Unity's assertions, fixed formatting. 66489034852cSGleb Smirnoff Tomasz Flendrich 66499034852cSGleb Smirnoff* sntp/tests/kodDatabase.c added consts, deleted empty function, 66509034852cSGleb Smirnoff fixed formatting. Tomasz Flendrich 66519034852cSGleb Smirnoff* sntp/tests/kodFile.c cleanup, fixed formatting. Tomasz Flendrich 66529034852cSGleb Smirnoff* sntp/tests/packetHandling.c is now using proper Unity's assertions, 66539034852cSGleb Smirnoff fixed formatting, deleted unused variable. Tomasz Flendrich 66549034852cSGleb Smirnoff* sntp/tests/keyFile.c is now using proper Unity's assertions, fixed formatting. 66559034852cSGleb Smirnoff Tomasz Flendrich 66569034852cSGleb Smirnoff* sntp/tests/packetProcessing.c changed from sprintf to snprintf, 66579034852cSGleb Smirnoff fixed formatting. Tomasz Flendrich 66589034852cSGleb Smirnoff* sntp/tests/utilities.c is now using proper Unity's assertions, changed 66599034852cSGleb Smirnoff the order of includes, fixed formatting, removed unnecessary comments. 66609034852cSGleb Smirnoff Tomasz Flendrich 66619034852cSGleb Smirnoff* sntp/tests/sntptest.h fixed formatting. Tomasz Flendrich 66629034852cSGleb Smirnoff* sntp/tests/fileHandlingTest.h.in fixed a possible buffer overflow problem, 66639034852cSGleb Smirnoff made one function do its job, deleted unnecessary prints, fixed formatting. 66649034852cSGleb Smirnoff Tomasz Flendrich 66659034852cSGleb Smirnoff* sntp/unity/Makefile.am added a missing header. Tomasz Flendrich 66669034852cSGleb Smirnoff* sntp/unity/unity_config.h: Distribute it. Harlan Stenn. 66679034852cSGleb Smirnoff* sntp/libevent/evconfig-private.h: remove generated filefrom SCM. H.Stenn. 66689034852cSGleb Smirnoff* sntp/unity/Makefile.am: fix some broken paths. Harlan Stenn. 66699034852cSGleb Smirnoff* sntp/unity/unity.c: Clean up a printf(). Harlan Stenn. 66709034852cSGleb Smirnoff* Phase 1 deprecation of google test in tests/libntp/. Harlan Stenn. 66719034852cSGleb Smirnoff* Don't build sntp/libevent/sample/. Harlan Stenn. 66729034852cSGleb Smirnoff* tests/libntp/test_caltontp needs -lpthread. Harlan Stenn. 66739034852cSGleb Smirnoff* br-flock: --enable-local-libevent. Harlan Stenn. 66749034852cSGleb Smirnoff* Wrote tests for ntpd/ntp_prio_q.c. Tomasz Flendrich 66759034852cSGleb Smirnoff* scripts/lib/NTP/Util.pm: stratum output is version-dependent. Harlan Stenn. 66769034852cSGleb Smirnoff* Get rid of the NTP_ prefix on our assertion macros. Harlan Stenn. 66779034852cSGleb Smirnoff* Code cleanup. Harlan Stenn. 66789034852cSGleb Smirnoff* libntp/icom.c: Typo fix. Harlan Stenn. 66799034852cSGleb Smirnoff* util/ntptime.c: initialization nit. Harlan Stenn. 66809034852cSGleb Smirnoff* ntpd/ntp_peer.c:newpeer(): added a DEBUG_REQUIRE(srcadr). Harlan Stenn. 66819034852cSGleb Smirnoff* Add std_unity_tests to various Makefile.am files. Harlan Stenn. 66829034852cSGleb Smirnoff* ntpd/ntp_restrict.c: added a few assertions, created tests for this file. 66839034852cSGleb Smirnoff Tomasz Flendrich 66849034852cSGleb Smirnoff* Changed progname to be const in many files - now it's consistent. Tomasz 66859034852cSGleb Smirnoff Flendrich 66869034852cSGleb Smirnoff* Typo fix for GCC warning suppression. Harlan Stenn. 66879034852cSGleb Smirnoff* Added tests/ntpd/ntp_scanner.c test. Damir Tomić. 66889034852cSGleb Smirnoff* Added declarations to all Unity tests, and did minor fixes to them. 66899034852cSGleb Smirnoff Reduced the number of warnings by half. Damir Tomić. 66909034852cSGleb Smirnoff* Updated generate_test_runner.rb and updated the sntp/unity/auto directory 66919034852cSGleb Smirnoff with the latest Unity updates from Mark. Damir Tomić. 66929034852cSGleb Smirnoff* Retire google test - phase I. Harlan Stenn. 66939034852cSGleb Smirnoff* Unity test cleanup: move declaration of 'initializing'. Harlan Stenn. 66949034852cSGleb Smirnoff* Update the NEWS file. Harlan Stenn. 66959034852cSGleb Smirnoff* Autoconf cleanup. Harlan Stenn. 66969034852cSGleb Smirnoff* Unit test dist cleanup. Harlan Stenn. 66979034852cSGleb Smirnoff* Cleanup various test Makefile.am files. Harlan Stenn. 66989034852cSGleb Smirnoff* Pthread autoconf macro cleanup. Harlan Stenn. 66999034852cSGleb Smirnoff* Fix progname definition in unity runner scripts. Harlan Stenn. 67009034852cSGleb Smirnoff* Clean trailing whitespace in tests/ntpd/Makefile.am. Harlan Stenn. 67019034852cSGleb Smirnoff* Update the patch for bug 2817. Harlan Stenn. 67029034852cSGleb Smirnoff* More updates for bug 2817. Harlan Stenn. 67039034852cSGleb Smirnoff* Fix bugs in tests/ntpd/ntp_prio_q.c. Harlan Stenn. 67049034852cSGleb Smirnoff* gcc on older HPUX may need +allowdups. Harlan Stenn. 67059034852cSGleb Smirnoff* Adding missing MCAST protection. Harlan Stenn. 67069034852cSGleb Smirnoff* Disable certain test programs on certain platforms. Harlan Stenn. 67079034852cSGleb Smirnoff* Implement --enable-problem-tests (on by default). Harlan Stenn. 67089034852cSGleb Smirnoff* build system tweaks. Harlan Stenn. 67099034852cSGleb Smirnoff 67109034852cSGleb Smirnoff--- 6711276da39aSCy SchubertNTP 4.2.8p3 (Harlan Stenn <stenn@ntp.org>, 2015/06/29) 6712276da39aSCy Schubert 6713276da39aSCy SchubertFocus: 1 Security fix. Bug fixes and enhancements. Leap-second improvements. 6714276da39aSCy Schubert 6715276da39aSCy SchubertSeverity: MEDIUM 6716276da39aSCy Schubert 6717276da39aSCy SchubertSecurity Fix: 6718276da39aSCy Schubert 6719276da39aSCy Schubert* [Sec 2853] Crafted remote config packet can crash some versions of 6720276da39aSCy Schubert ntpd. Aleksis Kauppinen, Juergen Perlinger, Harlan Stenn. 6721276da39aSCy Schubert 6722276da39aSCy SchubertUnder specific circumstances an attacker can send a crafted packet to 6723276da39aSCy Schubertcause a vulnerable ntpd instance to crash. This requires each of the 6724276da39aSCy Schubertfollowing to be true: 6725276da39aSCy Schubert 6726276da39aSCy Schubert1) ntpd set up to allow remote configuration (not allowed by default), and 6727276da39aSCy Schubert2) knowledge of the configuration password, and 6728276da39aSCy Schubert3) access to a computer entrusted to perform remote configuration. 6729276da39aSCy Schubert 6730276da39aSCy SchubertThis vulnerability is considered low-risk. 6731276da39aSCy Schubert 6732276da39aSCy SchubertNew features in this release: 6733276da39aSCy Schubert 6734276da39aSCy SchubertOptional (disabled by default) support to have ntpd provide smeared 6735276da39aSCy Schubertleap second time. A specially built and configured ntpd will only 6736276da39aSCy Schubertoffer smeared time in response to client packets. These response 6737276da39aSCy Schubertpackets will also contain a "refid" of 254.a.b.c, where the 24 bits 6738276da39aSCy Schubertof a, b, and c encode the amount of smear in a 2:22 integer:fraction 6739276da39aSCy Schubertformat. See README.leapsmear and http://bugs.ntp.org/2855 for more 6740276da39aSCy Schubertinformation. 6741276da39aSCy Schubert 6742276da39aSCy Schubert *IF YOU CHOOSE TO CONFIGURE NTPD TO PROVIDE LEAP SMEAR TIME* 6743276da39aSCy Schubert *BE SURE YOU DO NOT OFFER THAT TIME ON PUBLIC TIMESERVERS.* 6744276da39aSCy Schubert 6745276da39aSCy SchubertWe've imported the Unity test framework, and have begun converting 6746276da39aSCy Schubertthe existing google-test items to this new framework. If you want 6747276da39aSCy Schubertto write new tests or change old ones, you'll need to have ruby 6748276da39aSCy Schubertinstalled. You don't need ruby to run the test suite. 6749276da39aSCy Schubert 6750276da39aSCy SchubertBug Fixes and Improvements: 6751276da39aSCy Schubert 6752276da39aSCy Schubert* CID 739725: Fix a rare resource leak in libevent/listener.c. 6753276da39aSCy Schubert* CID 1295478: Quiet a pedantic potential error from the fix for Bug 2776. 6754276da39aSCy Schubert* CID 1296235: Fix refclock_jjy.c and correcting type of the driver40-ja.html 6755276da39aSCy Schubert* CID 1269537: Clean up a line of dead code in getShmTime(). 6756276da39aSCy Schubert* [Bug 1060] Buffer overruns in libparse/clk_rawdcf.c. Helge Oldach. 6757276da39aSCy Schubert* [Bug 2590] autogen-5.18.5. 6758276da39aSCy Schubert* [Bug 2612] restrict: Warn when 'monitor' can't be disabled because 6759276da39aSCy Schubert of 'limited'. 6760276da39aSCy Schubert* [Bug 2650] fix includefile processing. 6761276da39aSCy Schubert* [Bug 2745] ntpd -x steps clock on leap second 6762276da39aSCy Schubert Fixed an initial-value problem that caused misbehaviour in absence of 6763276da39aSCy Schubert any leapsecond information. 6764276da39aSCy Schubert Do leap second stepping only of the step adjustment is beyond the 6765276da39aSCy Schubert proper jump distance limit and step correction is allowed at all. 6766276da39aSCy Schubert* [Bug 2750] build for Win64 6767276da39aSCy Schubert Building for 32bit of loopback ppsapi needs def file 6768276da39aSCy Schubert* [Bug 2776] Improve ntpq's 'help keytype'. 6769276da39aSCy Schubert* [Bug 2778] Implement "apeers" ntpq command to include associd. 6770276da39aSCy Schubert* [Bug 2782] Refactor refclock_shm.c, add memory barrier protection. 6771276da39aSCy Schubert* [Bug 2792] If the IFF_RUNNING interface flag is supported then an 6772276da39aSCy Schubert interface is ignored as long as this flag is not set since the 6773276da39aSCy Schubert interface is not usable (e.g., no link). 6774276da39aSCy Schubert* [Bug 2794] Clean up kernel clock status reports. 6775276da39aSCy Schubert* [Bug 2800] refclock_true.c true_debug() can't open debug log because 6776276da39aSCy Schubert of incompatible open/fdopen parameters. 6777276da39aSCy Schubert* [Bug 2804] install-local-data assumes GNU 'find' semantics. 6778276da39aSCy Schubert* [Bug 2805] ntpd fails to join multicast group. 6779276da39aSCy Schubert* [Bug 2806] refclock_jjy.c supports the Telephone JJY. 6780276da39aSCy Schubert* [Bug 2808] GPSD_JSON driver enhancements, step 1. 6781276da39aSCy Schubert Fix crash during cleanup if GPS device not present and char device. 6782276da39aSCy Schubert Increase internal token buffer to parse all JSON data, even SKY. 6783276da39aSCy Schubert Defer logging of errors during driver init until the first unit is 6784276da39aSCy Schubert started, so the syslog is not cluttered when the driver is not used. 6785276da39aSCy Schubert Various improvements, see http://bugs.ntp.org/2808 for details. 6786276da39aSCy Schubert Changed libjsmn to a more recent version. 6787276da39aSCy Schubert* [Bug 2810] refclock_shm.c memory barrier code needs tweaks for QNX. 6788276da39aSCy Schubert* [Bug 2813] HP-UX needs -D__STDC_VERSION__=199901L and limits.h. 6789276da39aSCy Schubert* [Bug 2815] net-snmp before v5.4 has circular library dependencies. 6790276da39aSCy Schubert* [Bug 2821] Add a missing NTP_PRINTF and a missing const. 6791276da39aSCy Schubert* [Bug 2822] New leap column in sntp broke NTP::Util.pm. 6792276da39aSCy Schubert* [Bug 2824] Convert update-leap to perl. (also see 2769) 6793276da39aSCy Schubert* [Bug 2825] Quiet file installation in html/ . 6794276da39aSCy Schubert* [Bug 2830] ntpd doesn't always transfer the correct TAI offset via autokey 6795276da39aSCy Schubert NTPD transfers the current TAI (instead of an announcement) now. 6796276da39aSCy Schubert This might still needed improvement. 6797276da39aSCy Schubert Update autokey data ASAP when 'sys_tai' changes. 6798276da39aSCy Schubert Fix unit test that was broken by changes for autokey update. 6799276da39aSCy Schubert Avoid potential signature length issue and use DPRINTF where possible 6800276da39aSCy Schubert in ntp_crypto.c. 6801276da39aSCy Schubert* [Bug 2832] refclock_jjy.c supports the TDC-300. 6802276da39aSCy Schubert* [Bug 2834] Correct a broken html tag in html/refclock.html 6803276da39aSCy Schubert* [Bug 2836] DFC77 patches from Frank Kardel to make decoding more 6804276da39aSCy Schubert robust, and require 2 consecutive timestamps to be consistent. 6805276da39aSCy Schubert* [Bug 2837] Allow a configurable DSCP value. 6806276da39aSCy Schubert* [Bug 2837] add test for DSCP to ntpd/complete.conf.in 6807276da39aSCy Schubert* [Bug 2842] Glitch in ntp.conf.def documentation stanza. 6808276da39aSCy Schubert* [Bug 2842] Bug in mdoc2man. 6809276da39aSCy Schubert* [Bug 2843] make check fails on 4.3.36 6810276da39aSCy Schubert Fixed compiler warnings about numeric range overflow 6811276da39aSCy Schubert (The original topic was fixed in a byplay to bug#2830) 6812276da39aSCy Schubert* [Bug 2845] Harden memory allocation in ntpd. 6813276da39aSCy Schubert* [Bug 2852] 'make check' can't find unity.h. Hal Murray. 6814276da39aSCy Schubert* [Bug 2854] Missing brace in libntp/strdup.c. Masanari Iida. 6815276da39aSCy Schubert* [Bug 2855] Parser fix for conditional leap smear code. Harlan Stenn. 6816276da39aSCy Schubert* [Bug 2855] Report leap smear in the REFID. Harlan Stenn. 6817276da39aSCy Schubert* [Bug 2855] Implement conditional leap smear code. Martin Burnicki. 6818276da39aSCy Schubert* [Bug 2856] ntpd should wait() on terminated child processes. Paul Green. 6819276da39aSCy Schubert* [Bug 2857] Stratus VOS does not support SIGIO. Paul Green. 6820276da39aSCy Schubert* [Bug 2859] Improve raw DCF77 robustness deconding. Frank Kardel. 6821276da39aSCy Schubert* [Bug 2860] ntpq ifstats sanity check is too stringent. Frank Kardel. 6822276da39aSCy Schubert* html/drivers/driver22.html: typo fix. Harlan Stenn. 6823276da39aSCy Schubert* refidsmear test cleanup. Tomasz Flendrich. 6824276da39aSCy Schubert* refidsmear function support and tests. Harlan Stenn. 6825276da39aSCy Schubert* sntp/tests/Makefile.am: remove g_nameresolution.cpp as it tested 6826276da39aSCy Schubert something that was only in the 4.2.6 sntp. Harlan Stenn. 6827276da39aSCy Schubert* Modified tests/bug-2803/Makefile.am so it builds Unity framework tests. 6828276da39aSCy Schubert Damir Tomić 6829276da39aSCy Schubert* Modified tests/libtnp/Makefile.am so it builds Unity framework tests. 6830276da39aSCy Schubert Damir Tomić 6831276da39aSCy Schubert* Modified sntp/tests/Makefile.am so it builds Unity framework tests. 6832276da39aSCy Schubert Damir Tomić 6833276da39aSCy Schubert* tests/sandbox/smeartest.c: Harlan Stenn, Damir Tomic, Juergen Perlinger. 6834276da39aSCy Schubert* Converted from gtest to Unity: tests/bug-2803/. Damir Tomić 6835276da39aSCy Schubert* Converted from gtest to Unity: tests/libntp/ a_md5encrypt, atoint.c, 6836276da39aSCy Schubert atouint.c, authkeys.c, buftvtots.c, calendar.c, caljulian.c, 6837276da39aSCy Schubert calyearstart.c, clocktime.c, hextoint.c, lfpfunc.c, modetoa.c, 6838276da39aSCy Schubert numtoa.c, numtohost.c, refnumtoa.c, ssl_init.c, statestr.c, 6839276da39aSCy Schubert timespecops.c, timevalops.c, uglydate.c, vi64ops.c, ymd2yd.c. 6840276da39aSCy Schubert Damir Tomić 6841276da39aSCy Schubert* Converted from gtest to Unity: sntp/tests/ kodDatabase.c, kodFile.c, 6842276da39aSCy Schubert networking.c, keyFile.c, utilities.cpp, sntptest.h, 6843276da39aSCy Schubert fileHandlingTest.h. Damir Tomić 6844276da39aSCy Schubert* Initial support for experimental leap smear code. Harlan Stenn. 6845276da39aSCy Schubert* Fixes to sntp/tests/fileHandlingTest.h.in. Harlan Stenn. 6846276da39aSCy Schubert* Report select() debug messages at debug level 3 now. 6847276da39aSCy Schubert* sntp/scripts/genLocInfo: treat raspbian as debian. 6848276da39aSCy Schubert* Unity test framework fixes. 6849276da39aSCy Schubert ** Requires ruby for changes to tests. 6850276da39aSCy Schubert* Initial support for PACKAGE_VERSION tests. 6851276da39aSCy Schubert* sntp/libpkgver belongs in EXTRA_DIST, not DIST_SUBDIRS. 6852276da39aSCy Schubert* tests/bug-2803/Makefile.am must distribute bug-2803.h. 6853276da39aSCy Schubert* Add an assert to the ntpq ifstats code. 6854276da39aSCy Schubert* Clean up the RLIMIT_STACK code. 6855276da39aSCy Schubert* Improve the ntpq documentation around the controlkey keyid. 6856276da39aSCy Schubert* ntpq.c cleanup. 6857276da39aSCy Schubert* Windows port build cleanup. 6858276da39aSCy Schubert 6859276da39aSCy Schubert--- 6860276da39aSCy SchubertNTP 4.2.8p2 (Harlan Stenn <stenn@ntp.org>, 2015/04/07) 6861a25439b6SCy Schubert 6862a25439b6SCy SchubertFocus: Security and Bug fixes, enhancements. 6863a25439b6SCy Schubert 6864a25439b6SCy SchubertSeverity: MEDIUM 6865a25439b6SCy Schubert 6866a25439b6SCy SchubertIn addition to bug fixes and enhancements, this release fixes the 6867a25439b6SCy Schubertfollowing medium-severity vulnerabilities involving private key 6868a25439b6SCy Schubertauthentication: 6869a25439b6SCy Schubert 6870a25439b6SCy Schubert* [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto. 6871a25439b6SCy Schubert 6872a25439b6SCy Schubert References: Sec 2779 / CVE-2015-1798 / VU#374268 6873a25439b6SCy Schubert Affects: All NTP4 releases starting with ntp-4.2.5p99 up to but not 6874a25439b6SCy Schubert including ntp-4.2.8p2 where the installation uses symmetric keys 6875a25439b6SCy Schubert to authenticate remote associations. 6876a25439b6SCy Schubert CVSS: (AV:A/AC:M/Au:N/C:P/I:P/A:P) Base Score: 5.4 6877a25439b6SCy Schubert Date Resolved: Stable (4.2.8p2) 07 Apr 2015 6878a25439b6SCy Schubert Summary: When ntpd is configured to use a symmetric key to authenticate 6879a25439b6SCy Schubert a remote NTP server/peer, it checks if the NTP message 6880a25439b6SCy Schubert authentication code (MAC) in received packets is valid, but not if 6881a25439b6SCy Schubert there actually is any MAC included. Packets without a MAC are 6882a25439b6SCy Schubert accepted as if they had a valid MAC. This allows a MITM attacker to 6883a25439b6SCy Schubert send false packets that are accepted by the client/peer without 6884a25439b6SCy Schubert having to know the symmetric key. The attacker needs to know the 6885a25439b6SCy Schubert transmit timestamp of the client to match it in the forged reply 6886a25439b6SCy Schubert and the false reply needs to reach the client before the genuine 6887a25439b6SCy Schubert reply from the server. The attacker doesn't necessarily need to be 6888a25439b6SCy Schubert relaying the packets between the client and the server. 6889a25439b6SCy Schubert 6890a25439b6SCy Schubert Authentication using autokey doesn't have this problem as there is 6891a25439b6SCy Schubert a check that requires the key ID to be larger than NTP_MAXKEY, 6892a25439b6SCy Schubert which fails for packets without a MAC. 6893a25439b6SCy Schubert Mitigation: 6894a25439b6SCy Schubert Upgrade to 4.2.8p2, or later, from the NTP Project Download Page 6895a25439b6SCy Schubert or the NTP Public Services Project Download Page 6896a25439b6SCy Schubert Configure ntpd with enough time sources and monitor it properly. 6897a25439b6SCy Schubert Credit: This issue was discovered by Miroslav Lichvar, of Red Hat. 6898a25439b6SCy Schubert 6899a25439b6SCy Schubert* [Sec 2781] Authentication doesn't protect symmetric associations against 6900a25439b6SCy Schubert DoS attacks. 6901a25439b6SCy Schubert 6902a25439b6SCy Schubert References: Sec 2781 / CVE-2015-1799 / VU#374268 6903a25439b6SCy Schubert Affects: All NTP releases starting with at least xntp3.3wy up to but 6904a25439b6SCy Schubert not including ntp-4.2.8p2 where the installation uses symmetric 6905a25439b6SCy Schubert key authentication. 6906a25439b6SCy Schubert CVSS: (AV:A/AC:M/Au:N/C:P/I:P/A:P) Base Score: 5.4 6907a25439b6SCy Schubert Note: the CVSS base Score for this issue could be 4.3 or lower, and 6908a25439b6SCy Schubert it could be higher than 5.4. 6909a25439b6SCy Schubert Date Resolved: Stable (4.2.8p2) 07 Apr 2015 6910a25439b6SCy Schubert Summary: An attacker knowing that NTP hosts A and B are peering with 6911a25439b6SCy Schubert each other (symmetric association) can send a packet to host A 6912a25439b6SCy Schubert with source address of B which will set the NTP state variables 6913a25439b6SCy Schubert on A to the values sent by the attacker. Host A will then send 6914a25439b6SCy Schubert on its next poll to B a packet with originate timestamp that 6915a25439b6SCy Schubert doesn't match the transmit timestamp of B and the packet will 6916a25439b6SCy Schubert be dropped. If the attacker does this periodically for both 6917a25439b6SCy Schubert hosts, they won't be able to synchronize to each other. This is 6918a25439b6SCy Schubert a known denial-of-service attack, described at 6919a25439b6SCy Schubert https://www.eecis.udel.edu/~mills/onwire.html . 6920a25439b6SCy Schubert 6921a25439b6SCy Schubert According to the document the NTP authentication is supposed to 6922a25439b6SCy Schubert protect symmetric associations against this attack, but that 6923a25439b6SCy Schubert doesn't seem to be the case. The state variables are updated even 6924a25439b6SCy Schubert when authentication fails and the peers are sending packets with 6925a25439b6SCy Schubert originate timestamps that don't match the transmit timestamps on 6926a25439b6SCy Schubert the receiving side. 6927a25439b6SCy Schubert 6928a25439b6SCy Schubert This seems to be a very old problem, dating back to at least 6929a25439b6SCy Schubert xntp3.3wy. It's also in the NTPv3 (RFC 1305) and NTPv4 (RFC 5905) 6930a25439b6SCy Schubert specifications, so other NTP implementations with support for 6931a25439b6SCy Schubert symmetric associations and authentication may be vulnerable too. 6932a25439b6SCy Schubert An update to the NTP RFC to correct this error is in-process. 6933a25439b6SCy Schubert Mitigation: 6934a25439b6SCy Schubert Upgrade to 4.2.8p2, or later, from the NTP Project Download Page 6935a25439b6SCy Schubert or the NTP Public Services Project Download Page 6936a25439b6SCy Schubert Note that for users of autokey, this specific style of MITM attack 6937a25439b6SCy Schubert is simply a long-known potential problem. 6938a25439b6SCy Schubert Configure ntpd with appropriate time sources and monitor ntpd. 6939a25439b6SCy Schubert Alert your staff if problems are detected. 6940a25439b6SCy Schubert Credit: This issue was discovered by Miroslav Lichvar, of Red Hat. 6941a25439b6SCy Schubert 6942a25439b6SCy Schubert* New script: update-leap 6943a25439b6SCy SchubertThe update-leap script will verify and if necessary, update the 6944a25439b6SCy Schubertleap-second definition file. 6945a25439b6SCy SchubertIt requires the following commands in order to work: 6946a25439b6SCy Schubert 6947a25439b6SCy Schubert wget logger tr sed shasum 6948a25439b6SCy Schubert 6949a25439b6SCy SchubertSome may choose to run this from cron. It needs more portability testing. 6950a25439b6SCy Schubert 6951a25439b6SCy SchubertBug Fixes and Improvements: 6952a25439b6SCy Schubert 6953a25439b6SCy Schubert* [Bug 1787] DCF77's formerly "antenna" bit is "call bit" since 2003. 6954a25439b6SCy Schubert* [Bug 1960] setsockopt IPV6_MULTICAST_IF: Invalid argument. 6955a25439b6SCy Schubert* [Bug 2346] "graceful termination" signals do not do peer cleanup. 6956a25439b6SCy Schubert* [Bug 2728] See if C99-style structure initialization works. 6957a25439b6SCy Schubert* [Bug 2747] Upgrade libevent to 2.1.5-beta. 6958a25439b6SCy Schubert* [Bug 2749] ntp/lib/NTP/Util.pm needs update for ntpq -w, IPv6, .POOL. . 6959a25439b6SCy Schubert* [Bug 2751] jitter.h has stale copies of l_fp macros. 6960a25439b6SCy Schubert* [Bug 2756] ntpd hangs in startup with gcc 3.3.5 on ARM. 6961a25439b6SCy Schubert* [Bug 2757] Quiet compiler warnings. 6962a25439b6SCy Schubert* [Bug 2759] Expose nonvolatile/clk_wander_threshold to ntpq. 6963a25439b6SCy Schubert* [Bug 2763] Allow different thresholds for forward and backward steps. 6964a25439b6SCy Schubert* [Bug 2766] ntp-keygen output files should not be world-readable. 6965a25439b6SCy Schubert* [Bug 2767] ntp-keygen -M should symlink to ntp.keys. 6966a25439b6SCy Schubert* [Bug 2771] nonvolatile value is documented in wrong units. 6967a25439b6SCy Schubert* [Bug 2773] Early leap announcement from Palisade/Thunderbolt 6968a25439b6SCy Schubert* [Bug 2774] Unreasonably verbose printout - leap pending/warning 6969a25439b6SCy Schubert* [Bug 2775] ntp-keygen.c fails to compile under Windows. 6970a25439b6SCy Schubert* [Bug 2777] Fixed loops and decoding of Meinberg GPS satellite info. 6971a25439b6SCy Schubert Removed non-ASCII characters from some copyright comments. 6972a25439b6SCy Schubert Removed trailing whitespace. 6973a25439b6SCy Schubert Updated definitions for Meinberg clocks from current Meinberg header files. 6974a25439b6SCy Schubert Now use C99 fixed-width types and avoid non-ASCII characters in comments. 6975a25439b6SCy Schubert Account for updated definitions pulled from Meinberg header files. 6976a25439b6SCy Schubert Updated comments on Meinberg GPS receivers which are not only called GPS16x. 6977a25439b6SCy Schubert Replaced some constant numbers by defines from ntp_calendar.h 6978a25439b6SCy Schubert Modified creation of parse-specific variables for Meinberg devices 6979a25439b6SCy Schubert in gps16x_message(). 6980a25439b6SCy Schubert Reworked mk_utcinfo() to avoid printing of ambiguous leap second dates. 6981a25439b6SCy Schubert Modified mbg_tm_str() which now expexts an additional parameter controlling 6982a25439b6SCy Schubert if the time status shall be printed. 6983a25439b6SCy Schubert* [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto. 6984a25439b6SCy Schubert* [Sec 2781] Authentication doesn't protect symmetric associations against 6985a25439b6SCy Schubert DoS attacks. 6986a25439b6SCy Schubert* [Bug 2783] Quiet autoconf warnings about missing AC_LANG_SOURCE. 6987a25439b6SCy Schubert* [Bug 2789] Quiet compiler warnings from libevent. 6988a25439b6SCy Schubert* [Bug 2790] If ntpd sets the Windows MM timer highest resolution 6989a25439b6SCy Schubert pause briefly before measuring system clock precision to yield 6990a25439b6SCy Schubert correct results. 6991a25439b6SCy Schubert* Comment from Juergen Perlinger in ntp_calendar.c to make the code clearer. 6992a25439b6SCy Schubert* Use predefined function types for parse driver functions 6993a25439b6SCy Schubert used to set up function pointers. 6994a25439b6SCy Schubert Account for changed prototype of parse_inp_fnc_t functions. 6995a25439b6SCy Schubert Cast parse conversion results to appropriate types to avoid 6996a25439b6SCy Schubert compiler warnings. 6997a25439b6SCy Schubert Let ioctl() for Windows accept a (void *) to avoid compiler warnings 6998a25439b6SCy Schubert when called with pointers to different types. 6999a25439b6SCy Schubert 7000a25439b6SCy Schubert--- 70012b15cb3dSCy SchubertNTP 4.2.8p1 (Harlan Stenn <stenn@ntp.org>, 2015/02/04) 70022b15cb3dSCy Schubert 70032b15cb3dSCy SchubertFocus: Security and Bug fixes, enhancements. 70042b15cb3dSCy Schubert 70052b15cb3dSCy SchubertSeverity: HIGH 70062b15cb3dSCy Schubert 70072b15cb3dSCy SchubertIn addition to bug fixes and enhancements, this release fixes the 70082b15cb3dSCy Schubertfollowing high-severity vulnerabilities: 70092b15cb3dSCy Schubert 70102b15cb3dSCy Schubert* vallen is not validated in several places in ntp_crypto.c, leading 70112b15cb3dSCy Schubert to a potential information leak or possibly a crash 70122b15cb3dSCy Schubert 70132b15cb3dSCy Schubert References: Sec 2671 / CVE-2014-9297 / VU#852879 70142b15cb3dSCy Schubert Affects: All NTP4 releases before 4.2.8p1 that are running autokey. 70152b15cb3dSCy Schubert CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5 70162b15cb3dSCy Schubert Date Resolved: Stable (4.2.8p1) 04 Feb 2015 70172b15cb3dSCy Schubert Summary: The vallen packet value is not validated in several code 70182b15cb3dSCy Schubert paths in ntp_crypto.c which can lead to information leakage 70192b15cb3dSCy Schubert or perhaps a crash of the ntpd process. 70202b15cb3dSCy Schubert Mitigation - any of: 70212b15cb3dSCy Schubert Upgrade to 4.2.8p1, or later, from the NTP Project Download Page 70222b15cb3dSCy Schubert or the NTP Public Services Project Download Page. 70232b15cb3dSCy Schubert Disable Autokey Authentication by removing, or commenting out, 70242b15cb3dSCy Schubert all configuration directives beginning with the "crypto" 70252b15cb3dSCy Schubert keyword in your ntp.conf file. 70262b15cb3dSCy Schubert Credit: This vulnerability was discovered by Stephen Roettger of the 70272b15cb3dSCy Schubert Google Security Team, with additional cases found by Sebastian 70282b15cb3dSCy Schubert Krahmer of the SUSE Security Team and Harlan Stenn of Network 70292b15cb3dSCy Schubert Time Foundation. 70302b15cb3dSCy Schubert 70312b15cb3dSCy Schubert* ::1 can be spoofed on some OSes, so ACLs based on IPv6 ::1 addresses 70322b15cb3dSCy Schubert can be bypassed. 70332b15cb3dSCy Schubert 70342b15cb3dSCy Schubert References: Sec 2672 / CVE-2014-9298 / VU#852879 70352b15cb3dSCy Schubert Affects: All NTP4 releases before 4.2.8p1, under at least some 70362b15cb3dSCy Schubert versions of MacOS and Linux. *BSD has not been seen to be vulnerable. 70372b15cb3dSCy Schubert CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:C) Base Score: 9 70382b15cb3dSCy Schubert Date Resolved: Stable (4.2.8p1) 04 Feb 2014 70392b15cb3dSCy Schubert Summary: While available kernels will prevent 127.0.0.1 addresses 70402b15cb3dSCy Schubert from "appearing" on non-localhost IPv4 interfaces, some kernels 70412b15cb3dSCy Schubert do not offer the same protection for ::1 source addresses on 70422b15cb3dSCy Schubert IPv6 interfaces. Since NTP's access control is based on source 70432b15cb3dSCy Schubert address and localhost addresses generally have no restrictions, 70442b15cb3dSCy Schubert an attacker can send malicious control and configuration packets 70452b15cb3dSCy Schubert by spoofing ::1 addresses from the outside. Note Well: This is 70462b15cb3dSCy Schubert not really a bug in NTP, it's a problem with some OSes. If you 70472b15cb3dSCy Schubert have one of these OSes where ::1 can be spoofed, ALL ::1 -based 70482b15cb3dSCy Schubert ACL restrictions on any application can be bypassed! 70492b15cb3dSCy Schubert Mitigation: 70502b15cb3dSCy Schubert Upgrade to 4.2.8p1, or later, from the NTP Project Download Page 70512b15cb3dSCy Schubert or the NTP Public Services Project Download Page 70522b15cb3dSCy Schubert Install firewall rules to block packets claiming to come from 70532b15cb3dSCy Schubert ::1 from inappropriate network interfaces. 70542b15cb3dSCy Schubert Credit: This vulnerability was discovered by Stephen Roettger of 70552b15cb3dSCy Schubert the Google Security Team. 70562b15cb3dSCy Schubert 70572b15cb3dSCy SchubertAdditionally, over 30 bugfixes and improvements were made to the codebase. 70582b15cb3dSCy SchubertSee the ChangeLog for more information. 70592b15cb3dSCy Schubert 70602b15cb3dSCy Schubert--- 70612b15cb3dSCy SchubertNTP 4.2.8 (Harlan Stenn <stenn@ntp.org>, 2014/12/18) 70622b15cb3dSCy Schubert 70632b15cb3dSCy SchubertFocus: Security and Bug fixes, enhancements. 70642b15cb3dSCy Schubert 70652b15cb3dSCy SchubertSeverity: HIGH 70662b15cb3dSCy Schubert 70672b15cb3dSCy SchubertIn addition to bug fixes and enhancements, this release fixes the 70682b15cb3dSCy Schubertfollowing high-severity vulnerabilities: 70692b15cb3dSCy Schubert 70702b15cb3dSCy Schubert************************** vv NOTE WELL vv ***************************** 70712b15cb3dSCy Schubert 70722b15cb3dSCy SchubertThe vulnerabilities listed below can be significantly mitigated by 70732b15cb3dSCy Schubertfollowing the BCP of putting 70742b15cb3dSCy Schubert 70752b15cb3dSCy Schubert restrict default ... noquery 70762b15cb3dSCy Schubert 70772b15cb3dSCy Schubertin the ntp.conf file. With the exception of: 70782b15cb3dSCy Schubert 70792b15cb3dSCy Schubert receive(): missing return on error 70802b15cb3dSCy Schubert References: Sec 2670 / CVE-2014-9296 / VU#852879 70812b15cb3dSCy Schubert 70822b15cb3dSCy Schubertbelow (which is a limited-risk vulnerability), none of the recent 70832b15cb3dSCy Schubertvulnerabilities listed below can be exploited if the source IP is 70842b15cb3dSCy Schubertrestricted from sending a 'query'-class packet by your ntp.conf file. 70852b15cb3dSCy Schubert 70862b15cb3dSCy Schubert************************** ^^ NOTE WELL ^^ ***************************** 70872b15cb3dSCy Schubert 70882b15cb3dSCy Schubert* Weak default key in config_auth(). 70892b15cb3dSCy Schubert 70902b15cb3dSCy Schubert References: [Sec 2665] / CVE-2014-9293 / VU#852879 70912b15cb3dSCy Schubert CVSS: (AV:N/AC:L/Au:M/C:P/I:P/A:C) Base Score: 7.3 70922b15cb3dSCy Schubert Vulnerable Versions: all releases prior to 4.2.7p11 70932b15cb3dSCy Schubert Date Resolved: 28 Jan 2010 70942b15cb3dSCy Schubert 70952b15cb3dSCy Schubert Summary: If no 'auth' key is set in the configuration file, ntpd 70962b15cb3dSCy Schubert would generate a random key on the fly. There were two 70972b15cb3dSCy Schubert problems with this: 1) the generated key was 31 bits in size, 70982b15cb3dSCy Schubert and 2) it used the (now weak) ntp_random() function, which was 70992b15cb3dSCy Schubert seeded with a 32-bit value and could only provide 32 bits of 71002b15cb3dSCy Schubert entropy. This was sufficient back in the late 1990s when the 71012b15cb3dSCy Schubert code was written. Not today. 71022b15cb3dSCy Schubert 71032b15cb3dSCy Schubert Mitigation - any of: 71042b15cb3dSCy Schubert - Upgrade to 4.2.7p11 or later. 71052b15cb3dSCy Schubert - Follow BCP and put 'restrict ... noquery' in your ntp.conf file. 71062b15cb3dSCy Schubert 71072b15cb3dSCy Schubert Credit: This vulnerability was noticed in ntp-4.2.6 by Neel Mehta 71082b15cb3dSCy Schubert of the Google Security Team. 71092b15cb3dSCy Schubert 71102b15cb3dSCy Schubert* Non-cryptographic random number generator with weak seed used by 71112b15cb3dSCy Schubert ntp-keygen to generate symmetric keys. 71122b15cb3dSCy Schubert 71132b15cb3dSCy Schubert References: [Sec 2666] / CVE-2014-9294 / VU#852879 71142b15cb3dSCy Schubert CVSS: (AV:N/AC:L/Au:M/C:P/I:P/A:C) Base Score: 7.3 71152b15cb3dSCy Schubert Vulnerable Versions: All NTP4 releases before 4.2.7p230 71162b15cb3dSCy Schubert Date Resolved: Dev (4.2.7p230) 01 Nov 2011 71172b15cb3dSCy Schubert 71182b15cb3dSCy Schubert Summary: Prior to ntp-4.2.7p230 ntp-keygen used a weak seed to 71192b15cb3dSCy Schubert prepare a random number generator that was of good quality back 71202b15cb3dSCy Schubert in the late 1990s. The random numbers produced was then used to 71212b15cb3dSCy Schubert generate symmetric keys. In ntp-4.2.8 we use a current-technology 71222b15cb3dSCy Schubert cryptographic random number generator, either RAND_bytes from 71232b15cb3dSCy Schubert OpenSSL, or arc4random(). 71242b15cb3dSCy Schubert 71252b15cb3dSCy Schubert Mitigation - any of: 71262b15cb3dSCy Schubert - Upgrade to 4.2.7p230 or later. 71272b15cb3dSCy Schubert - Follow BCP and put 'restrict ... noquery' in your ntp.conf file. 71282b15cb3dSCy Schubert 71292b15cb3dSCy Schubert Credit: This vulnerability was discovered in ntp-4.2.6 by 71302b15cb3dSCy Schubert Stephen Roettger of the Google Security Team. 71312b15cb3dSCy Schubert 71322b15cb3dSCy Schubert* Buffer overflow in crypto_recv() 71332b15cb3dSCy Schubert 71342b15cb3dSCy Schubert References: Sec 2667 / CVE-2014-9295 / VU#852879 71352b15cb3dSCy Schubert CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5 71362b15cb3dSCy Schubert Versions: All releases before 4.2.8 71372b15cb3dSCy Schubert Date Resolved: Stable (4.2.8) 18 Dec 2014 71382b15cb3dSCy Schubert 71392b15cb3dSCy Schubert Summary: When Autokey Authentication is enabled (i.e. the ntp.conf 71402b15cb3dSCy Schubert file contains a 'crypto pw ...' directive) a remote attacker 71412b15cb3dSCy Schubert can send a carefully crafted packet that can overflow a stack 71422b15cb3dSCy Schubert buffer and potentially allow malicious code to be executed 71432b15cb3dSCy Schubert with the privilege level of the ntpd process. 71442b15cb3dSCy Schubert 71452b15cb3dSCy Schubert Mitigation - any of: 71462b15cb3dSCy Schubert - Upgrade to 4.2.8, or later, or 71472b15cb3dSCy Schubert - Disable Autokey Authentication by removing, or commenting out, 71482b15cb3dSCy Schubert all configuration directives beginning with the crypto keyword 71492b15cb3dSCy Schubert in your ntp.conf file. 71502b15cb3dSCy Schubert 71512b15cb3dSCy Schubert Credit: This vulnerability was discovered by Stephen Roettger of the 71522b15cb3dSCy Schubert Google Security Team. 71532b15cb3dSCy Schubert 71542b15cb3dSCy Schubert* Buffer overflow in ctl_putdata() 71552b15cb3dSCy Schubert 71562b15cb3dSCy Schubert References: Sec 2668 / CVE-2014-9295 / VU#852879 71572b15cb3dSCy Schubert CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5 71582b15cb3dSCy Schubert Versions: All NTP4 releases before 4.2.8 71592b15cb3dSCy Schubert Date Resolved: Stable (4.2.8) 18 Dec 2014 71602b15cb3dSCy Schubert 71612b15cb3dSCy Schubert Summary: A remote attacker can send a carefully crafted packet that 71622b15cb3dSCy Schubert can overflow a stack buffer and potentially allow malicious 71632b15cb3dSCy Schubert code to be executed with the privilege level of the ntpd process. 71642b15cb3dSCy Schubert 71652b15cb3dSCy Schubert Mitigation - any of: 71662b15cb3dSCy Schubert - Upgrade to 4.2.8, or later. 71672b15cb3dSCy Schubert - Follow BCP and put 'restrict ... noquery' in your ntp.conf file. 71682b15cb3dSCy Schubert 71692b15cb3dSCy Schubert Credit: This vulnerability was discovered by Stephen Roettger of the 71702b15cb3dSCy Schubert Google Security Team. 71712b15cb3dSCy Schubert 71722b15cb3dSCy Schubert* Buffer overflow in configure() 71732b15cb3dSCy Schubert 71742b15cb3dSCy Schubert References: Sec 2669 / CVE-2014-9295 / VU#852879 71752b15cb3dSCy Schubert CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5 71762b15cb3dSCy Schubert Versions: All NTP4 releases before 4.2.8 71772b15cb3dSCy Schubert Date Resolved: Stable (4.2.8) 18 Dec 2014 71782b15cb3dSCy Schubert 71792b15cb3dSCy Schubert Summary: A remote attacker can send a carefully crafted packet that 71802b15cb3dSCy Schubert can overflow a stack buffer and potentially allow malicious 71812b15cb3dSCy Schubert code to be executed with the privilege level of the ntpd process. 71822b15cb3dSCy Schubert 71832b15cb3dSCy Schubert Mitigation - any of: 71842b15cb3dSCy Schubert - Upgrade to 4.2.8, or later. 71852b15cb3dSCy Schubert - Follow BCP and put 'restrict ... noquery' in your ntp.conf file. 71862b15cb3dSCy Schubert 71872b15cb3dSCy Schubert Credit: This vulnerability was discovered by Stephen Roettger of the 71882b15cb3dSCy Schubert Google Security Team. 71892b15cb3dSCy Schubert 71902b15cb3dSCy Schubert* receive(): missing return on error 71912b15cb3dSCy Schubert 71922b15cb3dSCy Schubert References: Sec 2670 / CVE-2014-9296 / VU#852879 71932b15cb3dSCy Schubert CVSS: (AV:N/AC:L/Au:N/C:N/I:N/A:P) Base Score: 5.0 71942b15cb3dSCy Schubert Versions: All NTP4 releases before 4.2.8 71952b15cb3dSCy Schubert Date Resolved: Stable (4.2.8) 18 Dec 2014 71962b15cb3dSCy Schubert 71972b15cb3dSCy Schubert Summary: Code in ntp_proto.c:receive() was missing a 'return;' in 71982b15cb3dSCy Schubert the code path where an error was detected, which meant 71992b15cb3dSCy Schubert processing did not stop when a specific rare error occurred. 72002b15cb3dSCy Schubert We haven't found a way for this bug to affect system integrity. 72012b15cb3dSCy Schubert If there is no way to affect system integrity the base CVSS 72022b15cb3dSCy Schubert score for this bug is 0. If there is one avenue through which 72032b15cb3dSCy Schubert system integrity can be partially affected, the base score 72042b15cb3dSCy Schubert becomes a 5. If system integrity can be partially affected 72052b15cb3dSCy Schubert via all three integrity metrics, the CVSS base score become 7.5. 72062b15cb3dSCy Schubert 72072b15cb3dSCy Schubert Mitigation - any of: 72082b15cb3dSCy Schubert - Upgrade to 4.2.8, or later, 72092b15cb3dSCy Schubert - Remove or comment out all configuration directives 72102b15cb3dSCy Schubert beginning with the crypto keyword in your ntp.conf file. 72112b15cb3dSCy Schubert 72122b15cb3dSCy Schubert Credit: This vulnerability was discovered by Stephen Roettger of the 72132b15cb3dSCy Schubert Google Security Team. 72142b15cb3dSCy Schubert 72152b15cb3dSCy SchubertSee http://support.ntp.org/security for more information. 72162b15cb3dSCy Schubert 72172b15cb3dSCy SchubertNew features / changes in this release: 72182b15cb3dSCy Schubert 72192b15cb3dSCy SchubertImportant Changes 72202b15cb3dSCy Schubert 72212b15cb3dSCy Schubert* Internal NTP Era counters 72222b15cb3dSCy Schubert 72232b15cb3dSCy SchubertThe internal counters that track the "era" (range of years) we are in 72242b15cb3dSCy Schubertrolls over every 136 years'. The current "era" started at the stroke of 72252b15cb3dSCy Schubertmidnight on 1 Jan 1900, and ends just before the stroke of midnight on 72262b15cb3dSCy Schubert1 Jan 2036. 72272b15cb3dSCy SchubertIn the past, we have used the "midpoint" of the range to decide which 72282b15cb3dSCy Schubertera we were in. Given the longevity of some products, it became clear 72292b15cb3dSCy Schubertthat it would be more functional to "look back" less, and "look forward" 72302b15cb3dSCy Schubertmore. We now compile a timestamp into the ntpd executable and when we 72312b15cb3dSCy Schubertget a timestamp we us the "built-on" to tell us what era we are in. 72322b15cb3dSCy SchubertThis check "looks back" 10 years, and "looks forward" 126 years. 72332b15cb3dSCy Schubert 72342b15cb3dSCy Schubert* ntpdc responses disabled by default 72352b15cb3dSCy Schubert 72362b15cb3dSCy SchubertDave Hart writes: 72372b15cb3dSCy Schubert 72382b15cb3dSCy SchubertFor a long time, ntpq and its mostly text-based mode 6 (control) 72392b15cb3dSCy Schubertprotocol have been preferred over ntpdc and its mode 7 (private 72402b15cb3dSCy Schubertrequest) protocol for runtime queries and configuration. There has 72412b15cb3dSCy Schubertbeen a goal of deprecating ntpdc, previously held back by numerous 72422b15cb3dSCy Schubertcapabilities exposed by ntpdc with no ntpq equivalent. I have been 72432b15cb3dSCy Schubertadding commands to ntpq to cover these cases, and I believe I've 72442b15cb3dSCy Schubertcovered them all, though I've not compared command-by-command 72452b15cb3dSCy Schubertrecently. 72462b15cb3dSCy Schubert 72472b15cb3dSCy SchubertAs I've said previously, the binary mode 7 protocol involves a lot of 72482b15cb3dSCy Schuberthand-rolled structure layout and byte-swapping code in both ntpd and 72492b15cb3dSCy Schubertntpdc which is hard to get right. As ntpd grows and changes, the 72502b15cb3dSCy Schubertchanges are difficult to expose via ntpdc while maintaining forward 72512b15cb3dSCy Schubertand backward compatibility between ntpdc and ntpd. In contrast, 72522b15cb3dSCy Schubertntpq's text-based, label=value approach involves more code reuse and 72532b15cb3dSCy Schubertallows compatible changes without extra work in most cases. 72542b15cb3dSCy Schubert 72552b15cb3dSCy SchubertMode 7 has always been defined as vendor/implementation-specific while 72562b15cb3dSCy Schubertmode 6 is described in RFC 1305 and intended to be open to interoperate 72572b15cb3dSCy Schubertwith other implementations. There is an early draft of an updated 72582b15cb3dSCy Schubertmode 6 description that likely will join the other NTPv4 RFCs 72592b15cb3dSCy Schuberteventually. (http://tools.ietf.org/html/draft-odonoghue-ntpv4-control-01) 72602b15cb3dSCy Schubert 72612b15cb3dSCy SchubertFor these reasons, ntpd 4.2.7p230 by default disables processing of 72622b15cb3dSCy Schubertntpdc queries, reducing ntpd's attack surface and functionally 72632b15cb3dSCy Schubertdeprecating ntpdc. If you are in the habit of using ntpdc for certain 72642b15cb3dSCy Schubertoperations, please try the ntpq equivalent. If there's no equivalent, 72652b15cb3dSCy Schubertplease open a bug report at http://bugs.ntp.org./ 72662b15cb3dSCy Schubert 72672b15cb3dSCy SchubertIn addition to the above, over 1100 issues have been resolved between 72682b15cb3dSCy Schubertthe 4.2.6 branch and 4.2.8. The ChangeLog file in the distribution 72692b15cb3dSCy Schubertlists these. 72702b15cb3dSCy Schubert 72712b15cb3dSCy Schubert--- 72722b15cb3dSCy SchubertNTP 4.2.6p5 (Harlan Stenn <stenn@ntp.org>, 2011/12/24) 72732b15cb3dSCy Schubert 72742b15cb3dSCy SchubertFocus: Bug fixes 72752b15cb3dSCy Schubert 72762b15cb3dSCy SchubertSeverity: Medium 72772b15cb3dSCy Schubert 72782b15cb3dSCy SchubertThis is a recommended upgrade. 72792b15cb3dSCy Schubert 72802b15cb3dSCy SchubertThis release updates sys_rootdisp and sys_jitter calculations to match the 72812b15cb3dSCy SchubertRFC specification, fixes a potential IPv6 address matching error for the 72822b15cb3dSCy Schubert"nic" and "interface" configuration directives, suppresses the creation of 72832b15cb3dSCy Schubertextraneous ephemeral associations for certain broadcastclient and 72842b15cb3dSCy Schubertmulticastclient configurations, cleans up some ntpq display issues, and 72852b15cb3dSCy Schubertincludes improvements to orphan mode, minor bugs fixes and code clean-ups. 72862b15cb3dSCy Schubert 72872b15cb3dSCy SchubertNew features / changes in this release: 72882b15cb3dSCy Schubert 72892b15cb3dSCy Schubertntpd 72902b15cb3dSCy Schubert 72912b15cb3dSCy Schubert * Updated "nic" and "interface" IPv6 address handling to prevent 72922b15cb3dSCy Schubert mismatches with localhost [::1] and wildcard [::] which resulted from 72932b15cb3dSCy Schubert using the address/prefix format (e.g. fe80::/64) 72942b15cb3dSCy Schubert * Fix orphan mode stratum incorrectly counting to infinity 72952b15cb3dSCy Schubert * Orphan parent selection metric updated to includes missing ntohl() 72962b15cb3dSCy Schubert * Non-printable stratum 16 refid no longer sent to ntp 72972b15cb3dSCy Schubert * Duplicate ephemeral associations suppressed for broadcastclient and 72982b15cb3dSCy Schubert multicastclient without broadcastdelay 72992b15cb3dSCy Schubert * Exclude undetermined sys_refid from use in loopback TEST12 73002b15cb3dSCy Schubert * Exclude MODE_SERVER responses from KoD rate limiting 73012b15cb3dSCy Schubert * Include root delay in clock_update() sys_rootdisp calculations 73022b15cb3dSCy Schubert * get_systime() updated to exclude sys_residual offset (which only 73032b15cb3dSCy Schubert affected bits "below" sys_tick, the precision threshold) 73042b15cb3dSCy Schubert * sys.peer jitter weighting corrected in sys_jitter calculation 73052b15cb3dSCy Schubert 73062b15cb3dSCy Schubertntpq 73072b15cb3dSCy Schubert 73082b15cb3dSCy Schubert * -n option extended to include the billboard "server" column 73092b15cb3dSCy Schubert * IPv6 addresses in the local column truncated to prevent overruns 73102b15cb3dSCy Schubert 73112b15cb3dSCy Schubert--- 73122b15cb3dSCy SchubertNTP 4.2.6p4 (Harlan Stenn <stenn@ntp.org>, 2011/09/22) 73132b15cb3dSCy Schubert 73142b15cb3dSCy SchubertFocus: Bug fixes and portability improvements 73152b15cb3dSCy Schubert 73162b15cb3dSCy SchubertSeverity: Medium 73172b15cb3dSCy Schubert 73182b15cb3dSCy SchubertThis is a recommended upgrade. 73192b15cb3dSCy Schubert 73202b15cb3dSCy SchubertThis release includes build infrastructure updates, code 73212b15cb3dSCy Schubertclean-ups, minor bug fixes, fixes for a number of minor 73222b15cb3dSCy Schubertref-clock issues, and documentation revisions. 73232b15cb3dSCy Schubert 73242b15cb3dSCy SchubertPortability improvements affect AIX, HP-UX, Linux, OS X and 64-bit time_t. 73252b15cb3dSCy Schubert 73262b15cb3dSCy SchubertNew features / changes in this release: 73272b15cb3dSCy Schubert 73282b15cb3dSCy SchubertBuild system 73292b15cb3dSCy Schubert 73302b15cb3dSCy Schubert* Fix checking for struct rtattr 73312b15cb3dSCy Schubert* Update config.guess and config.sub for AIX 73322b15cb3dSCy Schubert* Upgrade required version of autogen and libopts for building 73332b15cb3dSCy Schubert from our source code repository 73342b15cb3dSCy Schubert 73352b15cb3dSCy Schubertntpd 73362b15cb3dSCy Schubert 73372b15cb3dSCy Schubert* Back-ported several fixes for Coverity warnings from ntp-dev 73382b15cb3dSCy Schubert* Fix a rare boundary condition in UNLINK_EXPR_SLIST() 73392b15cb3dSCy Schubert* Allow "logconfig =allall" configuration directive 73402b15cb3dSCy Schubert* Bind tentative IPv6 addresses on Linux 73412b15cb3dSCy Schubert* Correct WWVB/Spectracom driver to timestamp CR instead of LF 73422b15cb3dSCy Schubert* Improved tally bit handling to prevent incorrect ntpq peer status reports 73432b15cb3dSCy Schubert* Exclude the Undisciplined Local Clock and ACTS drivers from the initial 73442b15cb3dSCy Schubert candidate list unless they are designated a "prefer peer" 73452b15cb3dSCy Schubert* Prevent the consideration of Undisciplined Local Clock or ACTS drivers for 73462b15cb3dSCy Schubert selection during the 'tos orphanwait' period 73472b15cb3dSCy Schubert* Prefer an Orphan Mode Parent over the Undisciplined Local Clock or ACTS 73482b15cb3dSCy Schubert drivers 73492b15cb3dSCy Schubert* Improved support of the Parse Refclock trusttime flag in Meinberg mode 73502b15cb3dSCy Schubert* Back-port utility routines from ntp-dev: mprintf(), emalloc_zero() 73512b15cb3dSCy Schubert* Added the NTPD_TICKADJ_PPM environment variable for specifying baseline 73522b15cb3dSCy Schubert clock slew on Microsoft Windows 73532b15cb3dSCy Schubert* Code cleanup in libntpq 73542b15cb3dSCy Schubert 73552b15cb3dSCy Schubertntpdc 73562b15cb3dSCy Schubert 73572b15cb3dSCy Schubert* Fix timerstats reporting 73582b15cb3dSCy Schubert 73592b15cb3dSCy Schubertntpdate 73602b15cb3dSCy Schubert 73612b15cb3dSCy Schubert* Reduce time required to set clock 73622b15cb3dSCy Schubert* Allow a timeout greater than 2 seconds 73632b15cb3dSCy Schubert 73642b15cb3dSCy Schubertsntp 73652b15cb3dSCy Schubert 73662b15cb3dSCy Schubert* Backward incompatible command-line option change: 73672b15cb3dSCy Schubert -l/--filelog changed -l/--logfile (to be consistent with ntpd) 73682b15cb3dSCy Schubert 73692b15cb3dSCy SchubertDocumentation 73702b15cb3dSCy Schubert 73712b15cb3dSCy Schubert* Update html2man. Fix some tags in the .html files 73722b15cb3dSCy Schubert* Distribute ntp-wait.html 73732b15cb3dSCy Schubert 73742b15cb3dSCy Schubert--- 73752b15cb3dSCy SchubertNTP 4.2.6p3 (Harlan Stenn <stenn@ntp.org>, 2011/01/03) 73762b15cb3dSCy Schubert 73772b15cb3dSCy SchubertFocus: Bug fixes and portability improvements 73782b15cb3dSCy Schubert 73792b15cb3dSCy SchubertSeverity: Medium 73802b15cb3dSCy Schubert 73812b15cb3dSCy SchubertThis is a recommended upgrade. 73822b15cb3dSCy Schubert 73832b15cb3dSCy SchubertThis release includes build infrastructure updates, code 73842b15cb3dSCy Schubertclean-ups, minor bug fixes, fixes for a number of minor 73852b15cb3dSCy Schubertref-clock issues, and documentation revisions. 73862b15cb3dSCy Schubert 73872b15cb3dSCy SchubertPortability improvements in this release affect AIX, Atari FreeMiNT, 73882b15cb3dSCy SchubertFreeBSD4, Linux and Microsoft Windows. 73892b15cb3dSCy Schubert 73902b15cb3dSCy SchubertNew features / changes in this release: 73912b15cb3dSCy Schubert 73922b15cb3dSCy SchubertBuild system 73932b15cb3dSCy Schubert* Use lsb_release to get information about Linux distributions. 73942b15cb3dSCy Schubert* 'test' is in /usr/bin (instead of /bin) on some systems. 73952b15cb3dSCy Schubert* Basic sanity checks for the ChangeLog file. 73962b15cb3dSCy Schubert* Source certain build files with ./filename for systems without . in PATH. 73972b15cb3dSCy Schubert* IRIX portability fix. 73982b15cb3dSCy Schubert* Use a single copy of the "libopts" code. 73992b15cb3dSCy Schubert* autogen/libopts upgrade. 74002b15cb3dSCy Schubert* configure.ac m4 quoting cleanup. 74012b15cb3dSCy Schubert 74022b15cb3dSCy Schubertntpd 74032b15cb3dSCy Schubert* Do not bind to IN6_IFF_ANYCAST addresses. 74042b15cb3dSCy Schubert* Log the reason for exiting under Windows. 74052b15cb3dSCy Schubert* Multicast fixes for Windows. 74062b15cb3dSCy Schubert* Interpolation fixes for Windows. 74072b15cb3dSCy Schubert* IPv4 and IPv6 Multicast fixes. 74082b15cb3dSCy Schubert* Manycast solicitation fixes and general repairs. 74092b15cb3dSCy Schubert* JJY refclock cleanup. 74102b15cb3dSCy Schubert* NMEA refclock improvements. 74112b15cb3dSCy Schubert* Oncore debug message cleanup. 74122b15cb3dSCy Schubert* Palisade refclock now builds under Linux. 74132b15cb3dSCy Schubert* Give RAWDCF more baud rates. 74142b15cb3dSCy Schubert* Support Truetime Satellite clocks under Windows. 74152b15cb3dSCy Schubert* Support Arbiter 1093C Satellite clocks under Windows. 74162b15cb3dSCy Schubert* Make sure that the "filegen" configuration command defaults to "enable". 74172b15cb3dSCy Schubert* Range-check the status codes (plus other cleanup) in the RIPE-NCC driver. 74182b15cb3dSCy Schubert* Prohibit 'includefile' directive in remote configuration command. 74192b15cb3dSCy Schubert* Fix 'nic' interface bindings. 74202b15cb3dSCy Schubert* Fix the way we link with openssl if openssl is installed in the base 74212b15cb3dSCy Schubert system. 74222b15cb3dSCy Schubert 74232b15cb3dSCy Schubertntp-keygen 74242b15cb3dSCy Schubert* Fix -V coredump. 74252b15cb3dSCy Schubert* OpenSSL version display cleanup. 74262b15cb3dSCy Schubert 74272b15cb3dSCy Schubertntpdc 74282b15cb3dSCy Schubert* Many counters should be treated as unsigned. 74292b15cb3dSCy Schubert 74302b15cb3dSCy Schubertntpdate 74312b15cb3dSCy Schubert* Do not ignore replies with equal receive and transmit timestamps. 74322b15cb3dSCy Schubert 74332b15cb3dSCy Schubertntpq 74342b15cb3dSCy Schubert* libntpq warning cleanup. 74352b15cb3dSCy Schubert 74362b15cb3dSCy Schubertntpsnmpd 74372b15cb3dSCy Schubert* Correct SNMP type for "precision" and "resolution". 74382b15cb3dSCy Schubert* Update the MIB from the draft version to RFC-5907. 74392b15cb3dSCy Schubert 74402b15cb3dSCy Schubertsntp 74412b15cb3dSCy Schubert* Display timezone offset when showing time for sntp in the local 74422b15cb3dSCy Schubert timezone. 74432b15cb3dSCy Schubert* Pay proper attention to RATE KoD packets. 74442b15cb3dSCy Schubert* Fix a miscalculation of the offset. 74452b15cb3dSCy Schubert* Properly parse empty lines in the key file. 74462b15cb3dSCy Schubert* Logging cleanup. 74472b15cb3dSCy Schubert* Use tv_usec correctly in set_time(). 74482b15cb3dSCy Schubert* Documentation cleanup. 74492b15cb3dSCy Schubert 74502b15cb3dSCy Schubert--- 74512b15cb3dSCy SchubertNTP 4.2.6p2 (Harlan Stenn <stenn@ntp.org>, 2010/07/08) 74522b15cb3dSCy Schubert 74532b15cb3dSCy SchubertFocus: Bug fixes and portability improvements 74542b15cb3dSCy Schubert 74552b15cb3dSCy SchubertSeverity: Medium 74562b15cb3dSCy Schubert 74572b15cb3dSCy SchubertThis is a recommended upgrade. 74582b15cb3dSCy Schubert 74592b15cb3dSCy SchubertThis release includes build infrastructure updates, code 74602b15cb3dSCy Schubertclean-ups, minor bug fixes, fixes for a number of minor 74612b15cb3dSCy Schubertref-clock issues, improved KOD handling, OpenSSL related 74622b15cb3dSCy Schubertupdates and documentation revisions. 74632b15cb3dSCy Schubert 74642b15cb3dSCy SchubertPortability improvements in this release affect Irix, Linux, 74652b15cb3dSCy SchubertMac OS, Microsoft Windows, OpenBSD and QNX6 74662b15cb3dSCy Schubert 74672b15cb3dSCy SchubertNew features / changes in this release: 74682b15cb3dSCy Schubert 74692b15cb3dSCy Schubertntpd 74702b15cb3dSCy Schubert* Range syntax for the trustedkey configuration directive 74712b15cb3dSCy Schubert* Unified IPv4 and IPv6 restrict lists 74722b15cb3dSCy Schubert 74732b15cb3dSCy Schubertntpdate 74742b15cb3dSCy Schubert* Rate limiting and KOD handling 74752b15cb3dSCy Schubert 74762b15cb3dSCy Schubertntpsnmpd 74772b15cb3dSCy Schubert* default connection to net-snmpd via a unix-domain socket 74782b15cb3dSCy Schubert* command-line 'socket name' option 74792b15cb3dSCy Schubert 74802b15cb3dSCy Schubertntpq / ntpdc 74812b15cb3dSCy Schubert* support for the "passwd ..." syntax 74822b15cb3dSCy Schubert* key-type specific password prompts 74832b15cb3dSCy Schubert 74842b15cb3dSCy Schubertsntp 74852b15cb3dSCy Schubert* MD5 authentication of an ntpd 74862b15cb3dSCy Schubert* Broadcast and crypto 74872b15cb3dSCy Schubert* OpenSSL support 74882b15cb3dSCy Schubert 74892b15cb3dSCy Schubert--- 74902b15cb3dSCy SchubertNTP 4.2.6p1 (Harlan Stenn <stenn@ntp.org>, 2010/04/09) 74912b15cb3dSCy Schubert 74922b15cb3dSCy SchubertFocus: Bug fixes, portability fixes, and documentation improvements 74932b15cb3dSCy Schubert 74942b15cb3dSCy SchubertSeverity: Medium 74952b15cb3dSCy Schubert 74962b15cb3dSCy SchubertThis is a recommended upgrade. 74972b15cb3dSCy Schubert 74982b15cb3dSCy Schubert--- 74992b15cb3dSCy SchubertNTP 4.2.6 (Harlan Stenn <stenn@ntp.org>, 2009/12/08) 75002b15cb3dSCy Schubert 75012b15cb3dSCy SchubertFocus: enhancements and bug fixes. 75022b15cb3dSCy Schubert 75032b15cb3dSCy Schubert--- 7504eb6d21b4SOllivier RobertNTP 4.2.4p8 (Harlan Stenn <stenn@ntp.org>, 2009/12/08) 7505eb6d21b4SOllivier Robert 7506eb6d21b4SOllivier RobertFocus: Security Fixes 7507eb6d21b4SOllivier Robert 7508eb6d21b4SOllivier RobertSeverity: HIGH 7509eb6d21b4SOllivier Robert 7510eb6d21b4SOllivier RobertThis release fixes the following high-severity vulnerability: 7511eb6d21b4SOllivier Robert 7512eb6d21b4SOllivier Robert* [Sec 1331] DoS with mode 7 packets - CVE-2009-3563. 7513eb6d21b4SOllivier Robert 7514eb6d21b4SOllivier Robert See http://support.ntp.org/security for more information. 7515eb6d21b4SOllivier Robert 7516eb6d21b4SOllivier Robert NTP mode 7 (MODE_PRIVATE) is used by the ntpdc query and control utility. 7517eb6d21b4SOllivier Robert In contrast, ntpq uses NTP mode 6 (MODE_CONTROL), while routine NTP time 7518eb6d21b4SOllivier Robert transfers use modes 1 through 5. Upon receipt of an incorrect mode 7 7519eb6d21b4SOllivier Robert request or a mode 7 error response from an address which is not listed 7520eb6d21b4SOllivier Robert in a "restrict ... noquery" or "restrict ... ignore" statement, ntpd will 7521eb6d21b4SOllivier Robert reply with a mode 7 error response (and log a message). In this case: 7522eb6d21b4SOllivier Robert 7523eb6d21b4SOllivier Robert * If an attacker spoofs the source address of ntpd host A in a 7524eb6d21b4SOllivier Robert mode 7 response packet sent to ntpd host B, both A and B will 7525eb6d21b4SOllivier Robert continuously send each other error responses, for as long as 7526eb6d21b4SOllivier Robert those packets get through. 7527eb6d21b4SOllivier Robert 7528eb6d21b4SOllivier Robert * If an attacker spoofs an address of ntpd host A in a mode 7 7529eb6d21b4SOllivier Robert response packet sent to ntpd host A, A will respond to itself 7530eb6d21b4SOllivier Robert endlessly, consuming CPU and logging excessively. 7531eb6d21b4SOllivier Robert 7532eb6d21b4SOllivier Robert Credit for finding this vulnerability goes to Robin Park and Dmitri 7533eb6d21b4SOllivier Robert Vinokurov of Alcatel-Lucent. 7534eb6d21b4SOllivier Robert 7535eb6d21b4SOllivier RobertTHIS IS A STRONGLY RECOMMENDED UPGRADE. 7536eb6d21b4SOllivier Robert 7537eb6d21b4SOllivier Robert--- 75382b15cb3dSCy Schubertntpd now syncs to refclocks right away. 75392b15cb3dSCy Schubert 75402b15cb3dSCy SchubertBackward-Incompatible changes: 75412b15cb3dSCy Schubert 75422b15cb3dSCy Schubertntpd no longer accepts '-v name' or '-V name' to define internal variables. 75432b15cb3dSCy SchubertUse '--var name' or '--dvar name' instead. (Bug 817) 75442b15cb3dSCy Schubert 75452b15cb3dSCy Schubert--- 7546eb6d21b4SOllivier RobertNTP 4.2.4p7 (Harlan Stenn <stenn@ntp.org>, 2009/05/04) 7547eb6d21b4SOllivier Robert 7548eb6d21b4SOllivier RobertFocus: Security and Bug Fixes 7549eb6d21b4SOllivier Robert 7550eb6d21b4SOllivier RobertSeverity: HIGH 7551eb6d21b4SOllivier Robert 7552eb6d21b4SOllivier RobertThis release fixes the following high-severity vulnerability: 7553eb6d21b4SOllivier Robert 7554eb6d21b4SOllivier Robert* [Sec 1151] Remote exploit if autokey is enabled. CVE-2009-1252 7555eb6d21b4SOllivier Robert 7556eb6d21b4SOllivier Robert See http://support.ntp.org/security for more information. 7557eb6d21b4SOllivier Robert 7558eb6d21b4SOllivier Robert If autokey is enabled (if ntp.conf contains a "crypto pw whatever" 7559eb6d21b4SOllivier Robert line) then a carefully crafted packet sent to the machine will cause 7560eb6d21b4SOllivier Robert a buffer overflow and possible execution of injected code, running 7561eb6d21b4SOllivier Robert with the privileges of the ntpd process (often root). 7562eb6d21b4SOllivier Robert 7563eb6d21b4SOllivier Robert Credit for finding this vulnerability goes to Chris Ries of CMU. 7564eb6d21b4SOllivier Robert 7565eb6d21b4SOllivier RobertThis release fixes the following low-severity vulnerabilities: 7566eb6d21b4SOllivier Robert 7567eb6d21b4SOllivier Robert* [Sec 1144] limited (two byte) buffer overflow in ntpq. CVE-2009-0159 7568eb6d21b4SOllivier Robert Credit for finding this vulnerability goes to Geoff Keating of Apple. 7569eb6d21b4SOllivier Robert 7570eb6d21b4SOllivier Robert* [Sec 1149] use SO_EXCLUSIVEADDRUSE on Windows 7571eb6d21b4SOllivier Robert Credit for finding this issue goes to Dave Hart. 7572eb6d21b4SOllivier Robert 7573eb6d21b4SOllivier RobertThis release fixes a number of bugs and adds some improvements: 7574eb6d21b4SOllivier Robert 7575eb6d21b4SOllivier Robert* Improved logging 7576eb6d21b4SOllivier Robert* Fix many compiler warnings 7577eb6d21b4SOllivier Robert* Many fixes and improvements for Windows 7578eb6d21b4SOllivier Robert* Adds support for AIX 6.1 7579eb6d21b4SOllivier Robert* Resolves some issues under MacOS X and Solaris 7580eb6d21b4SOllivier Robert 7581eb6d21b4SOllivier RobertTHIS IS A STRONGLY RECOMMENDED UPGRADE. 7582eb6d21b4SOllivier Robert 7583eb6d21b4SOllivier Robert--- 7584eb6d21b4SOllivier RobertNTP 4.2.4p6 (Harlan Stenn <stenn@ntp.org>, 2009/01/07) 7585eb6d21b4SOllivier Robert 7586eb6d21b4SOllivier RobertFocus: Security Fix 7587eb6d21b4SOllivier Robert 7588eb6d21b4SOllivier RobertSeverity: Low 7589eb6d21b4SOllivier Robert 7590eb6d21b4SOllivier RobertThis release fixes oCERT.org's CVE-2009-0021, a vulnerability affecting 7591eb6d21b4SOllivier Robertthe OpenSSL library relating to the incorrect checking of the return 7592eb6d21b4SOllivier Robertvalue of EVP_VerifyFinal function. 7593eb6d21b4SOllivier Robert 7594eb6d21b4SOllivier RobertCredit for finding this issue goes to the Google Security Team for 7595eb6d21b4SOllivier Robertfinding the original issue with OpenSSL, and to ocert.org for finding 7596eb6d21b4SOllivier Robertthe problem in NTP and telling us about it. 7597eb6d21b4SOllivier Robert 7598eb6d21b4SOllivier RobertThis is a recommended upgrade. 7599eb6d21b4SOllivier Robert--- 7600ea906c41SOllivier RobertNTP 4.2.4p5 (Harlan Stenn <stenn@ntp.org>, 2008/08/17) 7601ea906c41SOllivier Robert 7602ea906c41SOllivier RobertFocus: Minor Bugfixes 7603ea906c41SOllivier Robert 7604ea906c41SOllivier RobertThis release fixes a number of Windows-specific ntpd bugs and 7605ea906c41SOllivier Robertplatform-independent ntpdate bugs. A logging bugfix has been applied 7606ea906c41SOllivier Robertto the ONCORE driver. 7607ea906c41SOllivier Robert 7608ea906c41SOllivier RobertThe "dynamic" keyword and is now obsolete and deferred binding to local 7609ea906c41SOllivier Robertinterfaces is the new default. The minimum time restriction for the 7610ea906c41SOllivier Robertinterface update interval has been dropped. 7611ea906c41SOllivier Robert 7612ea906c41SOllivier RobertA number of minor build system and documentation fixes are included. 7613ea906c41SOllivier Robert 7614ea906c41SOllivier RobertThis is a recommended upgrade for Windows. 7615ea906c41SOllivier Robert 7616ea906c41SOllivier Robert--- 7617ea906c41SOllivier RobertNTP 4.2.4p4 (Harlan Stenn <stenn@ntp.org>, 2007/09/10) 7618ea906c41SOllivier Robert 7619ea906c41SOllivier RobertFocus: Minor Bugfixes 7620ea906c41SOllivier Robert 7621ea906c41SOllivier RobertThis release updates certain copyright information, fixes several display 7622ea906c41SOllivier Robertbugs in ntpdc, avoids SIGIO interrupting malloc(), cleans up file descriptor 7623ea906c41SOllivier Robertshutdown in the parse refclock driver, removes some lint from the code, 7624ea906c41SOllivier Robertstops accessing certain buffers immediately after they were freed, fixes 7625ea906c41SOllivier Roberta problem with non-command-line specification of -6, and allows the loopback 7626ea906c41SOllivier Robertinterface to share addresses with other interfaces. 7627ea906c41SOllivier Robert 7628ea906c41SOllivier Robert--- 7629ea906c41SOllivier RobertNTP 4.2.4p3 (Harlan Stenn <stenn@ntp.org>, 2007/06/29) 7630ea906c41SOllivier Robert 7631ea906c41SOllivier RobertFocus: Minor Bugfixes 7632ea906c41SOllivier Robert 7633ea906c41SOllivier RobertThis release fixes a bug in Windows that made it difficult to 7634ea906c41SOllivier Robertterminate ntpd under windows. 7635ea906c41SOllivier RobertThis is a recommended upgrade for Windows. 7636ea906c41SOllivier Robert 7637ea906c41SOllivier Robert--- 7638ea906c41SOllivier RobertNTP 4.2.4p2 (Harlan Stenn <stenn@ntp.org>, 2007/06/19) 7639ea906c41SOllivier Robert 7640ea906c41SOllivier RobertFocus: Minor Bugfixes 7641ea906c41SOllivier Robert 7642ea906c41SOllivier RobertThis release fixes a multicast mode authentication problem, 7643ea906c41SOllivier Robertan error in NTP packet handling on Windows that could lead to 7644ea906c41SOllivier Robertntpd crashing, and several other minor bugs. Handling of 7645ea906c41SOllivier Robertmulticast interfaces and logging configuration were improved. 7646ea906c41SOllivier RobertThe required versions of autogen and libopts were incremented. 7647ea906c41SOllivier RobertThis is a recommended upgrade for Windows and multicast users. 7648ea906c41SOllivier Robert 7649ea906c41SOllivier Robert--- 7650ea906c41SOllivier RobertNTP 4.2.4 (Harlan Stenn <stenn@ntp.org>, 2006/12/31) 7651ea906c41SOllivier Robert 7652ea906c41SOllivier RobertFocus: enhancements and bug fixes. 7653ea906c41SOllivier Robert 7654ea906c41SOllivier RobertDynamic interface rescanning was added to simplify the use of ntpd in 7655ea906c41SOllivier Robertconjunction with DHCP. GNU AutoGen is used for its command-line options 7656ea906c41SOllivier Robertprocessing. Separate PPS devices are supported for PARSE refclocks, MD5 7657ea906c41SOllivier Robertsignatures are now provided for the release files. Drivers have been 7658ea906c41SOllivier Robertadded for some new ref-clocks and have been removed for some older 7659ea906c41SOllivier Robertref-clocks. This release also includes other improvements, documentation 7660ea906c41SOllivier Robertand bug fixes. 7661ea906c41SOllivier Robert 7662ea906c41SOllivier RobertK&R C is no longer supported as of NTP-4.2.4. We are now aiming for ANSI 7663ea906c41SOllivier RobertC support. 7664ea906c41SOllivier Robert 7665ea906c41SOllivier Robert--- 7666ea906c41SOllivier RobertNTP 4.2.0 (Harlan Stenn <stenn@ntp.org>, 2003/10/15) 7667ea906c41SOllivier Robert 7668ea906c41SOllivier RobertFocus: enhancements and bug fixes. 7669