xref: /freebsd/contrib/ntp/NEWS (revision f5f40dd63bc7acbb5312b26ac1ea1103c12352a6)
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