xref: /freebsd/contrib/ntp/NEWS (revision 276da39af92f48350aa01091a2b8b3e735217eea)
12b15cb3dSCy Schubert---
2*276da39aSCy SchubertNTP 4.2.8p3 (Harlan Stenn <stenn@ntp.org>, 2015/06/29)
3*276da39aSCy Schubert
4*276da39aSCy SchubertFocus: 1 Security fix.  Bug fixes and enhancements.  Leap-second improvements.
5*276da39aSCy Schubert
6*276da39aSCy SchubertSeverity: MEDIUM
7*276da39aSCy Schubert
8*276da39aSCy SchubertSecurity Fix:
9*276da39aSCy Schubert
10*276da39aSCy Schubert* [Sec 2853] Crafted remote config packet can crash some versions of
11*276da39aSCy Schubert  ntpd.  Aleksis Kauppinen, Juergen Perlinger, Harlan Stenn.
12*276da39aSCy Schubert
13*276da39aSCy SchubertUnder specific circumstances an attacker can send a crafted packet to
14*276da39aSCy Schubertcause a vulnerable ntpd instance to crash. This requires each of the
15*276da39aSCy Schubertfollowing to be true:
16*276da39aSCy Schubert
17*276da39aSCy Schubert1) ntpd set up to allow remote configuration (not allowed by default), and
18*276da39aSCy Schubert2) knowledge of the configuration password, and
19*276da39aSCy Schubert3) access to a computer entrusted to perform remote configuration.
20*276da39aSCy Schubert
21*276da39aSCy SchubertThis vulnerability is considered low-risk.
22*276da39aSCy Schubert
23*276da39aSCy SchubertNew features in this release:
24*276da39aSCy Schubert
25*276da39aSCy SchubertOptional (disabled by default) support to have ntpd provide smeared
26*276da39aSCy Schubertleap second time.  A specially built and configured ntpd will only
27*276da39aSCy Schubertoffer smeared time in response to client packets.  These response
28*276da39aSCy Schubertpackets will also contain a "refid" of 254.a.b.c, where the 24 bits
29*276da39aSCy Schubertof a, b, and c encode the amount of smear in a 2:22 integer:fraction
30*276da39aSCy Schubertformat.  See README.leapsmear and http://bugs.ntp.org/2855 for more
31*276da39aSCy Schubertinformation.
32*276da39aSCy Schubert
33*276da39aSCy Schubert   *IF YOU CHOOSE TO CONFIGURE NTPD TO PROVIDE LEAP SMEAR TIME*
34*276da39aSCy Schubert   *BE SURE YOU DO NOT OFFER THAT TIME ON PUBLIC TIMESERVERS.*
35*276da39aSCy Schubert
36*276da39aSCy SchubertWe've imported the Unity test framework, and have begun converting
37*276da39aSCy Schubertthe existing google-test items to this new framework.  If you want
38*276da39aSCy Schubertto write new tests or change old ones, you'll need to have ruby
39*276da39aSCy Schubertinstalled.  You don't need ruby to run the test suite.
40*276da39aSCy Schubert
41*276da39aSCy SchubertBug Fixes and Improvements:
42*276da39aSCy Schubert
43*276da39aSCy Schubert* CID 739725: Fix a rare resource leak in libevent/listener.c.
44*276da39aSCy Schubert* CID 1295478: Quiet a pedantic potential error from the fix for Bug 2776.
45*276da39aSCy Schubert* CID 1296235: Fix refclock_jjy.c and correcting type of the driver40-ja.html
46*276da39aSCy Schubert* CID 1269537: Clean up a line of dead code in getShmTime().
47*276da39aSCy Schubert* [Bug 1060] Buffer overruns in libparse/clk_rawdcf.c.  Helge Oldach.
48*276da39aSCy Schubert* [Bug 2590] autogen-5.18.5.
49*276da39aSCy Schubert* [Bug 2612] restrict: Warn when 'monitor' can't be disabled because
50*276da39aSCy Schubert  of 'limited'.
51*276da39aSCy Schubert* [Bug 2650] fix includefile processing.
52*276da39aSCy Schubert* [Bug 2745] ntpd -x steps clock on leap second
53*276da39aSCy Schubert   Fixed an initial-value problem that caused misbehaviour in absence of
54*276da39aSCy Schubert   any leapsecond information.
55*276da39aSCy Schubert   Do leap second stepping only of the step adjustment is beyond the
56*276da39aSCy Schubert   proper jump distance limit and step correction is allowed at all.
57*276da39aSCy Schubert* [Bug 2750] build for Win64
58*276da39aSCy Schubert  Building for 32bit of loopback ppsapi needs def file
59*276da39aSCy Schubert* [Bug 2776] Improve ntpq's 'help keytype'.
60*276da39aSCy Schubert* [Bug 2778] Implement "apeers"  ntpq command to include associd.
61*276da39aSCy Schubert* [Bug 2782] Refactor refclock_shm.c, add memory barrier protection.
62*276da39aSCy Schubert* [Bug 2792] If the IFF_RUNNING interface flag is supported then an
63*276da39aSCy Schubert  interface is ignored as long as this flag is not set since the
64*276da39aSCy Schubert  interface is not usable (e.g., no link).
65*276da39aSCy Schubert* [Bug 2794] Clean up kernel clock status reports.
66*276da39aSCy Schubert* [Bug 2800] refclock_true.c true_debug() can't open debug log because
67*276da39aSCy Schubert  of incompatible open/fdopen parameters.
68*276da39aSCy Schubert* [Bug 2804] install-local-data assumes GNU 'find' semantics.
69*276da39aSCy Schubert* [Bug 2805] ntpd fails to join multicast group.
70*276da39aSCy Schubert* [Bug 2806] refclock_jjy.c supports the Telephone JJY.
71*276da39aSCy Schubert* [Bug 2808] GPSD_JSON driver enhancements, step 1.
72*276da39aSCy Schubert  Fix crash during cleanup if GPS device not present and char device.
73*276da39aSCy Schubert  Increase internal token buffer to parse all JSON data, even SKY.
74*276da39aSCy Schubert  Defer logging of errors during driver init until the first unit is
75*276da39aSCy Schubert  started, so the syslog is not cluttered when the driver is not used.
76*276da39aSCy Schubert  Various improvements, see http://bugs.ntp.org/2808 for details.
77*276da39aSCy Schubert  Changed libjsmn to a more recent version.
78*276da39aSCy Schubert* [Bug 2810] refclock_shm.c memory barrier code needs tweaks for QNX.
79*276da39aSCy Schubert* [Bug 2813] HP-UX needs -D__STDC_VERSION__=199901L and limits.h.
80*276da39aSCy Schubert* [Bug 2815] net-snmp before v5.4 has circular library dependencies.
81*276da39aSCy Schubert* [Bug 2821] Add a missing NTP_PRINTF and a missing const.
82*276da39aSCy Schubert* [Bug 2822] New leap column in sntp broke NTP::Util.pm.
83*276da39aSCy Schubert* [Bug 2824] Convert update-leap to perl. (also see 2769)
84*276da39aSCy Schubert* [Bug 2825] Quiet file installation in html/ .
85*276da39aSCy Schubert* [Bug 2830] ntpd doesn't always transfer the correct TAI offset via autokey
86*276da39aSCy Schubert   NTPD transfers the current TAI (instead of an announcement) now.
87*276da39aSCy Schubert   This might still needed improvement.
88*276da39aSCy Schubert   Update autokey data ASAP when 'sys_tai' changes.
89*276da39aSCy Schubert   Fix unit test that was broken by changes for autokey update.
90*276da39aSCy Schubert   Avoid potential signature length issue and use DPRINTF where possible
91*276da39aSCy Schubert     in ntp_crypto.c.
92*276da39aSCy Schubert* [Bug 2832] refclock_jjy.c supports the TDC-300.
93*276da39aSCy Schubert* [Bug 2834] Correct a broken html tag in html/refclock.html
94*276da39aSCy Schubert* [Bug 2836] DFC77 patches from Frank Kardel to make decoding more
95*276da39aSCy Schubert  robust, and require 2 consecutive timestamps to be consistent.
96*276da39aSCy Schubert* [Bug 2837] Allow a configurable DSCP value.
97*276da39aSCy Schubert* [Bug 2837] add test for DSCP to ntpd/complete.conf.in
98*276da39aSCy Schubert* [Bug 2842] Glitch in ntp.conf.def documentation stanza.
99*276da39aSCy Schubert* [Bug 2842] Bug in mdoc2man.
100*276da39aSCy Schubert* [Bug 2843] make check fails on 4.3.36
101*276da39aSCy Schubert   Fixed compiler warnings about numeric range overflow
102*276da39aSCy Schubert   (The original topic was fixed in a byplay to bug#2830)
103*276da39aSCy Schubert* [Bug 2845] Harden memory allocation in ntpd.
104*276da39aSCy Schubert* [Bug 2852] 'make check' can't find unity.h.  Hal Murray.
105*276da39aSCy Schubert* [Bug 2854] Missing brace in libntp/strdup.c.  Masanari Iida.
106*276da39aSCy Schubert* [Bug 2855] Parser fix for conditional leap smear code.  Harlan Stenn.
107*276da39aSCy Schubert* [Bug 2855] Report leap smear in the REFID.  Harlan Stenn.
108*276da39aSCy Schubert* [Bug 2855] Implement conditional leap smear code.  Martin Burnicki.
109*276da39aSCy Schubert* [Bug 2856] ntpd should wait() on terminated child processes.  Paul Green.
110*276da39aSCy Schubert* [Bug 2857] Stratus VOS does not support SIGIO.  Paul Green.
111*276da39aSCy Schubert* [Bug 2859] Improve raw DCF77 robustness deconding.  Frank Kardel.
112*276da39aSCy Schubert* [Bug 2860] ntpq ifstats sanity check is too stringent.  Frank Kardel.
113*276da39aSCy Schubert* html/drivers/driver22.html: typo fix.  Harlan Stenn.
114*276da39aSCy Schubert* refidsmear test cleanup.  Tomasz Flendrich.
115*276da39aSCy Schubert* refidsmear function support and tests.  Harlan Stenn.
116*276da39aSCy Schubert* sntp/tests/Makefile.am: remove g_nameresolution.cpp as it tested
117*276da39aSCy Schubert  something that was only in the 4.2.6 sntp.  Harlan Stenn.
118*276da39aSCy Schubert* Modified tests/bug-2803/Makefile.am so it builds Unity framework tests.
119*276da39aSCy Schubert  Damir Tomić
120*276da39aSCy Schubert* Modified tests/libtnp/Makefile.am so it builds Unity framework tests.
121*276da39aSCy Schubert  Damir Tomić
122*276da39aSCy Schubert* Modified sntp/tests/Makefile.am so it builds Unity framework tests.
123*276da39aSCy Schubert  Damir Tomić
124*276da39aSCy Schubert* tests/sandbox/smeartest.c: Harlan Stenn, Damir Tomic, Juergen Perlinger.
125*276da39aSCy Schubert* Converted from gtest to Unity: tests/bug-2803/. Damir Tomić
126*276da39aSCy Schubert* Converted from gtest to Unity: tests/libntp/ a_md5encrypt, atoint.c,
127*276da39aSCy Schubert  atouint.c, authkeys.c, buftvtots.c, calendar.c, caljulian.c,
128*276da39aSCy Schubert  calyearstart.c, clocktime.c, hextoint.c, lfpfunc.c, modetoa.c,
129*276da39aSCy Schubert  numtoa.c, numtohost.c, refnumtoa.c, ssl_init.c, statestr.c,
130*276da39aSCy Schubert  timespecops.c, timevalops.c, uglydate.c, vi64ops.c, ymd2yd.c.
131*276da39aSCy Schubert  Damir Tomić
132*276da39aSCy Schubert* Converted from gtest to Unity: sntp/tests/ kodDatabase.c, kodFile.c,
133*276da39aSCy Schubert  networking.c, keyFile.c, utilities.cpp, sntptest.h,
134*276da39aSCy Schubert  fileHandlingTest.h. Damir Tomić
135*276da39aSCy Schubert* Initial support for experimental leap smear code.  Harlan Stenn.
136*276da39aSCy Schubert* Fixes to sntp/tests/fileHandlingTest.h.in.  Harlan Stenn.
137*276da39aSCy Schubert* Report select() debug messages at debug level 3 now.
138*276da39aSCy Schubert* sntp/scripts/genLocInfo: treat raspbian as debian.
139*276da39aSCy Schubert* Unity test framework fixes.
140*276da39aSCy Schubert  ** Requires ruby for changes to tests.
141*276da39aSCy Schubert* Initial support for PACKAGE_VERSION tests.
142*276da39aSCy Schubert* sntp/libpkgver belongs in EXTRA_DIST, not DIST_SUBDIRS.
143*276da39aSCy Schubert* tests/bug-2803/Makefile.am must distribute bug-2803.h.
144*276da39aSCy Schubert* Add an assert to the ntpq ifstats code.
145*276da39aSCy Schubert* Clean up the RLIMIT_STACK code.
146*276da39aSCy Schubert* Improve the ntpq documentation around the controlkey keyid.
147*276da39aSCy Schubert* ntpq.c cleanup.
148*276da39aSCy Schubert* Windows port build cleanup.
149*276da39aSCy Schubert
150*276da39aSCy Schubert---
151*276da39aSCy SchubertNTP 4.2.8p2 (Harlan Stenn <stenn@ntp.org>, 2015/04/07)
152a25439b6SCy Schubert
153a25439b6SCy SchubertFocus: Security and Bug fixes, enhancements.
154a25439b6SCy Schubert
155a25439b6SCy SchubertSeverity: MEDIUM
156a25439b6SCy Schubert
157a25439b6SCy SchubertIn addition to bug fixes and enhancements, this release fixes the
158a25439b6SCy Schubertfollowing medium-severity vulnerabilities involving private key
159a25439b6SCy Schubertauthentication:
160a25439b6SCy Schubert
161a25439b6SCy Schubert* [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto.
162a25439b6SCy Schubert
163a25439b6SCy Schubert    References: Sec 2779 / CVE-2015-1798 / VU#374268
164a25439b6SCy Schubert    Affects: All NTP4 releases starting with ntp-4.2.5p99 up to but not
165a25439b6SCy Schubert	including ntp-4.2.8p2 where the installation uses symmetric keys
166a25439b6SCy Schubert	to authenticate remote associations.
167a25439b6SCy Schubert    CVSS: (AV:A/AC:M/Au:N/C:P/I:P/A:P) Base Score: 5.4
168a25439b6SCy Schubert    Date Resolved: Stable (4.2.8p2) 07 Apr 2015
169a25439b6SCy Schubert    Summary: When ntpd is configured to use a symmetric key to authenticate
170a25439b6SCy Schubert	a remote NTP server/peer, it checks if the NTP message
171a25439b6SCy Schubert	authentication code (MAC) in received packets is valid, but not if
172a25439b6SCy Schubert	there actually is any MAC included. Packets without a MAC are
173a25439b6SCy Schubert	accepted as if they had a valid MAC. This allows a MITM attacker to
174a25439b6SCy Schubert	send false packets that are accepted by the client/peer without
175a25439b6SCy Schubert	having to know the symmetric key. The attacker needs to know the
176a25439b6SCy Schubert	transmit timestamp of the client to match it in the forged reply
177a25439b6SCy Schubert	and the false reply needs to reach the client before the genuine
178a25439b6SCy Schubert	reply from the server. The attacker doesn't necessarily need to be
179a25439b6SCy Schubert	relaying the packets between the client and the server.
180a25439b6SCy Schubert
181a25439b6SCy Schubert	Authentication using autokey doesn't have this problem as there is
182a25439b6SCy Schubert	a check that requires the key ID to be larger than NTP_MAXKEY,
183a25439b6SCy Schubert	which fails for packets without a MAC.
184a25439b6SCy Schubert    Mitigation:
185a25439b6SCy Schubert        Upgrade to 4.2.8p2, or later, from the NTP Project Download Page
186a25439b6SCy Schubert	or the NTP Public Services Project Download Page
187a25439b6SCy Schubert        Configure ntpd with enough time sources and monitor it properly.
188a25439b6SCy Schubert    Credit: This issue was discovered by Miroslav Lichvar, of Red Hat.
189a25439b6SCy Schubert
190a25439b6SCy Schubert* [Sec 2781] Authentication doesn't protect symmetric associations against
191a25439b6SCy Schubert  DoS attacks.
192a25439b6SCy Schubert
193a25439b6SCy Schubert    References: Sec 2781 / CVE-2015-1799 / VU#374268
194a25439b6SCy Schubert    Affects: All NTP releases starting with at least xntp3.3wy up to but
195a25439b6SCy Schubert	not including ntp-4.2.8p2 where the installation uses symmetric
196a25439b6SCy Schubert	key authentication.
197a25439b6SCy Schubert    CVSS: (AV:A/AC:M/Au:N/C:P/I:P/A:P) Base Score: 5.4
198a25439b6SCy Schubert    Note: the CVSS base Score for this issue could be 4.3 or lower, and
199a25439b6SCy Schubert	it could be higher than 5.4.
200a25439b6SCy Schubert    Date Resolved: Stable (4.2.8p2) 07 Apr 2015
201a25439b6SCy Schubert    Summary: An attacker knowing that NTP hosts A and B are peering with
202a25439b6SCy Schubert	each other (symmetric association) can send a packet to host A
203a25439b6SCy Schubert	with source address of B which will set the NTP state variables
204a25439b6SCy Schubert	on A to the values sent by the attacker. Host A will then send
205a25439b6SCy Schubert	on its next poll to B a packet with originate timestamp that
206a25439b6SCy Schubert	doesn't match the transmit timestamp of B and the packet will
207a25439b6SCy Schubert	be dropped. If the attacker does this periodically for both
208a25439b6SCy Schubert	hosts, they won't be able to synchronize to each other. This is
209a25439b6SCy Schubert	a known denial-of-service attack, described at
210a25439b6SCy Schubert	https://www.eecis.udel.edu/~mills/onwire.html .
211a25439b6SCy Schubert
212a25439b6SCy Schubert	According to the document the NTP authentication is supposed to
213a25439b6SCy Schubert	protect symmetric associations against this attack, but that
214a25439b6SCy Schubert	doesn't seem to be the case. The state variables are updated even
215a25439b6SCy Schubert	when authentication fails and the peers are sending packets with
216a25439b6SCy Schubert	originate timestamps that don't match the transmit timestamps on
217a25439b6SCy Schubert	the receiving side.
218a25439b6SCy Schubert
219a25439b6SCy Schubert	This seems to be a very old problem, dating back to at least
220a25439b6SCy Schubert	xntp3.3wy. It's also in the NTPv3 (RFC 1305) and NTPv4 (RFC 5905)
221a25439b6SCy Schubert	specifications, so other NTP implementations with support for
222a25439b6SCy Schubert	symmetric associations and authentication may be vulnerable too.
223a25439b6SCy Schubert	An update to the NTP RFC to correct this error is in-process.
224a25439b6SCy Schubert    Mitigation:
225a25439b6SCy Schubert        Upgrade to 4.2.8p2, or later, from the NTP Project Download Page
226a25439b6SCy Schubert	or the NTP Public Services Project Download Page
227a25439b6SCy Schubert        Note that for users of autokey, this specific style of MITM attack
228a25439b6SCy Schubert	is simply a long-known potential problem.
229a25439b6SCy Schubert        Configure ntpd with appropriate time sources and monitor ntpd.
230a25439b6SCy Schubert	Alert your staff if problems are detected.
231a25439b6SCy Schubert    Credit: This issue was discovered by Miroslav Lichvar, of Red Hat.
232a25439b6SCy Schubert
233a25439b6SCy Schubert* New script: update-leap
234a25439b6SCy SchubertThe update-leap script will verify and if necessary, update the
235a25439b6SCy Schubertleap-second definition file.
236a25439b6SCy SchubertIt requires the following commands in order to work:
237a25439b6SCy Schubert
238a25439b6SCy Schubert	wget logger tr sed shasum
239a25439b6SCy Schubert
240a25439b6SCy SchubertSome may choose to run this from cron.  It needs more portability testing.
241a25439b6SCy Schubert
242a25439b6SCy SchubertBug Fixes and Improvements:
243a25439b6SCy Schubert
244a25439b6SCy Schubert* [Bug 1787] DCF77's formerly "antenna" bit is "call bit" since 2003.
245a25439b6SCy Schubert* [Bug 1960] setsockopt IPV6_MULTICAST_IF: Invalid argument.
246a25439b6SCy Schubert* [Bug 2346] "graceful termination" signals do not do peer cleanup.
247a25439b6SCy Schubert* [Bug 2728] See if C99-style structure initialization works.
248a25439b6SCy Schubert* [Bug 2747] Upgrade libevent to 2.1.5-beta.
249a25439b6SCy Schubert* [Bug 2749] ntp/lib/NTP/Util.pm needs update for ntpq -w, IPv6, .POOL. .
250a25439b6SCy Schubert* [Bug 2751] jitter.h has stale copies of l_fp macros.
251a25439b6SCy Schubert* [Bug 2756] ntpd hangs in startup with gcc 3.3.5 on ARM.
252a25439b6SCy Schubert* [Bug 2757] Quiet compiler warnings.
253a25439b6SCy Schubert* [Bug 2759] Expose nonvolatile/clk_wander_threshold to ntpq.
254a25439b6SCy Schubert* [Bug 2763] Allow different thresholds for forward and backward steps.
255a25439b6SCy Schubert* [Bug 2766] ntp-keygen output files should not be world-readable.
256a25439b6SCy Schubert* [Bug 2767] ntp-keygen -M should symlink to ntp.keys.
257a25439b6SCy Schubert* [Bug 2771] nonvolatile value is documented in wrong units.
258a25439b6SCy Schubert* [Bug 2773] Early leap announcement from Palisade/Thunderbolt
259a25439b6SCy Schubert* [Bug 2774] Unreasonably verbose printout - leap pending/warning
260a25439b6SCy Schubert* [Bug 2775] ntp-keygen.c fails to compile under Windows.
261a25439b6SCy Schubert* [Bug 2777] Fixed loops and decoding of Meinberg GPS satellite info.
262a25439b6SCy Schubert  Removed non-ASCII characters from some copyright comments.
263a25439b6SCy Schubert  Removed trailing whitespace.
264a25439b6SCy Schubert  Updated definitions for Meinberg clocks from current Meinberg header files.
265a25439b6SCy Schubert  Now use C99 fixed-width types and avoid non-ASCII characters in comments.
266a25439b6SCy Schubert  Account for updated definitions pulled from Meinberg header files.
267a25439b6SCy Schubert  Updated comments on Meinberg GPS receivers which are not only called GPS16x.
268a25439b6SCy Schubert  Replaced some constant numbers by defines from ntp_calendar.h
269a25439b6SCy Schubert  Modified creation of parse-specific variables for Meinberg devices
270a25439b6SCy Schubert  in gps16x_message().
271a25439b6SCy Schubert  Reworked mk_utcinfo() to avoid printing of ambiguous leap second dates.
272a25439b6SCy Schubert  Modified mbg_tm_str() which now expexts an additional parameter controlling
273a25439b6SCy Schubert  if the time status shall be printed.
274a25439b6SCy Schubert* [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto.
275a25439b6SCy Schubert* [Sec 2781] Authentication doesn't protect symmetric associations against
276a25439b6SCy Schubert  DoS attacks.
277a25439b6SCy Schubert* [Bug 2783] Quiet autoconf warnings about missing AC_LANG_SOURCE.
278a25439b6SCy Schubert* [Bug 2789] Quiet compiler warnings from libevent.
279a25439b6SCy Schubert* [Bug 2790] If ntpd sets the Windows MM timer highest resolution
280a25439b6SCy Schubert  pause briefly before measuring system clock precision to yield
281a25439b6SCy Schubert  correct results.
282a25439b6SCy Schubert* Comment from Juergen Perlinger in ntp_calendar.c to make the code clearer.
283a25439b6SCy Schubert* Use predefined function types for parse driver functions
284a25439b6SCy Schubert  used to set up function pointers.
285a25439b6SCy Schubert  Account for changed prototype of parse_inp_fnc_t functions.
286a25439b6SCy Schubert  Cast parse conversion results to appropriate types to avoid
287a25439b6SCy Schubert  compiler warnings.
288a25439b6SCy Schubert  Let ioctl() for Windows accept a (void *) to avoid compiler warnings
289a25439b6SCy Schubert  when called with pointers to different types.
290a25439b6SCy Schubert
291a25439b6SCy Schubert---
2922b15cb3dSCy SchubertNTP 4.2.8p1 (Harlan Stenn <stenn@ntp.org>, 2015/02/04)
2932b15cb3dSCy Schubert
2942b15cb3dSCy SchubertFocus: Security and Bug fixes, enhancements.
2952b15cb3dSCy Schubert
2962b15cb3dSCy SchubertSeverity: HIGH
2972b15cb3dSCy Schubert
2982b15cb3dSCy SchubertIn addition to bug fixes and enhancements, this release fixes the
2992b15cb3dSCy Schubertfollowing high-severity vulnerabilities:
3002b15cb3dSCy Schubert
3012b15cb3dSCy Schubert* vallen is not validated in several places in ntp_crypto.c, leading
3022b15cb3dSCy Schubert  to a potential information leak or possibly a crash
3032b15cb3dSCy Schubert
3042b15cb3dSCy Schubert    References: Sec 2671 / CVE-2014-9297 / VU#852879
3052b15cb3dSCy Schubert    Affects: All NTP4 releases before 4.2.8p1 that are running autokey.
3062b15cb3dSCy Schubert    CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
3072b15cb3dSCy Schubert    Date Resolved: Stable (4.2.8p1) 04 Feb 2015
3082b15cb3dSCy Schubert    Summary: The vallen packet value is not validated in several code
3092b15cb3dSCy Schubert             paths in ntp_crypto.c which can lead to information leakage
3102b15cb3dSCy Schubert	     or perhaps a crash of the ntpd process.
3112b15cb3dSCy Schubert    Mitigation - any of:
3122b15cb3dSCy Schubert	Upgrade to 4.2.8p1, or later, from the NTP Project Download Page
3132b15cb3dSCy Schubert		or the NTP Public Services Project Download Page.
3142b15cb3dSCy Schubert	Disable Autokey Authentication by removing, or commenting out,
3152b15cb3dSCy Schubert		all configuration directives beginning with the "crypto"
3162b15cb3dSCy Schubert		keyword in your ntp.conf file.
3172b15cb3dSCy Schubert    Credit: This vulnerability was discovered by Stephen Roettger of the
3182b15cb3dSCy Schubert    	Google Security Team, with additional cases found by Sebastian
3192b15cb3dSCy Schubert	Krahmer of the SUSE Security Team and Harlan Stenn of Network
3202b15cb3dSCy Schubert	Time Foundation.
3212b15cb3dSCy Schubert
3222b15cb3dSCy Schubert* ::1 can be spoofed on some OSes, so ACLs based on IPv6 ::1 addresses
3232b15cb3dSCy Schubert  can be bypassed.
3242b15cb3dSCy Schubert
3252b15cb3dSCy Schubert    References: Sec 2672 / CVE-2014-9298 / VU#852879
3262b15cb3dSCy Schubert    Affects: All NTP4 releases before 4.2.8p1, under at least some
3272b15cb3dSCy Schubert	versions of MacOS and Linux. *BSD has not been seen to be vulnerable.
3282b15cb3dSCy Schubert    CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:C) Base Score: 9
3292b15cb3dSCy Schubert    Date Resolved: Stable (4.2.8p1) 04 Feb 2014
3302b15cb3dSCy Schubert    Summary: While available kernels will prevent 127.0.0.1 addresses
3312b15cb3dSCy Schubert	from "appearing" on non-localhost IPv4 interfaces, some kernels
3322b15cb3dSCy Schubert	do not offer the same protection for ::1 source addresses on
3332b15cb3dSCy Schubert	IPv6 interfaces. Since NTP's access control is based on source
3342b15cb3dSCy Schubert	address and localhost addresses generally have no restrictions,
3352b15cb3dSCy Schubert	an attacker can send malicious control and configuration packets
3362b15cb3dSCy Schubert	by spoofing ::1 addresses from the outside. Note Well: This is
3372b15cb3dSCy Schubert	not really a bug in NTP, it's a problem with some OSes. If you
3382b15cb3dSCy Schubert	have one of these OSes where ::1 can be spoofed, ALL ::1 -based
3392b15cb3dSCy Schubert	ACL restrictions on any application can be bypassed!
3402b15cb3dSCy Schubert    Mitigation:
3412b15cb3dSCy Schubert        Upgrade to 4.2.8p1, or later, from the NTP Project Download Page
3422b15cb3dSCy Schubert	or the NTP Public Services Project Download Page
3432b15cb3dSCy Schubert        Install firewall rules to block packets claiming to come from
3442b15cb3dSCy Schubert	::1 from inappropriate network interfaces.
3452b15cb3dSCy Schubert    Credit: This vulnerability was discovered by Stephen Roettger of
3462b15cb3dSCy Schubert	the Google Security Team.
3472b15cb3dSCy Schubert
3482b15cb3dSCy SchubertAdditionally, over 30 bugfixes and improvements were made to the codebase.
3492b15cb3dSCy SchubertSee the ChangeLog for more information.
3502b15cb3dSCy Schubert
3512b15cb3dSCy Schubert---
3522b15cb3dSCy SchubertNTP 4.2.8 (Harlan Stenn <stenn@ntp.org>, 2014/12/18)
3532b15cb3dSCy Schubert
3542b15cb3dSCy SchubertFocus: Security and Bug fixes, enhancements.
3552b15cb3dSCy Schubert
3562b15cb3dSCy SchubertSeverity: HIGH
3572b15cb3dSCy Schubert
3582b15cb3dSCy SchubertIn addition to bug fixes and enhancements, this release fixes the
3592b15cb3dSCy Schubertfollowing high-severity vulnerabilities:
3602b15cb3dSCy Schubert
3612b15cb3dSCy Schubert************************** vv NOTE WELL vv *****************************
3622b15cb3dSCy Schubert
3632b15cb3dSCy SchubertThe vulnerabilities listed below can be significantly mitigated by
3642b15cb3dSCy Schubertfollowing the BCP of putting
3652b15cb3dSCy Schubert
3662b15cb3dSCy Schubert restrict default ... noquery
3672b15cb3dSCy Schubert
3682b15cb3dSCy Schubertin the ntp.conf file.  With the exception of:
3692b15cb3dSCy Schubert
3702b15cb3dSCy Schubert   receive(): missing return on error
3712b15cb3dSCy Schubert   References: Sec 2670 / CVE-2014-9296 / VU#852879
3722b15cb3dSCy Schubert
3732b15cb3dSCy Schubertbelow (which is a limited-risk vulnerability), none of the recent
3742b15cb3dSCy Schubertvulnerabilities listed below can be exploited if the source IP is
3752b15cb3dSCy Schubertrestricted from sending a 'query'-class packet by your ntp.conf file.
3762b15cb3dSCy Schubert
3772b15cb3dSCy Schubert************************** ^^ NOTE WELL ^^ *****************************
3782b15cb3dSCy Schubert
3792b15cb3dSCy Schubert* Weak default key in config_auth().
3802b15cb3dSCy Schubert
3812b15cb3dSCy Schubert  References: [Sec 2665] / CVE-2014-9293 / VU#852879
3822b15cb3dSCy Schubert  CVSS: (AV:N/AC:L/Au:M/C:P/I:P/A:C) Base Score: 7.3
3832b15cb3dSCy Schubert  Vulnerable Versions: all releases prior to 4.2.7p11
3842b15cb3dSCy Schubert  Date Resolved: 28 Jan 2010
3852b15cb3dSCy Schubert
3862b15cb3dSCy Schubert  Summary: If no 'auth' key is set in the configuration file, ntpd
3872b15cb3dSCy Schubert	would generate a random key on the fly.  There were two
3882b15cb3dSCy Schubert	problems with this: 1) the generated key was 31 bits in size,
3892b15cb3dSCy Schubert	and 2) it used the (now weak) ntp_random() function, which was
3902b15cb3dSCy Schubert	seeded with a 32-bit value and could only provide 32 bits of
3912b15cb3dSCy Schubert	entropy.  This was sufficient back in the late 1990s when the
3922b15cb3dSCy Schubert	code was written.  Not today.
3932b15cb3dSCy Schubert
3942b15cb3dSCy Schubert  Mitigation - any of:
3952b15cb3dSCy Schubert	- Upgrade to 4.2.7p11 or later.
3962b15cb3dSCy Schubert	- Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
3972b15cb3dSCy Schubert
3982b15cb3dSCy Schubert  Credit: This vulnerability was noticed in ntp-4.2.6 by Neel Mehta
3992b15cb3dSCy Schubert  	of the Google Security Team.
4002b15cb3dSCy Schubert
4012b15cb3dSCy Schubert* Non-cryptographic random number generator with weak seed used by
4022b15cb3dSCy Schubert  ntp-keygen to generate symmetric keys.
4032b15cb3dSCy Schubert
4042b15cb3dSCy Schubert  References: [Sec 2666] / CVE-2014-9294 / VU#852879
4052b15cb3dSCy Schubert  CVSS: (AV:N/AC:L/Au:M/C:P/I:P/A:C) Base Score: 7.3
4062b15cb3dSCy Schubert  Vulnerable Versions: All NTP4 releases before 4.2.7p230
4072b15cb3dSCy Schubert  Date Resolved: Dev (4.2.7p230) 01 Nov 2011
4082b15cb3dSCy Schubert
4092b15cb3dSCy Schubert  Summary: Prior to ntp-4.2.7p230 ntp-keygen used a weak seed to
4102b15cb3dSCy Schubert  	prepare a random number generator that was of good quality back
4112b15cb3dSCy Schubert	in the late 1990s. The random numbers produced was then used to
4122b15cb3dSCy Schubert	generate symmetric keys. In ntp-4.2.8 we use a current-technology
4132b15cb3dSCy Schubert	cryptographic random number generator, either RAND_bytes from
4142b15cb3dSCy Schubert	OpenSSL, or arc4random().
4152b15cb3dSCy Schubert
4162b15cb3dSCy Schubert  Mitigation - any of:
4172b15cb3dSCy Schubert  	- Upgrade to 4.2.7p230 or later.
4182b15cb3dSCy Schubert	- Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
4192b15cb3dSCy Schubert
4202b15cb3dSCy Schubert  Credit:  This vulnerability was discovered in ntp-4.2.6 by
4212b15cb3dSCy Schubert  	Stephen Roettger of the Google Security Team.
4222b15cb3dSCy Schubert
4232b15cb3dSCy Schubert* Buffer overflow in crypto_recv()
4242b15cb3dSCy Schubert
4252b15cb3dSCy Schubert  References: Sec 2667 / CVE-2014-9295 / VU#852879
4262b15cb3dSCy Schubert  CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
4272b15cb3dSCy Schubert  Versions: All releases before 4.2.8
4282b15cb3dSCy Schubert  Date Resolved: Stable (4.2.8) 18 Dec 2014
4292b15cb3dSCy Schubert
4302b15cb3dSCy Schubert  Summary: When Autokey Authentication is enabled (i.e. the ntp.conf
4312b15cb3dSCy Schubert  	file contains a 'crypto pw ...' directive) a remote attacker
4322b15cb3dSCy Schubert	can send a carefully crafted packet that can overflow a stack
4332b15cb3dSCy Schubert	buffer and potentially allow malicious code to be executed
4342b15cb3dSCy Schubert	with the privilege level of the ntpd process.
4352b15cb3dSCy Schubert
4362b15cb3dSCy Schubert  Mitigation - any of:
4372b15cb3dSCy Schubert  	- Upgrade to 4.2.8, or later, or
4382b15cb3dSCy Schubert	- Disable Autokey Authentication by removing, or commenting out,
4392b15cb3dSCy Schubert	  all configuration directives beginning with the crypto keyword
4402b15cb3dSCy Schubert	  in your ntp.conf file.
4412b15cb3dSCy Schubert
4422b15cb3dSCy Schubert  Credit: This vulnerability was discovered by Stephen Roettger of the
4432b15cb3dSCy Schubert  	Google Security Team.
4442b15cb3dSCy Schubert
4452b15cb3dSCy Schubert* Buffer overflow in ctl_putdata()
4462b15cb3dSCy Schubert
4472b15cb3dSCy Schubert  References: Sec 2668 / CVE-2014-9295 / VU#852879
4482b15cb3dSCy Schubert  CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
4492b15cb3dSCy Schubert  Versions: All NTP4 releases before 4.2.8
4502b15cb3dSCy Schubert  Date Resolved: Stable (4.2.8) 18 Dec 2014
4512b15cb3dSCy Schubert
4522b15cb3dSCy Schubert  Summary: A remote attacker can send a carefully crafted packet that
4532b15cb3dSCy Schubert  	can overflow a stack buffer and potentially allow malicious
4542b15cb3dSCy Schubert	code to be executed with the privilege level of the ntpd process.
4552b15cb3dSCy Schubert
4562b15cb3dSCy Schubert  Mitigation - any of:
4572b15cb3dSCy Schubert  	- Upgrade to 4.2.8, or later.
4582b15cb3dSCy Schubert	- Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
4592b15cb3dSCy Schubert
4602b15cb3dSCy Schubert  Credit: This vulnerability was discovered by Stephen Roettger of the
4612b15cb3dSCy Schubert  	Google Security Team.
4622b15cb3dSCy Schubert
4632b15cb3dSCy Schubert* Buffer overflow in configure()
4642b15cb3dSCy Schubert
4652b15cb3dSCy Schubert  References: Sec 2669 / CVE-2014-9295 / VU#852879
4662b15cb3dSCy Schubert  CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
4672b15cb3dSCy Schubert  Versions: All NTP4 releases before 4.2.8
4682b15cb3dSCy Schubert  Date Resolved: Stable (4.2.8) 18 Dec 2014
4692b15cb3dSCy Schubert
4702b15cb3dSCy Schubert  Summary: A remote attacker can send a carefully crafted packet that
4712b15cb3dSCy Schubert	can overflow a stack buffer and potentially allow malicious
4722b15cb3dSCy Schubert	code to be executed with the privilege level of the ntpd process.
4732b15cb3dSCy Schubert
4742b15cb3dSCy Schubert  Mitigation - any of:
4752b15cb3dSCy Schubert  	- Upgrade to 4.2.8, or later.
4762b15cb3dSCy Schubert	- Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
4772b15cb3dSCy Schubert
4782b15cb3dSCy Schubert  Credit: This vulnerability was discovered by Stephen Roettger of the
4792b15cb3dSCy Schubert	Google Security Team.
4802b15cb3dSCy Schubert
4812b15cb3dSCy Schubert* receive(): missing return on error
4822b15cb3dSCy Schubert
4832b15cb3dSCy Schubert  References: Sec 2670 / CVE-2014-9296 / VU#852879
4842b15cb3dSCy Schubert  CVSS: (AV:N/AC:L/Au:N/C:N/I:N/A:P) Base Score: 5.0
4852b15cb3dSCy Schubert  Versions: All NTP4 releases before 4.2.8
4862b15cb3dSCy Schubert  Date Resolved: Stable (4.2.8) 18 Dec 2014
4872b15cb3dSCy Schubert
4882b15cb3dSCy Schubert  Summary: Code in ntp_proto.c:receive() was missing a 'return;' in
4892b15cb3dSCy Schubert  	the code path where an error was detected, which meant
4902b15cb3dSCy Schubert	processing did not stop when a specific rare error occurred.
4912b15cb3dSCy Schubert	We haven't found a way for this bug to affect system integrity.
4922b15cb3dSCy Schubert	If there is no way to affect system integrity the base CVSS
4932b15cb3dSCy Schubert	score for this bug is 0. If there is one avenue through which
4942b15cb3dSCy Schubert	system integrity can be partially affected, the base score
4952b15cb3dSCy Schubert	becomes a 5. If system integrity can be partially affected
4962b15cb3dSCy Schubert	via all three integrity metrics, the CVSS base score become 7.5.
4972b15cb3dSCy Schubert
4982b15cb3dSCy Schubert  Mitigation - any of:
4992b15cb3dSCy Schubert        - Upgrade to 4.2.8, or later,
5002b15cb3dSCy Schubert        - Remove or comment out all configuration directives
5012b15cb3dSCy Schubert	  beginning with the crypto keyword in your ntp.conf file.
5022b15cb3dSCy Schubert
5032b15cb3dSCy Schubert  Credit: This vulnerability was discovered by Stephen Roettger of the
5042b15cb3dSCy Schubert  	Google Security Team.
5052b15cb3dSCy Schubert
5062b15cb3dSCy SchubertSee http://support.ntp.org/security for more information.
5072b15cb3dSCy Schubert
5082b15cb3dSCy SchubertNew features / changes in this release:
5092b15cb3dSCy Schubert
5102b15cb3dSCy SchubertImportant Changes
5112b15cb3dSCy Schubert
5122b15cb3dSCy Schubert* Internal NTP Era counters
5132b15cb3dSCy Schubert
5142b15cb3dSCy SchubertThe internal counters that track the "era" (range of years) we are in
5152b15cb3dSCy Schubertrolls over every 136 years'.  The current "era" started at the stroke of
5162b15cb3dSCy Schubertmidnight on 1 Jan 1900, and ends just before the stroke of midnight on
5172b15cb3dSCy Schubert1 Jan 2036.
5182b15cb3dSCy SchubertIn the past, we have used the "midpoint" of the  range to decide which
5192b15cb3dSCy Schubertera we were in.  Given the longevity of some products, it became clear
5202b15cb3dSCy Schubertthat it would be more functional to "look back" less, and "look forward"
5212b15cb3dSCy Schubertmore.  We now compile a timestamp into the ntpd executable and when we
5222b15cb3dSCy Schubertget a timestamp we us the "built-on" to tell us what era we are in.
5232b15cb3dSCy SchubertThis check "looks back" 10 years, and "looks forward" 126 years.
5242b15cb3dSCy Schubert
5252b15cb3dSCy Schubert* ntpdc responses disabled by default
5262b15cb3dSCy Schubert
5272b15cb3dSCy SchubertDave Hart writes:
5282b15cb3dSCy Schubert
5292b15cb3dSCy SchubertFor a long time, ntpq and its mostly text-based mode 6 (control)
5302b15cb3dSCy Schubertprotocol have been preferred over ntpdc and its mode 7 (private
5312b15cb3dSCy Schubertrequest) protocol for runtime queries and configuration.  There has
5322b15cb3dSCy Schubertbeen a goal of deprecating ntpdc, previously held back by numerous
5332b15cb3dSCy Schubertcapabilities exposed by ntpdc with no ntpq equivalent.  I have been
5342b15cb3dSCy Schubertadding commands to ntpq to cover these cases, and I believe I've
5352b15cb3dSCy Schubertcovered them all, though I've not compared command-by-command
5362b15cb3dSCy Schubertrecently.
5372b15cb3dSCy Schubert
5382b15cb3dSCy SchubertAs I've said previously, the binary mode 7 protocol involves a lot of
5392b15cb3dSCy Schuberthand-rolled structure layout and byte-swapping code in both ntpd and
5402b15cb3dSCy Schubertntpdc which is hard to get right.  As ntpd grows and changes, the
5412b15cb3dSCy Schubertchanges are difficult to expose via ntpdc while maintaining forward
5422b15cb3dSCy Schubertand backward compatibility between ntpdc and ntpd.  In contrast,
5432b15cb3dSCy Schubertntpq's text-based, label=value approach involves more code reuse and
5442b15cb3dSCy Schubertallows compatible changes without extra work in most cases.
5452b15cb3dSCy Schubert
5462b15cb3dSCy SchubertMode 7 has always been defined as vendor/implementation-specific while
5472b15cb3dSCy Schubertmode 6 is described in RFC 1305 and intended to be open to interoperate
5482b15cb3dSCy Schubertwith other implementations.  There is an early draft of an updated
5492b15cb3dSCy Schubertmode 6 description that likely will join the other NTPv4 RFCs
5502b15cb3dSCy Schuberteventually. (http://tools.ietf.org/html/draft-odonoghue-ntpv4-control-01)
5512b15cb3dSCy Schubert
5522b15cb3dSCy SchubertFor these reasons, ntpd 4.2.7p230 by default disables processing of
5532b15cb3dSCy Schubertntpdc queries, reducing ntpd's attack surface and functionally
5542b15cb3dSCy Schubertdeprecating ntpdc.  If you are in the habit of using ntpdc for certain
5552b15cb3dSCy Schubertoperations, please try the ntpq equivalent.  If there's no equivalent,
5562b15cb3dSCy Schubertplease open a bug report at http://bugs.ntp.org./
5572b15cb3dSCy Schubert
5582b15cb3dSCy SchubertIn addition to the above, over 1100 issues have been resolved between
5592b15cb3dSCy Schubertthe 4.2.6 branch and 4.2.8.  The ChangeLog file in the distribution
5602b15cb3dSCy Schubertlists these.
5612b15cb3dSCy Schubert
5622b15cb3dSCy Schubert---
5632b15cb3dSCy SchubertNTP 4.2.6p5 (Harlan Stenn <stenn@ntp.org>, 2011/12/24)
5642b15cb3dSCy Schubert
5652b15cb3dSCy SchubertFocus: Bug fixes
5662b15cb3dSCy Schubert
5672b15cb3dSCy SchubertSeverity: Medium
5682b15cb3dSCy Schubert
5692b15cb3dSCy SchubertThis is a recommended upgrade.
5702b15cb3dSCy Schubert
5712b15cb3dSCy SchubertThis release updates sys_rootdisp and sys_jitter calculations to match the
5722b15cb3dSCy SchubertRFC specification, fixes a potential IPv6 address matching error for the
5732b15cb3dSCy Schubert"nic" and "interface" configuration directives, suppresses the creation of
5742b15cb3dSCy Schubertextraneous ephemeral associations for certain broadcastclient and
5752b15cb3dSCy Schubertmulticastclient configurations, cleans up some ntpq display issues, and
5762b15cb3dSCy Schubertincludes improvements to orphan mode, minor bugs fixes and code clean-ups.
5772b15cb3dSCy Schubert
5782b15cb3dSCy SchubertNew features / changes in this release:
5792b15cb3dSCy Schubert
5802b15cb3dSCy Schubertntpd
5812b15cb3dSCy Schubert
5822b15cb3dSCy Schubert * Updated "nic" and "interface" IPv6 address handling to prevent
5832b15cb3dSCy Schubert   mismatches with localhost [::1] and wildcard [::] which resulted from
5842b15cb3dSCy Schubert   using the address/prefix format (e.g. fe80::/64)
5852b15cb3dSCy Schubert * Fix orphan mode stratum incorrectly counting to infinity
5862b15cb3dSCy Schubert * Orphan parent selection metric updated to includes missing ntohl()
5872b15cb3dSCy Schubert * Non-printable stratum 16 refid no longer sent to ntp
5882b15cb3dSCy Schubert * Duplicate ephemeral associations suppressed for broadcastclient and
5892b15cb3dSCy Schubert   multicastclient without broadcastdelay
5902b15cb3dSCy Schubert * Exclude undetermined sys_refid from use in loopback TEST12
5912b15cb3dSCy Schubert * Exclude MODE_SERVER responses from KoD rate limiting
5922b15cb3dSCy Schubert * Include root delay in clock_update() sys_rootdisp calculations
5932b15cb3dSCy Schubert * get_systime() updated to exclude sys_residual offset (which only
5942b15cb3dSCy Schubert   affected bits "below" sys_tick, the precision threshold)
5952b15cb3dSCy Schubert * sys.peer jitter weighting corrected in sys_jitter calculation
5962b15cb3dSCy Schubert
5972b15cb3dSCy Schubertntpq
5982b15cb3dSCy Schubert
5992b15cb3dSCy Schubert * -n option extended to include the billboard "server" column
6002b15cb3dSCy Schubert * IPv6 addresses in the local column truncated to prevent overruns
6012b15cb3dSCy Schubert
6022b15cb3dSCy Schubert---
6032b15cb3dSCy SchubertNTP 4.2.6p4 (Harlan Stenn <stenn@ntp.org>, 2011/09/22)
6042b15cb3dSCy Schubert
6052b15cb3dSCy SchubertFocus: Bug fixes and portability improvements
6062b15cb3dSCy Schubert
6072b15cb3dSCy SchubertSeverity: Medium
6082b15cb3dSCy Schubert
6092b15cb3dSCy SchubertThis is a recommended upgrade.
6102b15cb3dSCy Schubert
6112b15cb3dSCy SchubertThis release includes build infrastructure updates, code
6122b15cb3dSCy Schubertclean-ups, minor bug fixes, fixes for a number of minor
6132b15cb3dSCy Schubertref-clock issues, and documentation revisions.
6142b15cb3dSCy Schubert
6152b15cb3dSCy SchubertPortability improvements affect AIX, HP-UX, Linux, OS X and 64-bit time_t.
6162b15cb3dSCy Schubert
6172b15cb3dSCy SchubertNew features / changes in this release:
6182b15cb3dSCy Schubert
6192b15cb3dSCy SchubertBuild system
6202b15cb3dSCy Schubert
6212b15cb3dSCy Schubert* Fix checking for struct rtattr
6222b15cb3dSCy Schubert* Update config.guess and config.sub for AIX
6232b15cb3dSCy Schubert* Upgrade required version of autogen and libopts for building
6242b15cb3dSCy Schubert  from our source code repository
6252b15cb3dSCy Schubert
6262b15cb3dSCy Schubertntpd
6272b15cb3dSCy Schubert
6282b15cb3dSCy Schubert* Back-ported several fixes for Coverity warnings from ntp-dev
6292b15cb3dSCy Schubert* Fix a rare boundary condition in UNLINK_EXPR_SLIST()
6302b15cb3dSCy Schubert* Allow "logconfig =allall" configuration directive
6312b15cb3dSCy Schubert* Bind tentative IPv6 addresses on Linux
6322b15cb3dSCy Schubert* Correct WWVB/Spectracom driver to timestamp CR instead of LF
6332b15cb3dSCy Schubert* Improved tally bit handling to prevent incorrect ntpq peer status reports
6342b15cb3dSCy Schubert* Exclude the Undisciplined Local Clock and ACTS drivers from the initial
6352b15cb3dSCy Schubert  candidate list unless they are designated a "prefer peer"
6362b15cb3dSCy Schubert* Prevent the consideration of Undisciplined Local Clock or ACTS drivers for
6372b15cb3dSCy Schubert  selection during the 'tos orphanwait' period
6382b15cb3dSCy Schubert* Prefer an Orphan Mode Parent over the Undisciplined Local Clock or ACTS
6392b15cb3dSCy Schubert  drivers
6402b15cb3dSCy Schubert* Improved support of the Parse Refclock trusttime flag in Meinberg mode
6412b15cb3dSCy Schubert* Back-port utility routines from ntp-dev: mprintf(), emalloc_zero()
6422b15cb3dSCy Schubert* Added the NTPD_TICKADJ_PPM environment variable for specifying baseline
6432b15cb3dSCy Schubert  clock slew on Microsoft Windows
6442b15cb3dSCy Schubert* Code cleanup in libntpq
6452b15cb3dSCy Schubert
6462b15cb3dSCy Schubertntpdc
6472b15cb3dSCy Schubert
6482b15cb3dSCy Schubert* Fix timerstats reporting
6492b15cb3dSCy Schubert
6502b15cb3dSCy Schubertntpdate
6512b15cb3dSCy Schubert
6522b15cb3dSCy Schubert* Reduce time required to set clock
6532b15cb3dSCy Schubert* Allow a timeout greater than 2 seconds
6542b15cb3dSCy Schubert
6552b15cb3dSCy Schubertsntp
6562b15cb3dSCy Schubert
6572b15cb3dSCy Schubert* Backward incompatible command-line option change:
6582b15cb3dSCy Schubert  -l/--filelog changed -l/--logfile (to be consistent with ntpd)
6592b15cb3dSCy Schubert
6602b15cb3dSCy SchubertDocumentation
6612b15cb3dSCy Schubert
6622b15cb3dSCy Schubert* Update html2man. Fix some tags in the .html files
6632b15cb3dSCy Schubert* Distribute ntp-wait.html
6642b15cb3dSCy Schubert
6652b15cb3dSCy Schubert---
6662b15cb3dSCy SchubertNTP 4.2.6p3 (Harlan Stenn <stenn@ntp.org>, 2011/01/03)
6672b15cb3dSCy Schubert
6682b15cb3dSCy SchubertFocus: Bug fixes and portability improvements
6692b15cb3dSCy Schubert
6702b15cb3dSCy SchubertSeverity: Medium
6712b15cb3dSCy Schubert
6722b15cb3dSCy SchubertThis is a recommended upgrade.
6732b15cb3dSCy Schubert
6742b15cb3dSCy SchubertThis release includes build infrastructure updates, code
6752b15cb3dSCy Schubertclean-ups, minor bug fixes, fixes for a number of minor
6762b15cb3dSCy Schubertref-clock issues, and documentation revisions.
6772b15cb3dSCy Schubert
6782b15cb3dSCy SchubertPortability improvements in this release affect AIX, Atari FreeMiNT,
6792b15cb3dSCy SchubertFreeBSD4, Linux and Microsoft Windows.
6802b15cb3dSCy Schubert
6812b15cb3dSCy SchubertNew features / changes in this release:
6822b15cb3dSCy Schubert
6832b15cb3dSCy SchubertBuild system
6842b15cb3dSCy Schubert* Use lsb_release to get information about Linux distributions.
6852b15cb3dSCy Schubert* 'test' is in /usr/bin (instead of /bin) on some systems.
6862b15cb3dSCy Schubert* Basic sanity checks for the ChangeLog file.
6872b15cb3dSCy Schubert* Source certain build files with ./filename for systems without . in PATH.
6882b15cb3dSCy Schubert* IRIX portability fix.
6892b15cb3dSCy Schubert* Use a single copy of the "libopts" code.
6902b15cb3dSCy Schubert* autogen/libopts upgrade.
6912b15cb3dSCy Schubert* configure.ac m4 quoting cleanup.
6922b15cb3dSCy Schubert
6932b15cb3dSCy Schubertntpd
6942b15cb3dSCy Schubert* Do not bind to IN6_IFF_ANYCAST addresses.
6952b15cb3dSCy Schubert* Log the reason for exiting under Windows.
6962b15cb3dSCy Schubert* Multicast fixes for Windows.
6972b15cb3dSCy Schubert* Interpolation fixes for Windows.
6982b15cb3dSCy Schubert* IPv4 and IPv6 Multicast fixes.
6992b15cb3dSCy Schubert* Manycast solicitation fixes and general repairs.
7002b15cb3dSCy Schubert* JJY refclock cleanup.
7012b15cb3dSCy Schubert* NMEA refclock improvements.
7022b15cb3dSCy Schubert* Oncore debug message cleanup.
7032b15cb3dSCy Schubert* Palisade refclock now builds under Linux.
7042b15cb3dSCy Schubert* Give RAWDCF more baud rates.
7052b15cb3dSCy Schubert* Support Truetime Satellite clocks under Windows.
7062b15cb3dSCy Schubert* Support Arbiter 1093C Satellite clocks under Windows.
7072b15cb3dSCy Schubert* Make sure that the "filegen" configuration command defaults to "enable".
7082b15cb3dSCy Schubert* Range-check the status codes (plus other cleanup) in the RIPE-NCC driver.
7092b15cb3dSCy Schubert* Prohibit 'includefile' directive in remote configuration command.
7102b15cb3dSCy Schubert* Fix 'nic' interface bindings.
7112b15cb3dSCy Schubert* Fix the way we link with openssl if openssl is installed in the base
7122b15cb3dSCy Schubert  system.
7132b15cb3dSCy Schubert
7142b15cb3dSCy Schubertntp-keygen
7152b15cb3dSCy Schubert* Fix -V coredump.
7162b15cb3dSCy Schubert* OpenSSL version display cleanup.
7172b15cb3dSCy Schubert
7182b15cb3dSCy Schubertntpdc
7192b15cb3dSCy Schubert* Many counters should be treated as unsigned.
7202b15cb3dSCy Schubert
7212b15cb3dSCy Schubertntpdate
7222b15cb3dSCy Schubert* Do not ignore replies with equal receive and transmit timestamps.
7232b15cb3dSCy Schubert
7242b15cb3dSCy Schubertntpq
7252b15cb3dSCy Schubert* libntpq warning cleanup.
7262b15cb3dSCy Schubert
7272b15cb3dSCy Schubertntpsnmpd
7282b15cb3dSCy Schubert* Correct SNMP type for "precision" and "resolution".
7292b15cb3dSCy Schubert* Update the MIB from the draft version to RFC-5907.
7302b15cb3dSCy Schubert
7312b15cb3dSCy Schubertsntp
7322b15cb3dSCy Schubert* Display timezone offset when showing time for sntp in the local
7332b15cb3dSCy Schubert  timezone.
7342b15cb3dSCy Schubert* Pay proper attention to RATE KoD packets.
7352b15cb3dSCy Schubert* Fix a miscalculation of the offset.
7362b15cb3dSCy Schubert* Properly parse empty lines in the key file.
7372b15cb3dSCy Schubert* Logging cleanup.
7382b15cb3dSCy Schubert* Use tv_usec correctly in set_time().
7392b15cb3dSCy Schubert* Documentation cleanup.
7402b15cb3dSCy Schubert
7412b15cb3dSCy Schubert---
7422b15cb3dSCy SchubertNTP 4.2.6p2 (Harlan Stenn <stenn@ntp.org>, 2010/07/08)
7432b15cb3dSCy Schubert
7442b15cb3dSCy SchubertFocus: Bug fixes and portability improvements
7452b15cb3dSCy Schubert
7462b15cb3dSCy SchubertSeverity: Medium
7472b15cb3dSCy Schubert
7482b15cb3dSCy SchubertThis is a recommended upgrade.
7492b15cb3dSCy Schubert
7502b15cb3dSCy SchubertThis release includes build infrastructure updates, code
7512b15cb3dSCy Schubertclean-ups, minor bug fixes, fixes for a number of minor
7522b15cb3dSCy Schubertref-clock issues, improved KOD handling, OpenSSL related
7532b15cb3dSCy Schubertupdates and documentation revisions.
7542b15cb3dSCy Schubert
7552b15cb3dSCy SchubertPortability improvements in this release affect Irix, Linux,
7562b15cb3dSCy SchubertMac OS, Microsoft Windows, OpenBSD and QNX6
7572b15cb3dSCy Schubert
7582b15cb3dSCy SchubertNew features / changes in this release:
7592b15cb3dSCy Schubert
7602b15cb3dSCy Schubertntpd
7612b15cb3dSCy Schubert* Range syntax for the trustedkey configuration directive
7622b15cb3dSCy Schubert* Unified IPv4 and IPv6 restrict lists
7632b15cb3dSCy Schubert
7642b15cb3dSCy Schubertntpdate
7652b15cb3dSCy Schubert* Rate limiting and KOD handling
7662b15cb3dSCy Schubert
7672b15cb3dSCy Schubertntpsnmpd
7682b15cb3dSCy Schubert* default connection to net-snmpd via a unix-domain socket
7692b15cb3dSCy Schubert* command-line 'socket name' option
7702b15cb3dSCy Schubert
7712b15cb3dSCy Schubertntpq / ntpdc
7722b15cb3dSCy Schubert* support for the "passwd ..." syntax
7732b15cb3dSCy Schubert* key-type specific password prompts
7742b15cb3dSCy Schubert
7752b15cb3dSCy Schubertsntp
7762b15cb3dSCy Schubert* MD5 authentication of an ntpd
7772b15cb3dSCy Schubert* Broadcast and crypto
7782b15cb3dSCy Schubert* OpenSSL support
7792b15cb3dSCy Schubert
7802b15cb3dSCy Schubert---
7812b15cb3dSCy SchubertNTP 4.2.6p1 (Harlan Stenn <stenn@ntp.org>, 2010/04/09)
7822b15cb3dSCy Schubert
7832b15cb3dSCy SchubertFocus: Bug fixes, portability fixes, and documentation improvements
7842b15cb3dSCy Schubert
7852b15cb3dSCy SchubertSeverity: Medium
7862b15cb3dSCy Schubert
7872b15cb3dSCy SchubertThis is a recommended upgrade.
7882b15cb3dSCy Schubert
7892b15cb3dSCy Schubert---
7902b15cb3dSCy SchubertNTP 4.2.6 (Harlan Stenn <stenn@ntp.org>, 2009/12/08)
7912b15cb3dSCy Schubert
7922b15cb3dSCy SchubertFocus: enhancements and bug fixes.
7932b15cb3dSCy Schubert
7942b15cb3dSCy Schubert---
795eb6d21b4SOllivier RobertNTP 4.2.4p8 (Harlan Stenn <stenn@ntp.org>, 2009/12/08)
796eb6d21b4SOllivier Robert
797eb6d21b4SOllivier RobertFocus: Security Fixes
798eb6d21b4SOllivier Robert
799eb6d21b4SOllivier RobertSeverity: HIGH
800eb6d21b4SOllivier Robert
801eb6d21b4SOllivier RobertThis release fixes the following high-severity vulnerability:
802eb6d21b4SOllivier Robert
803eb6d21b4SOllivier Robert* [Sec 1331] DoS with mode 7 packets - CVE-2009-3563.
804eb6d21b4SOllivier Robert
805eb6d21b4SOllivier Robert  See http://support.ntp.org/security for more information.
806eb6d21b4SOllivier Robert
807eb6d21b4SOllivier Robert  NTP mode 7 (MODE_PRIVATE) is used by the ntpdc query and control utility.
808eb6d21b4SOllivier Robert  In contrast, ntpq uses NTP mode 6 (MODE_CONTROL), while routine NTP time
809eb6d21b4SOllivier Robert  transfers use modes 1 through 5.  Upon receipt of an incorrect mode 7
810eb6d21b4SOllivier Robert  request or a mode 7 error response from an address which is not listed
811eb6d21b4SOllivier Robert  in a "restrict ... noquery" or "restrict ... ignore" statement, ntpd will
812eb6d21b4SOllivier Robert  reply with a mode 7 error response (and log a message).  In this case:
813eb6d21b4SOllivier Robert
814eb6d21b4SOllivier Robert	* If an attacker spoofs the source address of ntpd host A in a
815eb6d21b4SOllivier Robert	  mode 7 response packet sent to ntpd host B, both A and B will
816eb6d21b4SOllivier Robert	  continuously send each other error responses, for as long as
817eb6d21b4SOllivier Robert	  those packets get through.
818eb6d21b4SOllivier Robert
819eb6d21b4SOllivier Robert	* If an attacker spoofs an address of ntpd host A in a mode 7
820eb6d21b4SOllivier Robert	  response packet sent to ntpd host A, A will respond to itself
821eb6d21b4SOllivier Robert	  endlessly, consuming CPU and logging excessively.
822eb6d21b4SOllivier Robert
823eb6d21b4SOllivier Robert  Credit for finding this vulnerability goes to Robin Park and Dmitri
824eb6d21b4SOllivier Robert  Vinokurov of Alcatel-Lucent.
825eb6d21b4SOllivier Robert
826eb6d21b4SOllivier RobertTHIS IS A STRONGLY RECOMMENDED UPGRADE.
827eb6d21b4SOllivier Robert
828eb6d21b4SOllivier Robert---
8292b15cb3dSCy Schubertntpd now syncs to refclocks right away.
8302b15cb3dSCy Schubert
8312b15cb3dSCy SchubertBackward-Incompatible changes:
8322b15cb3dSCy Schubert
8332b15cb3dSCy Schubertntpd no longer accepts '-v name' or '-V name' to define internal variables.
8342b15cb3dSCy SchubertUse '--var name' or '--dvar name' instead. (Bug 817)
8352b15cb3dSCy Schubert
8362b15cb3dSCy Schubert---
837eb6d21b4SOllivier RobertNTP 4.2.4p7 (Harlan Stenn <stenn@ntp.org>, 2009/05/04)
838eb6d21b4SOllivier Robert
839eb6d21b4SOllivier RobertFocus: Security and Bug Fixes
840eb6d21b4SOllivier Robert
841eb6d21b4SOllivier RobertSeverity: HIGH
842eb6d21b4SOllivier Robert
843eb6d21b4SOllivier RobertThis release fixes the following high-severity vulnerability:
844eb6d21b4SOllivier Robert
845eb6d21b4SOllivier Robert* [Sec 1151] Remote exploit if autokey is enabled.  CVE-2009-1252
846eb6d21b4SOllivier Robert
847eb6d21b4SOllivier Robert  See http://support.ntp.org/security for more information.
848eb6d21b4SOllivier Robert
849eb6d21b4SOllivier Robert  If autokey is enabled (if ntp.conf contains a "crypto pw whatever"
850eb6d21b4SOllivier Robert  line) then a carefully crafted packet sent to the machine will cause
851eb6d21b4SOllivier Robert  a buffer overflow and possible execution of injected code, running
852eb6d21b4SOllivier Robert  with the privileges of the ntpd process (often root).
853eb6d21b4SOllivier Robert
854eb6d21b4SOllivier Robert  Credit for finding this vulnerability goes to Chris Ries of CMU.
855eb6d21b4SOllivier Robert
856eb6d21b4SOllivier RobertThis release fixes the following low-severity vulnerabilities:
857eb6d21b4SOllivier Robert
858eb6d21b4SOllivier Robert* [Sec 1144] limited (two byte) buffer overflow in ntpq.  CVE-2009-0159
859eb6d21b4SOllivier Robert  Credit for finding this vulnerability goes to Geoff Keating of Apple.
860eb6d21b4SOllivier Robert
861eb6d21b4SOllivier Robert* [Sec 1149] use SO_EXCLUSIVEADDRUSE on Windows
862eb6d21b4SOllivier Robert  Credit for finding this issue goes to Dave Hart.
863eb6d21b4SOllivier Robert
864eb6d21b4SOllivier RobertThis release fixes a number of bugs and adds some improvements:
865eb6d21b4SOllivier Robert
866eb6d21b4SOllivier Robert* Improved logging
867eb6d21b4SOllivier Robert* Fix many compiler warnings
868eb6d21b4SOllivier Robert* Many fixes and improvements for Windows
869eb6d21b4SOllivier Robert* Adds support for AIX 6.1
870eb6d21b4SOllivier Robert* Resolves some issues under MacOS X and Solaris
871eb6d21b4SOllivier Robert
872eb6d21b4SOllivier RobertTHIS IS A STRONGLY RECOMMENDED UPGRADE.
873eb6d21b4SOllivier Robert
874eb6d21b4SOllivier Robert---
875eb6d21b4SOllivier RobertNTP 4.2.4p6 (Harlan Stenn <stenn@ntp.org>, 2009/01/07)
876eb6d21b4SOllivier Robert
877eb6d21b4SOllivier RobertFocus: Security Fix
878eb6d21b4SOllivier Robert
879eb6d21b4SOllivier RobertSeverity: Low
880eb6d21b4SOllivier Robert
881eb6d21b4SOllivier RobertThis release fixes oCERT.org's CVE-2009-0021, a vulnerability affecting
882eb6d21b4SOllivier Robertthe OpenSSL library relating to the incorrect checking of the return
883eb6d21b4SOllivier Robertvalue of EVP_VerifyFinal function.
884eb6d21b4SOllivier Robert
885eb6d21b4SOllivier RobertCredit for finding this issue goes to the Google Security Team for
886eb6d21b4SOllivier Robertfinding the original issue with OpenSSL, and to ocert.org for finding
887eb6d21b4SOllivier Robertthe problem in NTP and telling us about it.
888eb6d21b4SOllivier Robert
889eb6d21b4SOllivier RobertThis is a recommended upgrade.
890eb6d21b4SOllivier Robert---
891ea906c41SOllivier RobertNTP 4.2.4p5 (Harlan Stenn <stenn@ntp.org>, 2008/08/17)
892ea906c41SOllivier Robert
893ea906c41SOllivier RobertFocus: Minor Bugfixes
894ea906c41SOllivier Robert
895ea906c41SOllivier RobertThis release fixes a number of Windows-specific ntpd bugs and
896ea906c41SOllivier Robertplatform-independent ntpdate bugs. A logging bugfix has been applied
897ea906c41SOllivier Robertto the ONCORE driver.
898ea906c41SOllivier Robert
899ea906c41SOllivier RobertThe "dynamic" keyword and is now obsolete and deferred binding to local
900ea906c41SOllivier Robertinterfaces is the new default. The minimum time restriction for the
901ea906c41SOllivier Robertinterface update interval has been dropped.
902ea906c41SOllivier Robert
903ea906c41SOllivier RobertA number of minor build system and documentation fixes are included.
904ea906c41SOllivier Robert
905ea906c41SOllivier RobertThis is a recommended upgrade for Windows.
906ea906c41SOllivier Robert
907ea906c41SOllivier Robert---
908ea906c41SOllivier RobertNTP 4.2.4p4 (Harlan Stenn <stenn@ntp.org>, 2007/09/10)
909ea906c41SOllivier Robert
910ea906c41SOllivier RobertFocus: Minor Bugfixes
911ea906c41SOllivier Robert
912ea906c41SOllivier RobertThis release updates certain copyright information, fixes several display
913ea906c41SOllivier Robertbugs in ntpdc, avoids SIGIO interrupting malloc(), cleans up file descriptor
914ea906c41SOllivier Robertshutdown in the parse refclock driver, removes some lint from the code,
915ea906c41SOllivier Robertstops accessing certain buffers immediately after they were freed, fixes
916ea906c41SOllivier Roberta problem with non-command-line specification of -6, and allows the loopback
917ea906c41SOllivier Robertinterface to share addresses with other interfaces.
918ea906c41SOllivier Robert
919ea906c41SOllivier Robert---
920ea906c41SOllivier RobertNTP 4.2.4p3 (Harlan Stenn <stenn@ntp.org>, 2007/06/29)
921ea906c41SOllivier Robert
922ea906c41SOllivier RobertFocus: Minor Bugfixes
923ea906c41SOllivier Robert
924ea906c41SOllivier RobertThis release fixes a bug in Windows that made it difficult to
925ea906c41SOllivier Robertterminate ntpd under windows.
926ea906c41SOllivier RobertThis is a recommended upgrade for Windows.
927ea906c41SOllivier Robert
928ea906c41SOllivier Robert---
929ea906c41SOllivier RobertNTP 4.2.4p2 (Harlan Stenn <stenn@ntp.org>, 2007/06/19)
930ea906c41SOllivier Robert
931ea906c41SOllivier RobertFocus: Minor Bugfixes
932ea906c41SOllivier Robert
933ea906c41SOllivier RobertThis release fixes a multicast mode authentication problem,
934ea906c41SOllivier Robertan error in NTP packet handling on Windows that could lead to
935ea906c41SOllivier Robertntpd crashing, and several other minor bugs. Handling of
936ea906c41SOllivier Robertmulticast interfaces and logging configuration were improved.
937ea906c41SOllivier RobertThe required versions of autogen and libopts were incremented.
938ea906c41SOllivier RobertThis is a recommended upgrade for Windows and multicast users.
939ea906c41SOllivier Robert
940ea906c41SOllivier Robert---
941ea906c41SOllivier RobertNTP 4.2.4 (Harlan Stenn <stenn@ntp.org>, 2006/12/31)
942ea906c41SOllivier Robert
943ea906c41SOllivier RobertFocus: enhancements and bug fixes.
944ea906c41SOllivier Robert
945ea906c41SOllivier RobertDynamic interface rescanning was added to simplify the use of ntpd in
946ea906c41SOllivier Robertconjunction with DHCP. GNU AutoGen is used for its command-line options
947ea906c41SOllivier Robertprocessing. Separate PPS devices are supported for PARSE refclocks, MD5
948ea906c41SOllivier Robertsignatures are now provided for the release files. Drivers have been
949ea906c41SOllivier Robertadded for some new ref-clocks and have been removed for some older
950ea906c41SOllivier Robertref-clocks. This release also includes other improvements, documentation
951ea906c41SOllivier Robertand bug fixes.
952ea906c41SOllivier Robert
953ea906c41SOllivier RobertK&R C is no longer supported as of NTP-4.2.4. We are now aiming for ANSI
954ea906c41SOllivier RobertC support.
955ea906c41SOllivier Robert
956ea906c41SOllivier Robert---
957ea906c41SOllivier RobertNTP 4.2.0 (Harlan Stenn <stenn@ntp.org>, 2003/10/15)
958ea906c41SOllivier Robert
959ea906c41SOllivier RobertFocus: enhancements and bug fixes.
960