NEWS revision 1.1.1.11.2.1 1 1.1.1.11.2.1 bouyer --
2 1.1.1.11.2.1 bouyer NTP 4.2.8p10 (Harlan Stenn <stenn (a] ntp.org>, 2017/03/21)
3 1.1.1.11.2.1 bouyer
4 1.1.1.11.2.1 bouyer Focus: Security, Bug fixes, enhancements.
5 1.1.1.11.2.1 bouyer
6 1.1.1.11.2.1 bouyer Severity: MEDIUM
7 1.1.1.11.2.1 bouyer
8 1.1.1.11.2.1 bouyer This release fixes 5 medium-, 6 low-, and 4 informational-severity
9 1.1.1.11.2.1 bouyer vulnerabilities, and provides 15 other non-security fixes and improvements:
10 1.1.1.11.2.1 bouyer
11 1.1.1.11.2.1 bouyer * NTP-01-016 NTP: Denial of Service via Malformed Config (Medium)
12 1.1.1.11.2.1 bouyer Date Resolved: 21 Mar 2017
13 1.1.1.11.2.1 bouyer References: Sec 3389 / CVE-2017-6464 / VU#325339
14 1.1.1.11.2.1 bouyer Affects: All versions of NTP-4, up to but not including ntp-4.2.8p10, and
15 1.1.1.11.2.1 bouyer ntp-4.3.0 up to, but not including ntp-4.3.94.
16 1.1.1.11.2.1 bouyer CVSS2: MED 4.6 (AV:N/AC:H/Au:M/C:N/I:N/A:C)
17 1.1.1.11.2.1 bouyer CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
18 1.1.1.11.2.1 bouyer Summary:
19 1.1.1.11.2.1 bouyer A vulnerability found in the NTP server makes it possible for an
20 1.1.1.11.2.1 bouyer authenticated remote user to crash ntpd via a malformed mode
21 1.1.1.11.2.1 bouyer configuration directive.
22 1.1.1.11.2.1 bouyer Mitigation:
23 1.1.1.11.2.1 bouyer Implement BCP-38.
24 1.1.1.11.2.1 bouyer Upgrade to 4.2.8p10, or later, from the NTP Project Download Page or
25 1.1.1.11.2.1 bouyer the NTP Public Services Project Download Page
26 1.1.1.11.2.1 bouyer Properly monitor your ntpd instances, and auto-restart
27 1.1.1.11.2.1 bouyer ntpd (without -g) if it stops running.
28 1.1.1.11.2.1 bouyer Credit:
29 1.1.1.11.2.1 bouyer This weakness was discovered by Cure53.
30 1.1.1.11.2.1 bouyer
31 1.1.1.11.2.1 bouyer * NTP-01-014 NTP: Buffer Overflow in DPTS Clock (Low)
32 1.1.1.11.2.1 bouyer Date Resolved: 21 Mar 2017
33 1.1.1.11.2.1 bouyer References: Sec 3388 / CVE-2017-6462 / VU#325339
34 1.1.1.11.2.1 bouyer 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.
35 1.1.1.11.2.1 bouyer CVSS2: Low 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P)
36 1.1.1.11.2.1 bouyer CVSS3: Low 1.6 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
37 1.1.1.11.2.1 bouyer Summary:
38 1.1.1.11.2.1 bouyer There is a potential for a buffer overflow in the legacy Datum
39 1.1.1.11.2.1 bouyer Programmable Time Server refclock driver. Here the packets are
40 1.1.1.11.2.1 bouyer processed from the /dev/datum device and handled in
41 1.1.1.11.2.1 bouyer datum_pts_receive(). Since an attacker would be required to
42 1.1.1.11.2.1 bouyer somehow control a malicious /dev/datum device, this does not
43 1.1.1.11.2.1 bouyer appear to be a practical attack and renders this issue "Low" in
44 1.1.1.11.2.1 bouyer terms of severity.
45 1.1.1.11.2.1 bouyer Mitigation:
46 1.1.1.11.2.1 bouyer If you have a Datum reference clock installed and think somebody
47 1.1.1.11.2.1 bouyer may maliciously change the device, upgrade to 4.2.8p10, or
48 1.1.1.11.2.1 bouyer later, from the NTP Project Download Page or the NTP Public
49 1.1.1.11.2.1 bouyer Services Project Download Page
50 1.1.1.11.2.1 bouyer Properly monitor your ntpd instances, and auto-restart
51 1.1.1.11.2.1 bouyer ntpd (without -g) if it stops running.
52 1.1.1.11.2.1 bouyer Credit:
53 1.1.1.11.2.1 bouyer This weakness was discovered by Cure53.
54 1.1.1.11.2.1 bouyer
55 1.1.1.11.2.1 bouyer * NTP-01-012 NTP: Authenticated DoS via Malicious Config Option (Medium)
56 1.1.1.11.2.1 bouyer Date Resolved: 21 Mar 2017
57 1.1.1.11.2.1 bouyer References: Sec 3387 / CVE-2017-6463 / VU#325339
58 1.1.1.11.2.1 bouyer Affects: All versions of ntp, up to but not including ntp-4.2.8p10, and
59 1.1.1.11.2.1 bouyer ntp-4.3.0 up to, but not including ntp-4.3.94.
60 1.1.1.11.2.1 bouyer CVSS2: MED 4.6 (AV:N/AC:H/Au:M/C:N/I:N/A:C)
61 1.1.1.11.2.1 bouyer CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
62 1.1.1.11.2.1 bouyer Summary:
63 1.1.1.11.2.1 bouyer A vulnerability found in the NTP server allows an authenticated
64 1.1.1.11.2.1 bouyer remote attacker to crash the daemon by sending an invalid setting
65 1.1.1.11.2.1 bouyer via the :config directive. The unpeer option expects a number or
66 1.1.1.11.2.1 bouyer an address as an argument. In case the value is "0", a
67 1.1.1.11.2.1 bouyer segmentation fault occurs.
68 1.1.1.11.2.1 bouyer Mitigation:
69 1.1.1.11.2.1 bouyer Implement BCP-38.
70 1.1.1.11.2.1 bouyer Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
71 1.1.1.11.2.1 bouyer or the NTP Public Services Project Download Page
72 1.1.1.11.2.1 bouyer Properly monitor your ntpd instances, and auto-restart
73 1.1.1.11.2.1 bouyer ntpd (without -g) if it stops running.
74 1.1.1.11.2.1 bouyer Credit:
75 1.1.1.11.2.1 bouyer This weakness was discovered by Cure53.
76 1.1.1.11.2.1 bouyer
77 1.1.1.11.2.1 bouyer * NTP-01-011 NTP: ntpq_stripquotes() returns incorrect value (Informational)
78 1.1.1.11.2.1 bouyer Date Resolved: 21 Mar 2017
79 1.1.1.11.2.1 bouyer References: Sec 3386
80 1.1.1.11.2.1 bouyer Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
81 1.1.1.11.2.1 bouyer ntp-4.3.0 up to, but not including ntp-4.3.94.
82 1.1.1.11.2.1 bouyer CVSS2: None 0.0 (AV:N/AC:H/Au:N/C:N/I:N/A:N)
83 1.1.1.11.2.1 bouyer CVSS3: None 0.0 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:N
84 1.1.1.11.2.1 bouyer Summary:
85 1.1.1.11.2.1 bouyer The NTP Mode 6 monitoring and control client, ntpq, uses the
86 1.1.1.11.2.1 bouyer function ntpq_stripquotes() to remove quotes and escape characters
87 1.1.1.11.2.1 bouyer from a given string. According to the documentation, the function
88 1.1.1.11.2.1 bouyer is supposed to return the number of copied bytes but due to
89 1.1.1.11.2.1 bouyer incorrect pointer usage this value is always zero. Although the
90 1.1.1.11.2.1 bouyer return value of this function is never used in the code, this
91 1.1.1.11.2.1 bouyer flaw could lead to a vulnerability in the future. Since relying
92 1.1.1.11.2.1 bouyer on wrong return values when performing memory operations is a
93 1.1.1.11.2.1 bouyer dangerous practice, it is recommended to return the correct value
94 1.1.1.11.2.1 bouyer in accordance with the documentation pertinent to the code.
95 1.1.1.11.2.1 bouyer Mitigation:
96 1.1.1.11.2.1 bouyer Implement BCP-38.
97 1.1.1.11.2.1 bouyer Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
98 1.1.1.11.2.1 bouyer or the NTP Public Services Project Download Page
99 1.1.1.11.2.1 bouyer Properly monitor your ntpd instances, and auto-restart
100 1.1.1.11.2.1 bouyer ntpd (without -g) if it stops running.
101 1.1.1.11.2.1 bouyer Credit:
102 1.1.1.11.2.1 bouyer This weakness was discovered by Cure53.
103 1.1.1.11.2.1 bouyer
104 1.1.1.11.2.1 bouyer * NTP-01-010 NTP: ereallocarray()/eallocarray() underused (Info)
105 1.1.1.11.2.1 bouyer Date Resolved: 21 Mar 2017
106 1.1.1.11.2.1 bouyer References: Sec 3385
107 1.1.1.11.2.1 bouyer Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
108 1.1.1.11.2.1 bouyer ntp-4.3.0 up to, but not including ntp-4.3.94.
109 1.1.1.11.2.1 bouyer Summary:
110 1.1.1.11.2.1 bouyer NTP makes use of several wrappers around the standard heap memory
111 1.1.1.11.2.1 bouyer allocation functions that are provided by libc. This is mainly
112 1.1.1.11.2.1 bouyer done to introduce additional safety checks concentrated on
113 1.1.1.11.2.1 bouyer several goals. First, they seek to ensure that memory is not
114 1.1.1.11.2.1 bouyer accidentally freed, secondly they verify that a correct amount
115 1.1.1.11.2.1 bouyer is always allocated and, thirdly, that allocation failures are
116 1.1.1.11.2.1 bouyer correctly handled. There is an additional implementation for
117 1.1.1.11.2.1 bouyer scenarios where memory for a specific amount of items of the
118 1.1.1.11.2.1 bouyer same size needs to be allocated. The handling can be found in
119 1.1.1.11.2.1 bouyer the oreallocarray() function for which a further number-of-elements
120 1.1.1.11.2.1 bouyer parameter needs to be provided. Although no considerable threat
121 1.1.1.11.2.1 bouyer was identified as tied to a lack of use of this function, it is
122 1.1.1.11.2.1 bouyer recommended to correctly apply oreallocarray() as a preferred
123 1.1.1.11.2.1 bouyer option across all of the locations where it is possible.
124 1.1.1.11.2.1 bouyer Mitigation:
125 1.1.1.11.2.1 bouyer Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
126 1.1.1.11.2.1 bouyer or the NTP Public Services Project Download Page
127 1.1.1.11.2.1 bouyer Credit:
128 1.1.1.11.2.1 bouyer This weakness was discovered by Cure53.
129 1.1.1.11.2.1 bouyer
130 1.1.1.11.2.1 bouyer * NTP-01-009 NTP: Privileged execution of User Library code (WINDOWS
131 1.1.1.11.2.1 bouyer PPSAPI ONLY) (Low)
132 1.1.1.11.2.1 bouyer Date Resolved: 21 Mar 2017
133 1.1.1.11.2.1 bouyer References: Sec 3384 / CVE-2017-6455 / VU#325339
134 1.1.1.11.2.1 bouyer Affects: All Windows versions of ntp-4 that use the PPSAPI, up to but
135 1.1.1.11.2.1 bouyer not including ntp-4.2.8p10, and ntp-4.3.0 up to, but not
136 1.1.1.11.2.1 bouyer including ntp-4.3.94.
137 1.1.1.11.2.1 bouyer CVSS2: MED 3.8 (AV:L/AC:H/Au:S/C:N/I:N/A:C)
138 1.1.1.11.2.1 bouyer CVSS3: MED 4.0 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
139 1.1.1.11.2.1 bouyer Summary:
140 1.1.1.11.2.1 bouyer The Windows NT port has the added capability to preload DLLs
141 1.1.1.11.2.1 bouyer defined in the inherited global local environment variable
142 1.1.1.11.2.1 bouyer PPSAPI_DLLS. The code contained within those libraries is then
143 1.1.1.11.2.1 bouyer called from the NTPD service, usually running with elevated
144 1.1.1.11.2.1 bouyer privileges. Depending on how securely the machine is setup and
145 1.1.1.11.2.1 bouyer configured, if ntpd is configured to use the PPSAPI under Windows
146 1.1.1.11.2.1 bouyer this can easily lead to a code injection.
147 1.1.1.11.2.1 bouyer Mitigation:
148 1.1.1.11.2.1 bouyer Implement BCP-38.
149 1.1.1.11.2.1 bouyer Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
150 1.1.1.11.2.1 bouyer or the NTP Public Services Project Download Page
151 1.1.1.11.2.1 bouyer Credit:
152 1.1.1.11.2.1 bouyer This weakness was discovered by Cure53.
153 1.1.1.11.2.1 bouyer
154 1.1.1.11.2.1 bouyer * NTP-01-008 NTP: Stack Buffer Overflow from Command Line (WINDOWS
155 1.1.1.11.2.1 bouyer installer ONLY) (Low)
156 1.1.1.11.2.1 bouyer Date Resolved: 21 Mar 2017
157 1.1.1.11.2.1 bouyer References: Sec 3383 / CVE-2017-6452 / VU#325339
158 1.1.1.11.2.1 bouyer Affects: WINDOWS installer ONLY: All versions of the ntp-4 Windows
159 1.1.1.11.2.1 bouyer installer, up to but not including ntp-4.2.8p10, and ntp-4.3.0 up
160 1.1.1.11.2.1 bouyer to, but not including ntp-4.3.94.
161 1.1.1.11.2.1 bouyer CVSS2: Low 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P)
162 1.1.1.11.2.1 bouyer CVSS3: Low 1.8 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
163 1.1.1.11.2.1 bouyer Summary:
164 1.1.1.11.2.1 bouyer The Windows installer for NTP calls strcat(), blindly appending
165 1.1.1.11.2.1 bouyer the string passed to the stack buffer in the addSourceToRegistry()
166 1.1.1.11.2.1 bouyer function. The stack buffer is 70 bytes smaller than the buffer
167 1.1.1.11.2.1 bouyer in the calling main() function. Together with the initially
168 1.1.1.11.2.1 bouyer copied Registry path, the combination causes a stack buffer
169 1.1.1.11.2.1 bouyer overflow and effectively overwrites the stack frame. The
170 1.1.1.11.2.1 bouyer passed application path is actually limited to 256 bytes by the
171 1.1.1.11.2.1 bouyer operating system, but this is not sufficient to assure that the
172 1.1.1.11.2.1 bouyer affected stack buffer is consistently protected against
173 1.1.1.11.2.1 bouyer overflowing at all times.
174 1.1.1.11.2.1 bouyer Mitigation:
175 1.1.1.11.2.1 bouyer Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
176 1.1.1.11.2.1 bouyer or the NTP Public Services Project Download Page
177 1.1.1.11.2.1 bouyer Credit:
178 1.1.1.11.2.1 bouyer This weakness was discovered by Cure53.
179 1.1.1.11.2.1 bouyer
180 1.1.1.11.2.1 bouyer * NTP-01-007 NTP: Data Structure terminated insufficiently (WINDOWS
181 1.1.1.11.2.1 bouyer installer ONLY) (Low)
182 1.1.1.11.2.1 bouyer Date Resolved: 21 Mar 2017
183 1.1.1.11.2.1 bouyer References: Sec 3382 / CVE-2017-6459 / VU#325339
184 1.1.1.11.2.1 bouyer Affects: WINDOWS installer ONLY: All ntp-4 versions of the Windows
185 1.1.1.11.2.1 bouyer installer, up to but not including ntp-4.2.8p10, and ntp-4.3.0
186 1.1.1.11.2.1 bouyer up to, but not including ntp-4.3.94.
187 1.1.1.11.2.1 bouyer CVSS2: Low 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P)
188 1.1.1.11.2.1 bouyer CVSS3: Low 1.8 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
189 1.1.1.11.2.1 bouyer Summary:
190 1.1.1.11.2.1 bouyer The Windows installer for NTP calls strcpy() with an argument
191 1.1.1.11.2.1 bouyer that specifically contains multiple null bytes. strcpy() only
192 1.1.1.11.2.1 bouyer copies a single terminating null character into the target
193 1.1.1.11.2.1 bouyer buffer instead of copying the required double null bytes in the
194 1.1.1.11.2.1 bouyer addKeysToRegistry() function. As a consequence, a garbage
195 1.1.1.11.2.1 bouyer registry entry can be created. The additional arsize parameter
196 1.1.1.11.2.1 bouyer is erroneously set to contain two null bytes and the following
197 1.1.1.11.2.1 bouyer call to RegSetValueEx() claims to be passing in a multi-string
198 1.1.1.11.2.1 bouyer value, though this may not be true.
199 1.1.1.11.2.1 bouyer Mitigation:
200 1.1.1.11.2.1 bouyer Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
201 1.1.1.11.2.1 bouyer or the NTP Public Services Project Download Page
202 1.1.1.11.2.1 bouyer Credit:
203 1.1.1.11.2.1 bouyer This weakness was discovered by Cure53.
204 1.1.1.11.2.1 bouyer
205 1.1.1.11.2.1 bouyer * NTP-01-006 NTP: Copious amounts of Unused Code (Informational)
206 1.1.1.11.2.1 bouyer References: Sec 3381
207 1.1.1.11.2.1 bouyer Summary:
208 1.1.1.11.2.1 bouyer The report says: Statically included external projects
209 1.1.1.11.2.1 bouyer potentially introduce several problems and the issue of having
210 1.1.1.11.2.1 bouyer extensive amounts of code that is "dead" in the resulting binary
211 1.1.1.11.2.1 bouyer must clearly be pointed out. The unnecessary unused code may or
212 1.1.1.11.2.1 bouyer may not contain bugs and, quite possibly, might be leveraged for
213 1.1.1.11.2.1 bouyer code-gadget-based branch-flow redirection exploits. Analogically,
214 1.1.1.11.2.1 bouyer having source trees statically included as well means a failure
215 1.1.1.11.2.1 bouyer in taking advantage of the free feature for periodical updates.
216 1.1.1.11.2.1 bouyer This solution is offered by the system's Package Manager. The
217 1.1.1.11.2.1 bouyer three libraries identified are libisc, libevent, and libopts.
218 1.1.1.11.2.1 bouyer Resolution:
219 1.1.1.11.2.1 bouyer For libisc, we already only use a portion of the original library.
220 1.1.1.11.2.1 bouyer We've found and fixed bugs in the original implementation (and
221 1.1.1.11.2.1 bouyer offered the patches to ISC), and plan to see what has changed
222 1.1.1.11.2.1 bouyer since we last upgraded the code. libisc is generally not
223 1.1.1.11.2.1 bouyer installed, and when it it we usually only see the static libisc.a
224 1.1.1.11.2.1 bouyer file installed. Until we know for sure that the bugs we've found
225 1.1.1.11.2.1 bouyer and fixed are fixed upstream, we're better off with the copy we
226 1.1.1.11.2.1 bouyer are using.
227 1.1.1.11.2.1 bouyer
228 1.1.1.11.2.1 bouyer Version 1 of libevent was the only production version available
229 1.1.1.11.2.1 bouyer until recently, and we've been requiring version 2 for a long time.
230 1.1.1.11.2.1 bouyer But if the build system has at least version 2 of libevent
231 1.1.1.11.2.1 bouyer installed, we'll use the version that is installed on the system.
232 1.1.1.11.2.1 bouyer Otherwise, we provide a copy of libevent that we know works.
233 1.1.1.11.2.1 bouyer
234 1.1.1.11.2.1 bouyer libopts is provided by GNU AutoGen, and that library and package
235 1.1.1.11.2.1 bouyer undergoes frequent API version updates. The version of autogen
236 1.1.1.11.2.1 bouyer used to generate the tables for the code must match the API
237 1.1.1.11.2.1 bouyer version in libopts. AutoGen can be ... difficult to build and
238 1.1.1.11.2.1 bouyer install, and very few developers really need it. So we have it
239 1.1.1.11.2.1 bouyer on our build and development machines, and we provide the
240 1.1.1.11.2.1 bouyer specific version of the libopts code in the distribution to make
241 1.1.1.11.2.1 bouyer sure that the proper API version of libopts is available.
242 1.1.1.11.2.1 bouyer
243 1.1.1.11.2.1 bouyer As for the point about there being code in these libraries that
244 1.1.1.11.2.1 bouyer NTP doesn't use, OK. But other packages used these libraries as
245 1.1.1.11.2.1 bouyer well, and it is reasonable to assume that other people are paying
246 1.1.1.11.2.1 bouyer attention to security and code quality issues for the overall
247 1.1.1.11.2.1 bouyer libraries. It takes significant resources to analyze and
248 1.1.1.11.2.1 bouyer customize these libraries to only include what we need, and to
249 1.1.1.11.2.1 bouyer date we believe the cost of this effort does not justify the benefit.
250 1.1.1.11.2.1 bouyer Credit:
251 1.1.1.11.2.1 bouyer This issue was discovered by Cure53.
252 1.1.1.11.2.1 bouyer
253 1.1.1.11.2.1 bouyer * NTP-01-005 NTP: Off-by-one in Oncore GPS Receiver (Low)
254 1.1.1.11.2.1 bouyer Date Resolved: 21 Mar 2017
255 1.1.1.11.2.1 bouyer References: Sec 3380
256 1.1.1.11.2.1 bouyer Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
257 1.1.1.11.2.1 bouyer ntp-4.3.0 up to, but not including ntp-4.3.94.
258 1.1.1.11.2.1 bouyer CVSS2: None 0.0 (AV:L/AC:H/Au:N/C:N/I:N/A:N)
259 1.1.1.11.2.1 bouyer CVSS3: None 0.0 CVSS:3.0/AV:L/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:N
260 1.1.1.11.2.1 bouyer Summary:
261 1.1.1.11.2.1 bouyer There is a fencepost error in a "recovery branch" of the code for
262 1.1.1.11.2.1 bouyer the Oncore GPS receiver if the communication link to the ONCORE
263 1.1.1.11.2.1 bouyer is weak / distorted and the decoding doesn't work.
264 1.1.1.11.2.1 bouyer Mitigation:
265 1.1.1.11.2.1 bouyer Upgrade to 4.2.8p10, or later, from the NTP Project Download Page or
266 1.1.1.11.2.1 bouyer the NTP Public Services Project Download Page
267 1.1.1.11.2.1 bouyer Properly monitor your ntpd instances, and auto-restart
268 1.1.1.11.2.1 bouyer ntpd (without -g) if it stops running.
269 1.1.1.11.2.1 bouyer Credit:
270 1.1.1.11.2.1 bouyer This weakness was discovered by Cure53.
271 1.1.1.11.2.1 bouyer
272 1.1.1.11.2.1 bouyer * NTP-01-004 NTP: Potential Overflows in ctl_put() functions (Medium)
273 1.1.1.11.2.1 bouyer Date Resolved: 21 Mar 2017
274 1.1.1.11.2.1 bouyer References: Sec 3379 / CVE-2017-6458 / VU#325339
275 1.1.1.11.2.1 bouyer Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
276 1.1.1.11.2.1 bouyer ntp-4.3.0 up to, but not including ntp-4.3.94.
277 1.1.1.11.2.1 bouyer CVSS2: MED 4.6 (AV:N/AC:H/Au:M/C:N/I:N/A:C)
278 1.1.1.11.2.1 bouyer CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
279 1.1.1.11.2.1 bouyer Summary:
280 1.1.1.11.2.1 bouyer ntpd makes use of different wrappers around ctl_putdata() to
281 1.1.1.11.2.1 bouyer create name/value ntpq (mode 6) response strings. For example,
282 1.1.1.11.2.1 bouyer ctl_putstr() is usually used to send string data (variable names
283 1.1.1.11.2.1 bouyer or string data). The formatting code was missing a length check
284 1.1.1.11.2.1 bouyer for variable names. If somebody explicitly created any unusually
285 1.1.1.11.2.1 bouyer long variable names in ntpd (longer than 200-512 bytes, depending
286 1.1.1.11.2.1 bouyer on the type of variable), then if any of these variables are
287 1.1.1.11.2.1 bouyer added to the response list it would overflow a buffer.
288 1.1.1.11.2.1 bouyer Mitigation:
289 1.1.1.11.2.1 bouyer Implement BCP-38.
290 1.1.1.11.2.1 bouyer Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
291 1.1.1.11.2.1 bouyer or the NTP Public Services Project Download Page
292 1.1.1.11.2.1 bouyer If you don't want to upgrade, then don't setvar variable names
293 1.1.1.11.2.1 bouyer longer than 200-512 bytes in your ntp.conf file.
294 1.1.1.11.2.1 bouyer Properly monitor your ntpd instances, and auto-restart
295 1.1.1.11.2.1 bouyer ntpd (without -g) if it stops running.
296 1.1.1.11.2.1 bouyer Credit:
297 1.1.1.11.2.1 bouyer This weakness was discovered by Cure53.
298 1.1.1.11.2.1 bouyer
299 1.1.1.11.2.1 bouyer * NTP-01-003 NTP: Improper use of snprintf() in mx4200_send() (Low)
300 1.1.1.11.2.1 bouyer Date Resolved: 21 Mar 2017
301 1.1.1.11.2.1 bouyer References: Sec 3378 / CVE-2017-6451 / VU#325339
302 1.1.1.11.2.1 bouyer Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
303 1.1.1.11.2.1 bouyer ntp-4.3.0 up to, but not including ntp-4.3.94.
304 1.1.1.11.2.1 bouyer CVSS2: LOW 0.8 (AV:L/AC:H/Au:M/C:N/I:N/A:P)
305 1.1.1.11.2.1 bouyer CVSS3: LOW 1.8 CVSS:3.0/AV:L/AC:H/PR:H/UI:R/S:U/C:N/I:L/A:N
306 1.1.1.11.2.1 bouyer Summary:
307 1.1.1.11.2.1 bouyer The legacy MX4200 refclock is only built if is specifically
308 1.1.1.11.2.1 bouyer enabled, and furthermore additional code changes are required to
309 1.1.1.11.2.1 bouyer compile and use it. But it uses the libc functions snprintf()
310 1.1.1.11.2.1 bouyer and vsnprintf() incorrectly, which can lead to an out-of-bounds
311 1.1.1.11.2.1 bouyer memory write due to an improper handling of the return value of
312 1.1.1.11.2.1 bouyer snprintf()/vsnprintf(). Since the return value is used as an
313 1.1.1.11.2.1 bouyer iterator and it can be larger than the buffer's size, it is
314 1.1.1.11.2.1 bouyer possible for the iterator to point somewhere outside of the
315 1.1.1.11.2.1 bouyer allocated buffer space. This results in an out-of-bound memory
316 1.1.1.11.2.1 bouyer write. This behavior can be leveraged to overwrite a saved
317 1.1.1.11.2.1 bouyer instruction pointer on the stack and gain control over the
318 1.1.1.11.2.1 bouyer execution flow. During testing it was not possible to identify
319 1.1.1.11.2.1 bouyer any malicious usage for this vulnerability. Specifically, no
320 1.1.1.11.2.1 bouyer way for an attacker to exploit this vulnerability was ultimately
321 1.1.1.11.2.1 bouyer unveiled. However, it has the potential to be exploited, so the
322 1.1.1.11.2.1 bouyer code should be fixed.
323 1.1.1.11.2.1 bouyer Mitigation, if you have a Magnavox MX4200 refclock:
324 1.1.1.11.2.1 bouyer Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
325 1.1.1.11.2.1 bouyer or the NTP Public Services Project Download Page.
326 1.1.1.11.2.1 bouyer Properly monitor your ntpd instances, and auto-restart
327 1.1.1.11.2.1 bouyer ntpd (without -g) if it stops running.
328 1.1.1.11.2.1 bouyer Credit:
329 1.1.1.11.2.1 bouyer This weakness was discovered by Cure53.
330 1.1.1.11.2.1 bouyer
331 1.1.1.11.2.1 bouyer * NTP-01-002 NTP: Buffer Overflow in ntpq when fetching reslist from a
332 1.1.1.11.2.1 bouyer malicious ntpd (Medium)
333 1.1.1.11.2.1 bouyer Date Resolved: 21 Mar 2017
334 1.1.1.11.2.1 bouyer References: Sec 3377 / CVE-2017-6460 / VU#325339
335 1.1.1.11.2.1 bouyer Affects: All versions of ntpq, up to but not including ntp-4.2.8p10, and
336 1.1.1.11.2.1 bouyer ntp-4.3.0 up to, but not including ntp-4.3.94.
337 1.1.1.11.2.1 bouyer CVSS2: MED 4.9 (AV:N/AC:H/Au:S/C:N/I:N/A:C)
338 1.1.1.11.2.1 bouyer CVSS3: MED 4.2 CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
339 1.1.1.11.2.1 bouyer Summary:
340 1.1.1.11.2.1 bouyer A stack buffer overflow in ntpq can be triggered by a malicious
341 1.1.1.11.2.1 bouyer ntpd server when ntpq requests the restriction list from the server.
342 1.1.1.11.2.1 bouyer This is due to a missing length check in the reslist() function.
343 1.1.1.11.2.1 bouyer It occurs whenever the function parses the server's response and
344 1.1.1.11.2.1 bouyer encounters a flagstr variable of an excessive length. The string
345 1.1.1.11.2.1 bouyer will be copied into a fixed-size buffer, leading to an overflow on
346 1.1.1.11.2.1 bouyer the function's stack-frame. Note well that this problem requires
347 1.1.1.11.2.1 bouyer a malicious server, and affects ntpq, not ntpd.
348 1.1.1.11.2.1 bouyer Mitigation:
349 1.1.1.11.2.1 bouyer Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
350 1.1.1.11.2.1 bouyer or the NTP Public Services Project Download Page
351 1.1.1.11.2.1 bouyer If you can't upgrade your version of ntpq then if you want to know
352 1.1.1.11.2.1 bouyer the reslist of an instance of ntpd that you do not control,
353 1.1.1.11.2.1 bouyer know that if the target ntpd is malicious that it can send back
354 1.1.1.11.2.1 bouyer a response that intends to crash your ntpq process.
355 1.1.1.11.2.1 bouyer Credit:
356 1.1.1.11.2.1 bouyer This weakness was discovered by Cure53.
357 1.1.1.11.2.1 bouyer
358 1.1.1.11.2.1 bouyer * NTP-01-001 NTP: Makefile does not enforce Security Flags (Informational)
359 1.1.1.11.2.1 bouyer Date Resolved: 21 Mar 2017
360 1.1.1.11.2.1 bouyer References: Sec 3376
361 1.1.1.11.2.1 bouyer Affects: All versions of NTP, up to but not including ntp-4.2.8p10, and
362 1.1.1.11.2.1 bouyer ntp-4.3.0 up to, but not including ntp-4.3.94.
363 1.1.1.11.2.1 bouyer CVSS2: N/A
364 1.1.1.11.2.1 bouyer CVSS3: N/A
365 1.1.1.11.2.1 bouyer Summary:
366 1.1.1.11.2.1 bouyer The build process for NTP has not, by default, provided compile
367 1.1.1.11.2.1 bouyer or link flags to offer "hardened" security options. Package
368 1.1.1.11.2.1 bouyer maintainers have always been able to provide hardening security
369 1.1.1.11.2.1 bouyer flags for their builds. As of ntp-4.2.8p10, the NTP build
370 1.1.1.11.2.1 bouyer system has a way to provide OS-specific hardening flags. Please
371 1.1.1.11.2.1 bouyer note that this is still not a really great solution because it
372 1.1.1.11.2.1 bouyer is specific to NTP builds. It's inefficient to have every
373 1.1.1.11.2.1 bouyer package supply, track and maintain this information for every
374 1.1.1.11.2.1 bouyer target build. It would be much better if there was a common way
375 1.1.1.11.2.1 bouyer for OSes to provide this information in a way that arbitrary
376 1.1.1.11.2.1 bouyer packages could benefit from it.
377 1.1.1.11.2.1 bouyer Mitigation:
378 1.1.1.11.2.1 bouyer Implement BCP-38.
379 1.1.1.11.2.1 bouyer Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
380 1.1.1.11.2.1 bouyer or the NTP Public Services Project Download Page
381 1.1.1.11.2.1 bouyer Properly monitor your ntpd instances, and auto-restart
382 1.1.1.11.2.1 bouyer ntpd (without -g) if it stops running.
383 1.1.1.11.2.1 bouyer Credit:
384 1.1.1.11.2.1 bouyer This weakness was reported by Cure53.
385 1.1.1.11.2.1 bouyer
386 1.1.1.11.2.1 bouyer * 0rigin DoS (Medium)
387 1.1.1.11.2.1 bouyer Date Resolved: 21 Mar 2017
388 1.1.1.11.2.1 bouyer References: Sec 3361 / CVE-2016-9042 / VU#325339
389 1.1.1.11.2.1 bouyer Affects: ntp-4.2.8p9 (21 Nov 2016), up to but not including ntp-4.2.8p10
390 1.1.1.11.2.1 bouyer CVSS2: MED 4.9 (AV:N/AC:H/Au:N/C:N/I:N/A:C) (worst case)
391 1.1.1.11.2.1 bouyer 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)
392 1.1.1.11.2.1 bouyer Summary:
393 1.1.1.11.2.1 bouyer An exploitable denial of service vulnerability exists in the
394 1.1.1.11.2.1 bouyer origin timestamp check functionality of ntpd 4.2.8p9. A specially
395 1.1.1.11.2.1 bouyer crafted unauthenticated network packet can be used to reset the
396 1.1.1.11.2.1 bouyer expected origin timestamp for target peers. Legitimate replies
397 1.1.1.11.2.1 bouyer from targeted peers will fail the origin timestamp check (TEST2)
398 1.1.1.11.2.1 bouyer causing the reply to be dropped and creating a denial of service
399 1.1.1.11.2.1 bouyer condition. This vulnerability can only be exploited if the
400 1.1.1.11.2.1 bouyer attacker can spoof all of the servers.
401 1.1.1.11.2.1 bouyer Mitigation:
402 1.1.1.11.2.1 bouyer Implement BCP-38.
403 1.1.1.11.2.1 bouyer Configure enough servers/peers that an attacker cannot target
404 1.1.1.11.2.1 bouyer all of your time sources.
405 1.1.1.11.2.1 bouyer Upgrade to 4.2.8p10, or later, from the NTP Project Download Page
406 1.1.1.11.2.1 bouyer or the NTP Public Services Project Download Page
407 1.1.1.11.2.1 bouyer Properly monitor your ntpd instances, and auto-restart
408 1.1.1.11.2.1 bouyer ntpd (without -g) if it stops running.
409 1.1.1.11.2.1 bouyer Credit:
410 1.1.1.11.2.1 bouyer This weakness was discovered by Matthew Van Gundy of Cisco.
411 1.1.1.11.2.1 bouyer
412 1.1.1.11.2.1 bouyer Other fixes:
413 1.1.1.11.2.1 bouyer
414 1.1.1.11.2.1 bouyer * [Bug 3393] clang scan-build findings <perlinger (a] ntp.org>
415 1.1.1.11.2.1 bouyer * [Bug 3363] Support for openssl-1.1.0 without compatibility modes
416 1.1.1.11.2.1 bouyer - rework of patch set from <ntp.org (a] eroen.eu>. <perlinger (a] ntp.org>
417 1.1.1.11.2.1 bouyer * [Bug 3356] Bugfix 3072 breaks multicastclient <perlinger (a] ntp.org>
418 1.1.1.11.2.1 bouyer * [Bug 3216] libntp audio ioctl() args incorrectly cast to int
419 1.1.1.11.2.1 bouyer on 4.4BSD-Lite derived platforms <perlinger (a] ntp.org>
420 1.1.1.11.2.1 bouyer - original patch by Majdi S. Abbas
421 1.1.1.11.2.1 bouyer * [Bug 3215] 'make distcheck' fails with new BK repo format <perlinger (a] ntp.org>
422 1.1.1.11.2.1 bouyer * [Bug 3173] forking async worker: interrupted pipe I/O <perlinger (a] ntp.org>
423 1.1.1.11.2.1 bouyer - initial patch by Christos Zoulas
424 1.1.1.11.2.1 bouyer * [Bug 3139] (...) time_pps_create: Exec format error <perlinger (a] ntp.org>
425 1.1.1.11.2.1 bouyer - move loader API from 'inline' to proper source
426 1.1.1.11.2.1 bouyer - augment pathless dlls with absolute path to NTPD
427 1.1.1.11.2.1 bouyer - use 'msyslog()' instead of 'printf() 'for reporting trouble
428 1.1.1.11.2.1 bouyer * [Bug 3107] Incorrect Logic for Peer Event Limiting <perlinger (a] ntp.org>
429 1.1.1.11.2.1 bouyer - applied patch by Matthew Van Gundy
430 1.1.1.11.2.1 bouyer * [Bug 3065] Quiet warnings on NetBSD <perlinger (a] ntp.org>
431 1.1.1.11.2.1 bouyer - applied some of the patches provided by Havard. Not all of them
432 1.1.1.11.2.1 bouyer still match the current code base, and I did not touch libopt.
433 1.1.1.11.2.1 bouyer * [Bug 3062] Change the process name of forked DNS worker <perlinger (a] ntp.org>
434 1.1.1.11.2.1 bouyer - applied patch by Reinhard Max. See bugzilla for limitations.
435 1.1.1.11.2.1 bouyer * [Bug 2923] Trap Configuration Fail <perlinger (a] ntp.org>
436 1.1.1.11.2.1 bouyer - fixed dependency inversion from [Bug 2837]
437 1.1.1.11.2.1 bouyer * [Bug 2896] Nothing happens if minsane < maxclock < minclock
438 1.1.1.11.2.1 bouyer - produce ERROR log message about dysfunctional daemon. <perlinger (a] ntp.org>
439 1.1.1.11.2.1 bouyer * [Bug 2851] allow -4/-6 on restrict line with mask <perlinger (a] ntp.org>
440 1.1.1.11.2.1 bouyer - applied patch by Miroslav Lichvar for ntp4.2.6 compat
441 1.1.1.11.2.1 bouyer * [Bug 2645] out-of-bound pointers in ctl_putsys and decode_bitflags
442 1.1.1.11.2.1 bouyer - Fixed these and some more locations of this pattern.
443 1.1.1.11.2.1 bouyer Probably din't get them all, though. <perlinger (a] ntp.org>
444 1.1.1.11.2.1 bouyer * Update copyright year.
445 1.1.1.11.2.1 bouyer
446 1.1.1.11.2.1 bouyer --
447 1.1.1.11.2.1 bouyer (4.2.8p9-win) 2017/02/01 Released by Harlan Stenn <stenn (a] ntp.org>
448 1.1.1.11.2.1 bouyer
449 1.1.1.11.2.1 bouyer * [Bug 3144] NTP does not build without openSSL. <perlinger (a] ntp.org>
450 1.1.1.11.2.1 bouyer - added missed changeset for automatic openssl lib detection
451 1.1.1.11.2.1 bouyer - fixed some minor warning issues
452 1.1.1.11.2.1 bouyer * [Bug 3095] More compatibility with openssl 1.1. <perlinger (a] ntp.org>
453 1.1.1.11.2.1 bouyer * configure.ac cleanup. stenn (a] ntp.org
454 1.1.1.11.2.1 bouyer * openssl configure cleanup. stenn (a] ntp.org
455 1.1.1.11.2.1 bouyer
456 1.1.1.11.2.1 bouyer --
457 1.1.1.11 christos NTP 4.2.8p9 (Harlan Stenn <stenn (a] ntp.org>, 2016/11/21)
458 1.1.1.11 christos
459 1.1.1.11 christos Focus: Security, Bug fixes, enhancements.
460 1.1.1.11 christos
461 1.1.1.11 christos Severity: HIGH
462 1.1.1.11 christos
463 1.1.1.11 christos In addition to bug fixes and enhancements, this release fixes the
464 1.1.1.11 christos following 1 high- (Windows only), 2 medium-, 2 medium-/low, and
465 1.1.1.11 christos 5 low-severity vulnerabilities, and provides 28 other non-security
466 1.1.1.11 christos fixes and improvements:
467 1.1.1.11 christos
468 1.1.1.11 christos * Trap crash
469 1.1.1.11 christos Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
470 1.1.1.11 christos References: Sec 3119 / CVE-2016-9311 / VU#633847
471 1.1.1.11 christos Affects: ntp-4.0.90 (21 July 1999), possibly earlier, up to but not
472 1.1.1.11 christos including 4.2.8p9, and ntp-4.3.0 up to but not including ntp-4.3.94.
473 1.1.1.11 christos CVSS2: MED 4.9 (AV:N/AC:H/Au:N/C:N/I:N/A:C)
474 1.1.1.11 christos CVSS3: MED 4.4 CVSS:3.0/AV:N/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:H
475 1.1.1.11 christos Summary:
476 1.1.1.11 christos ntpd does not enable trap service by default. If trap service
477 1.1.1.11 christos has been explicitly enabled, an attacker can send a specially
478 1.1.1.11 christos crafted packet to cause a null pointer dereference that will
479 1.1.1.11 christos crash ntpd, resulting in a denial of service.
480 1.1.1.11 christos Mitigation:
481 1.1.1.11 christos Implement BCP-38.
482 1.1.1.11 christos Use "restrict default noquery ..." in your ntp.conf file. Only
483 1.1.1.11 christos allow mode 6 queries from trusted networks and hosts.
484 1.1.1.11 christos Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
485 1.1.1.11 christos or the NTP Public Services Project Download Page
486 1.1.1.11 christos Properly monitor your ntpd instances, and auto-restart ntpd
487 1.1.1.11 christos (without -g) if it stops running.
488 1.1.1.11 christos Credit: This weakness was discovered by Matthew Van Gundy of Cisco.
489 1.1.1.11 christos
490 1.1.1.11 christos * Mode 6 information disclosure and DDoS vector
491 1.1.1.11 christos Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
492 1.1.1.11 christos References: Sec 3118 / CVE-2016-9310 / VU#633847
493 1.1.1.11 christos Affects: ntp-4.0.90 (21 July 1999), possibly earlier, up to but not
494 1.1.1.11 christos including 4.2.8p9, and ntp-4.3.0 up to but not including ntp-4.3.94.
495 1.1.1.11 christos CVSS2: MED 6.4 (AV:A/AC:L/Au:N/C:N/I:N/A:P)
496 1.1.1.11 christos CVSS3: MED 6.5 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
497 1.1.1.11 christos Summary:
498 1.1.1.11 christos An exploitable configuration modification vulnerability exists
499 1.1.1.11 christos in the control mode (mode 6) functionality of ntpd. If, against
500 1.1.1.11 christos long-standing BCP recommendations, "restrict default noquery ..."
501 1.1.1.11 christos is not specified, a specially crafted control mode packet can set
502 1.1.1.11 christos ntpd traps, providing information disclosure and DDoS
503 1.1.1.11 christos amplification, and unset ntpd traps, disabling legitimate
504 1.1.1.11 christos monitoring. A remote, unauthenticated, network attacker can
505 1.1.1.11 christos trigger this vulnerability.
506 1.1.1.11 christos Mitigation:
507 1.1.1.11 christos Implement BCP-38.
508 1.1.1.11 christos Use "restrict default noquery ..." in your ntp.conf file.
509 1.1.1.11 christos Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
510 1.1.1.11 christos or the NTP Public Services Project Download Page
511 1.1.1.11 christos Properly monitor your ntpd instances, and auto-restart ntpd
512 1.1.1.11 christos (without -g) if it stops running.
513 1.1.1.11 christos Credit: This weakness was discovered by Matthew Van Gundy of Cisco.
514 1.1.1.11 christos
515 1.1.1.11 christos * Broadcast Mode Replay Prevention DoS
516 1.1.1.11 christos Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
517 1.1.1.11 christos References: Sec 3114 / CVE-2016-7427 / VU#633847
518 1.1.1.11 christos Affects: ntp-4.2.8p6, up to but not including ntp-4.2.8p9, and
519 1.1.1.11 christos ntp-4.3.90 up to, but not including ntp-4.3.94.
520 1.1.1.11 christos CVSS2: LOW 3.3 (AV:A/AC:L/Au:N/C:N/I:N/A:P)
521 1.1.1.11 christos CVSS3: MED 4.3 CVSS:3.0/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
522 1.1.1.11 christos Summary:
523 1.1.1.11 christos The broadcast mode of NTP is expected to only be used in a
524 1.1.1.11 christos trusted network. If the broadcast network is accessible to an
525 1.1.1.11 christos attacker, a potentially exploitable denial of service
526 1.1.1.11 christos vulnerability in ntpd's broadcast mode replay prevention
527 1.1.1.11 christos functionality can be abused. An attacker with access to the NTP
528 1.1.1.11 christos broadcast domain can periodically inject specially crafted
529 1.1.1.11 christos broadcast mode NTP packets into the broadcast domain which,
530 1.1.1.11 christos while being logged by ntpd, can cause ntpd to reject broadcast
531 1.1.1.11 christos mode packets from legitimate NTP broadcast servers.
532 1.1.1.11 christos Mitigation:
533 1.1.1.11 christos Implement BCP-38.
534 1.1.1.11 christos Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
535 1.1.1.11 christos or the NTP Public Services Project Download Page
536 1.1.1.11 christos Properly monitor your ntpd instances, and auto-restart ntpd
537 1.1.1.11 christos (without -g) if it stops running.
538 1.1.1.11 christos Credit: This weakness was discovered by Matthew Van Gundy of Cisco.
539 1.1.1.11 christos
540 1.1.1.11 christos * Broadcast Mode Poll Interval Enforcement DoS
541 1.1.1.11 christos Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
542 1.1.1.11 christos References: Sec 3113 / CVE-2016-7428 / VU#633847
543 1.1.1.11 christos Affects: ntp-4.2.8p6, up to but not including ntp-4.2.8p9, and
544 1.1.1.11 christos ntp-4.3.90 up to, but not including ntp-4.3.94
545 1.1.1.11 christos CVSS2: LOW 3.3 (AV:A/AC:L/Au:N/C:N/I:N/A:P)
546 1.1.1.11 christos CVSS3: MED 4.3 CVSS:3.0/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
547 1.1.1.11 christos Summary:
548 1.1.1.11 christos The broadcast mode of NTP is expected to only be used in a
549 1.1.1.11 christos trusted network. If the broadcast network is accessible to an
550 1.1.1.11 christos attacker, a potentially exploitable denial of service
551 1.1.1.11 christos vulnerability in ntpd's broadcast mode poll interval enforcement
552 1.1.1.11 christos functionality can be abused. To limit abuse, ntpd restricts the
553 1.1.1.11 christos rate at which each broadcast association will process incoming
554 1.1.1.11 christos packets. ntpd will reject broadcast mode packets that arrive
555 1.1.1.11 christos before the poll interval specified in the preceding broadcast
556 1.1.1.11 christos packet expires. An attacker with access to the NTP broadcast
557 1.1.1.11 christos domain can send specially crafted broadcast mode NTP packets to
558 1.1.1.11 christos the broadcast domain which, while being logged by ntpd, will
559 1.1.1.11 christos cause ntpd to reject broadcast mode packets from legitimate NTP
560 1.1.1.11 christos broadcast servers.
561 1.1.1.11 christos Mitigation:
562 1.1.1.11 christos Implement BCP-38.
563 1.1.1.11 christos Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
564 1.1.1.11 christos or the NTP Public Services Project Download Page
565 1.1.1.11 christos Properly monitor your ntpd instances, and auto-restart ntpd
566 1.1.1.11 christos (without -g) if it stops running.
567 1.1.1.11 christos Credit: This weakness was discovered by Matthew Van Gundy of Cisco.
568 1.1.1.11 christos
569 1.1.1.11 christos * Windows: ntpd DoS by oversized UDP packet
570 1.1.1.11 christos Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
571 1.1.1.11 christos References: Sec 3110 / CVE-2016-9312 / VU#633847
572 1.1.1.11 christos Affects Windows only: ntp-4.?.?, up to but not including ntp-4.2.8p9,
573 1.1.1.11 christos and ntp-4.3.0 up to, but not including ntp-4.3.94.
574 1.1.1.11 christos CVSS2: HIGH 7.8 (AV:N/AC:L/Au:N/C:N/I:N/A:C)
575 1.1.1.11 christos CVSS3: HIGH 7.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
576 1.1.1.11 christos Summary:
577 1.1.1.11 christos If a vulnerable instance of ntpd on Windows receives a crafted
578 1.1.1.11 christos malicious packet that is "too big", ntpd will stop working.
579 1.1.1.11 christos Mitigation:
580 1.1.1.11 christos Implement BCP-38.
581 1.1.1.11 christos Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
582 1.1.1.11 christos or the NTP Public Services Project Download Page
583 1.1.1.11 christos Properly monitor your ntpd instances, and auto-restart ntpd
584 1.1.1.11 christos (without -g) if it stops running.
585 1.1.1.11 christos Credit: This weakness was discovered by Robert Pajak of ABB.
586 1.1.1.11 christos
587 1.1.1.11 christos * 0rigin (zero origin) issues
588 1.1.1.11 christos Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
589 1.1.1.11 christos References: Sec 3102 / CVE-2016-7431 / VU#633847
590 1.1.1.11 christos Affects: ntp-4.2.8p8, and ntp-4.3.93.
591 1.1.1.11 christos CVSS2: MED 5.0 (AV:N/AC:L/Au:N/C:N/I:P/A:N)
592 1.1.1.11 christos CVSS3: MED 5.3 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N
593 1.1.1.11 christos Summary:
594 1.1.1.11 christos Zero Origin timestamp problems were fixed by Bug 2945 in
595 1.1.1.11 christos ntp-4.2.8p6. However, subsequent timestamp validation checks
596 1.1.1.11 christos introduced a regression in the handling of some Zero origin
597 1.1.1.11 christos timestamp checks.
598 1.1.1.11 christos Mitigation:
599 1.1.1.11 christos Implement BCP-38.
600 1.1.1.11 christos Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
601 1.1.1.11 christos or the NTP Public Services Project Download Page
602 1.1.1.11 christos Properly monitor your ntpd instances, and auto-restart ntpd
603 1.1.1.11 christos (without -g) if it stops running.
604 1.1.1.11 christos Credit: This weakness was discovered by Sharon Goldberg and Aanchal
605 1.1.1.11 christos Malhotra of Boston University.
606 1.1.1.11 christos
607 1.1.1.11 christos * read_mru_list() does inadequate incoming packet checks
608 1.1.1.11 christos Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
609 1.1.1.11 christos References: Sec 3082 / CVE-2016-7434 / VU#633847
610 1.1.1.11 christos Affects: ntp-4.2.7p22, up to but not including ntp-4.2.8p9, and
611 1.1.1.11 christos ntp-4.3.0 up to, but not including ntp-4.3.94.
612 1.1.1.11 christos CVSS2: LOW 3.8 (AV:L/AC:H/Au:S/C:N/I:N/A:C)
613 1.1.1.11 christos CVSS3: LOW 3.8 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
614 1.1.1.11 christos Summary:
615 1.1.1.11 christos If ntpd is configured to allow mrulist query requests from a
616 1.1.1.11 christos server that sends a crafted malicious packet, ntpd will crash
617 1.1.1.11 christos on receipt of that crafted malicious mrulist query packet.
618 1.1.1.11 christos Mitigation:
619 1.1.1.11 christos Only allow mrulist query packets from trusted hosts.
620 1.1.1.11 christos Implement BCP-38.
621 1.1.1.11 christos Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
622 1.1.1.11 christos or the NTP Public Services Project Download Page
623 1.1.1.11 christos Properly monitor your ntpd instances, and auto-restart ntpd
624 1.1.1.11 christos (without -g) if it stops running.
625 1.1.1.11 christos Credit: This weakness was discovered by Magnus Stubman.
626 1.1.1.11 christos
627 1.1.1.11 christos * Attack on interface selection
628 1.1.1.11 christos Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
629 1.1.1.11 christos References: Sec 3072 / CVE-2016-7429 / VU#633847
630 1.1.1.11 christos Affects: ntp-4.2.7p385, up to but not including ntp-4.2.8p9, and
631 1.1.1.11 christos ntp-4.3.0 up to, but not including ntp-4.3.94
632 1.1.1.11 christos CVSS2: LOW 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P)
633 1.1.1.11 christos CVSS3: LOW 1.6 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
634 1.1.1.11 christos Summary:
635 1.1.1.11 christos When ntpd receives a server response on a socket that corresponds
636 1.1.1.11 christos to a different interface than was used for the request, the peer
637 1.1.1.11 christos structure is updated to use the interface for new requests. If
638 1.1.1.11 christos ntpd is running on a host with multiple interfaces in separate
639 1.1.1.11 christos networks and the operating system doesn't check source address in
640 1.1.1.11 christos received packets (e.g. rp_filter on Linux is set to 0), an
641 1.1.1.11 christos attacker that knows the address of the source can send a packet
642 1.1.1.11 christos with spoofed source address which will cause ntpd to select wrong
643 1.1.1.11 christos interface for the source and prevent it from sending new requests
644 1.1.1.11 christos until the list of interfaces is refreshed, which happens on
645 1.1.1.11 christos routing changes or every 5 minutes by default. If the attack is
646 1.1.1.11 christos repeated often enough (once per second), ntpd will not be able to
647 1.1.1.11 christos synchronize with the source.
648 1.1.1.11 christos Mitigation:
649 1.1.1.11 christos Implement BCP-38.
650 1.1.1.11 christos Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
651 1.1.1.11 christos or the NTP Public Services Project Download Page
652 1.1.1.11 christos If you are going to configure your OS to disable source address
653 1.1.1.11 christos checks, also configure your firewall configuration to control
654 1.1.1.11 christos what interfaces can receive packets from what networks.
655 1.1.1.11 christos Properly monitor your ntpd instances, and auto-restart ntpd
656 1.1.1.11 christos (without -g) if it stops running.
657 1.1.1.11 christos Credit: This weakness was discovered by Miroslav Lichvar of Red Hat.
658 1.1.1.11 christos
659 1.1.1.11 christos * Client rate limiting and server responses
660 1.1.1.11 christos Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
661 1.1.1.11 christos References: Sec 3071 / CVE-2016-7426 / VU#633847
662 1.1.1.11 christos Affects: ntp-4.2.5p203, up to but not including ntp-4.2.8p9, and
663 1.1.1.11 christos ntp-4.3.0 up to, but not including ntp-4.3.94
664 1.1.1.11 christos CVSS2: LOW 1.0 (AV:L/AC:H/Au:S/C:N/I:N/A:P)
665 1.1.1.11 christos CVSS3: LOW 1.6 CVSS:3.0/AV:P/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
666 1.1.1.11 christos Summary:
667 1.1.1.11 christos When ntpd is configured with rate limiting for all associations
668 1.1.1.11 christos (restrict default limited in ntp.conf), the limits are applied
669 1.1.1.11 christos also to responses received from its configured sources. An
670 1.1.1.11 christos attacker who knows the sources (e.g., from an IPv4 refid in
671 1.1.1.11 christos server response) and knows the system is (mis)configured in this
672 1.1.1.11 christos way can periodically send packets with spoofed source address to
673 1.1.1.11 christos keep the rate limiting activated and prevent ntpd from accepting
674 1.1.1.11 christos valid responses from its sources.
675 1.1.1.11 christos
676 1.1.1.11 christos While this blanket rate limiting can be useful to prevent
677 1.1.1.11 christos brute-force attacks on the origin timestamp, it allows this DoS
678 1.1.1.11 christos attack. Similarly, it allows the attacker to prevent mobilization
679 1.1.1.11 christos of ephemeral associations.
680 1.1.1.11 christos Mitigation:
681 1.1.1.11 christos Implement BCP-38.
682 1.1.1.11 christos Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
683 1.1.1.11 christos or the NTP Public Services Project Download Page
684 1.1.1.11 christos Properly monitor your ntpd instances, and auto-restart ntpd
685 1.1.1.11 christos (without -g) if it stops running.
686 1.1.1.11 christos Credit: This weakness was discovered by Miroslav Lichvar of Red Hat.
687 1.1.1.11 christos
688 1.1.1.11 christos * Fix for bug 2085 broke initial sync calculations
689 1.1.1.11 christos Date Resolved: 21 November 2016; Dev (4.3.94) 21 November 2016
690 1.1.1.11 christos References: Sec 3067 / CVE-2016-7433 / VU#633847
691 1.1.1.11 christos Affects: ntp-4.2.7p385, up to but not including ntp-4.2.8p9, and
692 1.1.1.11 christos ntp-4.3.0 up to, but not including ntp-4.3.94. But the
693 1.1.1.11 christos root-distance calculation in general is incorrect in all versions
694 1.1.1.11 christos of ntp-4 until this release.
695 1.1.1.11 christos CVSS2: LOW 1.2 (AV:L/AC:H/Au:N/C:N/I:N/A:P)
696 1.1.1.11 christos CVSS3: LOW 1.6 CVSS:3.0/AV:P/AC:H/PR:H/UI:N/S:U/C:N/I:N/A:L
697 1.1.1.11 christos Summary:
698 1.1.1.11 christos Bug 2085 described a condition where the root delay was included
699 1.1.1.11 christos twice, causing the jitter value to be higher than expected. Due
700 1.1.1.11 christos to a misinterpretation of a small-print variable in The Book, the
701 1.1.1.11 christos fix for this problem was incorrect, resulting in a root distance
702 1.1.1.11 christos that did not include the peer dispersion. The calculations and
703 1.1.1.11 christos formulae have been reviewed and reconciled, and the code has been
704 1.1.1.11 christos updated accordingly.
705 1.1.1.11 christos Mitigation:
706 1.1.1.11 christos Upgrade to 4.2.8p9, or later, from the NTP Project Download Page
707 1.1.1.11 christos or the NTP Public Services Project Download Page
708 1.1.1.11 christos Properly monitor your ntpd instances, and auto-restart ntpd
709 1.1.1.11 christos (without -g) if it stops running.
710 1.1.1.11 christos Credit: This weakness was discovered independently by Brian Utterback of
711 1.1.1.11 christos Oracle, and Sharon Goldberg and Aanchal Malhotra of Boston University.
712 1.1.1.11 christos
713 1.1.1.11 christos Other fixes:
714 1.1.1.11 christos
715 1.1.1.11 christos * [Bug 3142] bug in netmask prefix length detection <perlinger (a] ntp.org>
716 1.1.1.11 christos * [Bug 3138] gpsdjson refclock should honor fudgetime1. stenn (a] ntp.org
717 1.1.1.11 christos * [Bug 3129] Unknown hosts can put resolver thread into a hard loop
718 1.1.1.11 christos - moved retry decision where it belongs. <perlinger (a] ntp.org>
719 1.1.1.11 christos * [Bug 3125] NTPD doesn't fully start when ntp.conf entries are out of order
720 1.1.1.11 christos using the loopback-ppsapi-provider.dll <perlinger (a] ntp.org>
721 1.1.1.11 christos * [Bug 3116] unit tests for NTP time stamp expansion. <perlinger (a] ntp.org>
722 1.1.1.11 christos * [Bug 3100] ntpq can't retrieve daemon_version <perlinger (a] ntp.org>
723 1.1.1.11 christos - fixed extended sysvar lookup (bug introduced with bug 3008 fix)
724 1.1.1.11 christos * [Bug 3095] Compatibility with openssl 1.1 <perlinger (a] ntp.org>
725 1.1.1.11 christos - applied patches by Kurt Roeckx <kurt (a] roeckx.be> to source
726 1.1.1.11 christos - added shim layer for SSL API calls with issues (both directions)
727 1.1.1.11 christos * [Bug 3089] Serial Parser does not work anymore for hopfser like device
728 1.1.1.11 christos - simplified / refactored hex-decoding in driver. <perlinger (a] ntp.org>
729 1.1.1.11 christos * [Bug 3084] update-leap mis-parses the leapfile name. HStenn.
730 1.1.1.11 christos * [Bug 3068] Linker warnings when building on Solaris. perlinger (a] ntp.org
731 1.1.1.11 christos - applied patch thanks to Andrew Stormont <andyjstormont (a] gmail.com>
732 1.1.1.11 christos * [Bug 3067] Root distance calculation needs improvement. HStenn
733 1.1.1.11 christos * [Bug 3066] NMEA clock ignores pps. perlinger (a] ntp.org
734 1.1.1.11 christos - PPS-HACK works again.
735 1.1.1.11 christos * [Bug 3059] Potential buffer overrun from oversized hash <perlinger (a] ntp.org>
736 1.1.1.11 christos - applied patch by Brian Utterback <brian.utterback (a] oracle.com>
737 1.1.1.11 christos * [Bug 3053] ntp_loopfilter.c frequency calc precedence error. Sarah White.
738 1.1.1.11 christos * [Bug 3050] Fix for bug #2960 causes [...] spurious error message.
739 1.1.1.11 christos <perlinger (a] ntp.org>
740 1.1.1.11 christos - patches by Reinhard Max <max (a] suse.com> and Havard Eidnes <he (a] uninett.no>
741 1.1.1.11 christos * [Bug 3047] Fix refclock_jjy C-DEX JST2000. abe (a] ntp.org
742 1.1.1.11 christos - Patch provided by Kuramatsu.
743 1.1.1.11 christos * [Bug 3021] unity_fixture.c needs pragma weak <perlinger (a] ntp.org>
744 1.1.1.11 christos - removed unnecessary & harmful decls of 'setUp()' & 'tearDown()'
745 1.1.1.11 christos * [Bug 3019] Windows: ERROR_HOST_UNREACHABLE block packet processing. DMayer
746 1.1.1.11 christos * [Bug 2998] sntp/tests/packetProcessing.c broken without openssl. JPerlinger
747 1.1.1.11 christos * [Bug 2961] sntp/tests/packetProcessing.c assumes AUTOKEY. HStenn.
748 1.1.1.11 christos * [Bug 2959] refclock_jupiter: gps week correction <perlinger (a] ntp.org>
749 1.1.1.11 christos - fixed GPS week expansion to work based on build date. Special thanks
750 1.1.1.11 christos to Craig Leres for initial patch and testing.
751 1.1.1.11 christos * [Bug 2951] ntpd tests fail: multiple definition of `send_via_ntp_signd'
752 1.1.1.11 christos - fixed Makefile.am <perlinger (a] ntp.org>
753 1.1.1.11 christos * [Bug 2689] ATOM driver processes last PPS pulse at startup,
754 1.1.1.11 christos even if it is very old <perlinger (a] ntp.org>
755 1.1.1.11 christos - make sure PPS source is alive before processing samples
756 1.1.1.11 christos - improve stability close to the 500ms phase jump (phase gate)
757 1.1.1.11 christos * Fix typos in include/ntp.h.
758 1.1.1.11 christos * Shim X509_get_signature_nid() if needed
759 1.1.1.11 christos * git author attribution cleanup
760 1.1.1.11 christos * bk ignore file cleanup
761 1.1.1.11 christos * remove locks in Windows IO, use rpc-like thread synchronisation instead
762 1.1.1.11 christos
763 1.1.1.11 christos ---
764 1.1.1.10 christos NTP 4.2.8p8 (Harlan Stenn <stenn (a] ntp.org>, 2016/06/02)
765 1.1.1.10 christos
766 1.1.1.10 christos Focus: Security, Bug fixes, enhancements.
767 1.1.1.10 christos
768 1.1.1.10 christos Severity: HIGH
769 1.1.1.10 christos
770 1.1.1.10 christos In addition to bug fixes and enhancements, this release fixes the
771 1.1.1.10 christos following 1 high- and 4 low-severity vulnerabilities:
772 1.1.1.10 christos
773 1.1.1.10 christos * CRYPTO_NAK crash
774 1.1.1.10 christos Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
775 1.1.1.10 christos References: Sec 3046 / CVE-2016-4957 / VU#321640
776 1.1.1.10 christos Affects: ntp-4.2.8p7, and ntp-4.3.92.
777 1.1.1.10 christos CVSS2: HIGH 7.8 (AV:N/AC:L/Au:N/C:N/I:N/A:C)
778 1.1.1.10 christos CVSS3: HIGH 7.5 CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
779 1.1.1.10 christos Summary: The fix for Sec 3007 in ntp-4.2.8p7 contained a bug that
780 1.1.1.10 christos could cause ntpd to crash.
781 1.1.1.10 christos Mitigation:
782 1.1.1.10 christos Implement BCP-38.
783 1.1.1.10 christos Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
784 1.1.1.10 christos or the NTP Public Services Project Download Page
785 1.1.1.10 christos If you cannot upgrade from 4.2.8p7, the only other alternatives
786 1.1.1.10 christos are to patch your code or filter CRYPTO_NAK packets.
787 1.1.1.10 christos Properly monitor your ntpd instances, and auto-restart ntpd
788 1.1.1.10 christos (without -g) if it stops running.
789 1.1.1.10 christos Credit: This weakness was discovered by Nicolas Edet of Cisco.
790 1.1.1.10 christos
791 1.1.1.10 christos * Bad authentication demobilizes ephemeral associations
792 1.1.1.10 christos Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
793 1.1.1.10 christos References: Sec 3045 / CVE-2016-4953 / VU#321640
794 1.1.1.10 christos Affects: ntp-4, up to but not including ntp-4.2.8p8, and
795 1.1.1.10 christos ntp-4.3.0 up to, but not including ntp-4.3.93.
796 1.1.1.10 christos CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P)
797 1.1.1.10 christos CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
798 1.1.1.10 christos Summary: An attacker who knows the origin timestamp and can send a
799 1.1.1.10 christos spoofed packet containing a CRYPTO-NAK to an ephemeral peer
800 1.1.1.10 christos target before any other response is sent can demobilize that
801 1.1.1.10 christos association.
802 1.1.1.10 christos Mitigation:
803 1.1.1.10 christos Implement BCP-38.
804 1.1.1.10 christos Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
805 1.1.1.10 christos or the NTP Public Services Project Download Page
806 1.1.1.10 christos Properly monitor your ntpd instances.
807 1.1.1.10 christos Credit: This weakness was discovered by Miroslav Lichvar of Red Hat.
808 1.1.1.10 christos
809 1.1.1.10 christos * Processing spoofed server packets
810 1.1.1.10 christos Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
811 1.1.1.10 christos References: Sec 3044 / CVE-2016-4954 / VU#321640
812 1.1.1.10 christos Affects: ntp-4, up to but not including ntp-4.2.8p8, and
813 1.1.1.10 christos ntp-4.3.0 up to, but not including ntp-4.3.93.
814 1.1.1.10 christos CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P)
815 1.1.1.10 christos CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
816 1.1.1.10 christos Summary: An attacker who is able to spoof packets with correct origin
817 1.1.1.10 christos timestamps from enough servers before the expected response
818 1.1.1.10 christos packets arrive at the target machine can affect some peer
819 1.1.1.10 christos variables and, for example, cause a false leap indication to be set.
820 1.1.1.10 christos Mitigation:
821 1.1.1.10 christos Implement BCP-38.
822 1.1.1.10 christos Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
823 1.1.1.10 christos or the NTP Public Services Project Download Page
824 1.1.1.10 christos Properly monitor your ntpd instances.
825 1.1.1.10 christos Credit: This weakness was discovered by Jakub Prokes of Red Hat.
826 1.1.1.10 christos
827 1.1.1.10 christos * Autokey association reset
828 1.1.1.10 christos Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
829 1.1.1.10 christos References: Sec 3043 / CVE-2016-4955 / VU#321640
830 1.1.1.10 christos Affects: ntp-4, up to but not including ntp-4.2.8p8, and
831 1.1.1.10 christos ntp-4.3.0 up to, but not including ntp-4.3.93.
832 1.1.1.10 christos CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P)
833 1.1.1.10 christos CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
834 1.1.1.10 christos Summary: An attacker who is able to spoof a packet with a correct
835 1.1.1.10 christos origin timestamp before the expected response packet arrives at
836 1.1.1.10 christos the target machine can send a CRYPTO_NAK or a bad MAC and cause
837 1.1.1.10 christos the association's peer variables to be cleared. If this can be
838 1.1.1.10 christos done often enough, it will prevent that association from working.
839 1.1.1.10 christos Mitigation:
840 1.1.1.10 christos Implement BCP-38.
841 1.1.1.10 christos Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
842 1.1.1.10 christos or the NTP Public Services Project Download Page
843 1.1.1.10 christos Properly monitor your ntpd instances.
844 1.1.1.10 christos Credit: This weakness was discovered by Miroslav Lichvar of Red Hat.
845 1.1.1.10 christos
846 1.1.1.10 christos * Broadcast interleave
847 1.1.1.10 christos Date Resolved: 02 June 2016; Dev (4.3.93) 02 June 2016
848 1.1.1.10 christos References: Sec 3042 / CVE-2016-4956 / VU#321640
849 1.1.1.10 christos Affects: ntp-4, up to but not including ntp-4.2.8p8, and
850 1.1.1.10 christos ntp-4.3.0 up to, but not including ntp-4.3.93.
851 1.1.1.10 christos CVSS2: LOW 2.6 (AV:N/AC:H/Au:N/C:N/I:N/A:P)
852 1.1.1.10 christos CVSS3: LOW 3.7 CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
853 1.1.1.10 christos Summary: The fix for NtpBug2978 does not cover broadcast associations,
854 1.1.1.10 christos so broadcast clients can be triggered to flip into interleave mode.
855 1.1.1.10 christos Mitigation:
856 1.1.1.10 christos Implement BCP-38.
857 1.1.1.10 christos Upgrade to 4.2.8p8, or later, from the NTP Project Download Page
858 1.1.1.10 christos or the NTP Public Services Project Download Page
859 1.1.1.10 christos Properly monitor your ntpd instances.
860 1.1.1.10 christos Credit: This weakness was discovered by Miroslav Lichvar of Red Hat.
861 1.1.1.10 christos
862 1.1.1.10 christos Other fixes:
863 1.1.1.10 christos * [Bug 3038] NTP fails to build in VS2015. perlinger (a] ntp.org
864 1.1.1.10 christos - provide build environment
865 1.1.1.10 christos - 'wint_t' and 'struct timespec' defined by VS2015
866 1.1.1.10 christos - fixed print()/scanf() format issues
867 1.1.1.10 christos * [Bug 3052] Add a .gitignore file. Edmund Wong.
868 1.1.1.10 christos * [Bug 3054] miscopt.html documents the allan intercept in seconds. SWhite.
869 1.1.1.10 christos * [Bug 3058] fetch_timestamp() mishandles 64-bit alignment. Brian Utterback,
870 1.1.1.10 christos JPerlinger, HStenn.
871 1.1.1.10 christos * Fix typo in ntp-wait and plot_summary. HStenn.
872 1.1.1.10 christos * Make sure we have an "author" file for git imports. HStenn.
873 1.1.1.10 christos * Update the sntp problem tests for MacOS. HStenn.
874 1.1.1.10 christos
875 1.1.1.10 christos ---
876 1.1.1.9 christos NTP 4.2.8p7 (Harlan Stenn <stenn (a] ntp.org>, 2016/04/26)
877 1.1.1.8 christos
878 1.1.1.9 christos Focus: Security, Bug fixes, enhancements.
879 1.1.1.9 christos
880 1.1.1.9 christos Severity: MEDIUM
881 1.1.1.9 christos
882 1.1.1.9 christos When building NTP from source, there is a new configure option
883 1.1.1.9 christos available, --enable-dynamic-interleave. More information on this below.
884 1.1.1.9 christos
885 1.1.1.9 christos Also note that ntp-4.2.8p7 logs more "unexpected events" than previous
886 1.1.1.9 christos versions of ntp. These events have almost certainly happened in the
887 1.1.1.9 christos past, it's just that they were silently counted and not logged. With
888 1.1.1.9 christos the increasing awareness around security, we feel it's better to clearly
889 1.1.1.9 christos log these events to help detect abusive behavior. This increased
890 1.1.1.9 christos logging can also help detect other problems, too.
891 1.1.1.9 christos
892 1.1.1.9 christos In addition to bug fixes and enhancements, this release fixes the
893 1.1.1.9 christos following 9 low- and medium-severity vulnerabilities:
894 1.1.1.9 christos
895 1.1.1.9 christos * Improve NTP security against buffer comparison timing attacks,
896 1.1.1.9 christos AKA: authdecrypt-timing
897 1.1.1.9 christos Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
898 1.1.1.9 christos References: Sec 2879 / CVE-2016-1550
899 1.1.1.9 christos Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
900 1.1.1.9 christos 4.3.0 up to, but not including 4.3.92
901 1.1.1.9 christos CVSSv2: LOW 2.6 - (AV:L/AC:H/Au:N/C:P/I:P/A:N)
902 1.1.1.9 christos CVSSv3: MED 4.0 - CVSS:3.0/AV:L/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
903 1.1.1.9 christos Summary: Packet authentication tests have been performed using
904 1.1.1.9 christos memcmp() or possibly bcmp(), and it is potentially possible
905 1.1.1.9 christos for a local or perhaps LAN-based attacker to send a packet with
906 1.1.1.9 christos an authentication payload and indirectly observe how much of
907 1.1.1.9 christos the digest has matched.
908 1.1.1.9 christos Mitigation:
909 1.1.1.9 christos Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
910 1.1.1.9 christos or the NTP Public Services Project Download Page.
911 1.1.1.9 christos Properly monitor your ntpd instances.
912 1.1.1.9 christos Credit: This weakness was discovered independently by Loganaden
913 1.1.1.9 christos Velvindron, and Matthew Van Gundy and Stephen Gray of Cisco ASIG.
914 1.1.1.9 christos
915 1.1.1.9 christos * Zero origin timestamp bypass: Additional KoD checks.
916 1.1.1.9 christos References: Sec 2945 / Sec 2901 / CVE-2015-8138
917 1.1.1.9 christos Affects: All ntp-4 releases up to, but not including 4.2.8p7,
918 1.1.1.9 christos Summary: Improvements to the fixes incorporated in t 4.2.8p6 and 4.3.92.
919 1.1.1.9 christos
920 1.1.1.9 christos * peer associations were broken by the fix for NtpBug2899
921 1.1.1.9 christos Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
922 1.1.1.9 christos References: Sec 2952 / CVE-2015-7704
923 1.1.1.9 christos Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
924 1.1.1.9 christos 4.3.0 up to, but not including 4.3.92
925 1.1.1.9 christos CVSSv2: MED 4.3 - (AV:N/AC:M/Au:N/C:N/I:N/A:P)
926 1.1.1.9 christos Summary: The fix for NtpBug2952 in ntp-4.2.8p5 to address broken peer
927 1.1.1.9 christos associations did not address all of the issues.
928 1.1.1.9 christos Mitigation:
929 1.1.1.9 christos Implement BCP-38.
930 1.1.1.9 christos Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
931 1.1.1.9 christos or the NTP Public Services Project Download Page
932 1.1.1.9 christos If you can't upgrade, use "server" associations instead of
933 1.1.1.9 christos "peer" associations.
934 1.1.1.9 christos Monitor your ntpd instances.
935 1.1.1.9 christos Credit: This problem was discovered by Michael Tatarinov.
936 1.1.1.9 christos
937 1.1.1.9 christos * Validate crypto-NAKs, AKA: CRYPTO-NAK DoS
938 1.1.1.9 christos Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
939 1.1.1.9 christos References: Sec 3007 / CVE-2016-1547 / VU#718152
940 1.1.1.9 christos Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
941 1.1.1.9 christos 4.3.0 up to, but not including 4.3.92
942 1.1.1.9 christos CVSS2: MED 4.3 - (AV:N/AC:M/Au:N/C:N/I:N/A:P)
943 1.1.1.9 christos CVSS3: MED 3.7 - CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L
944 1.1.1.9 christos Summary: For ntp-4 versions up to but not including ntp-4.2.8p7, an
945 1.1.1.9 christos off-path attacker can cause a preemptable client association to
946 1.1.1.9 christos be demobilized by sending a crypto NAK packet to a victim client
947 1.1.1.9 christos with a spoofed source address of an existing associated peer.
948 1.1.1.9 christos This is true even if authentication is enabled.
949 1.1.1.9 christos
950 1.1.1.9 christos Furthermore, if the attacker keeps sending crypto NAK packets,
951 1.1.1.9 christos for example one every second, the victim never has a chance to
952 1.1.1.9 christos reestablish the association and synchronize time with that
953 1.1.1.9 christos legitimate server.
954 1.1.1.9 christos
955 1.1.1.9 christos For ntp-4.2.8 thru ntp-4.2.8p6 there is less risk because more
956 1.1.1.9 christos stringent checks are performed on incoming packets, but there
957 1.1.1.9 christos are still ways to exploit this vulnerability in versions before
958 1.1.1.9 christos ntp-4.2.8p7.
959 1.1.1.9 christos Mitigation:
960 1.1.1.9 christos Implement BCP-38.
961 1.1.1.9 christos Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
962 1.1.1.9 christos or the NTP Public Services Project Download Page
963 1.1.1.9 christos Properly monitor your =ntpd= instances
964 1.1.1.9 christos Credit: This weakness was discovered by Stephen Gray and
965 1.1.1.9 christos Matthew Van Gundy of Cisco ASIG.
966 1.1.1.9 christos
967 1.1.1.9 christos * ctl_getitem() return value not always checked
968 1.1.1.9 christos Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
969 1.1.1.9 christos References: Sec 3008 / CVE-2016-2519
970 1.1.1.9 christos Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
971 1.1.1.9 christos 4.3.0 up to, but not including 4.3.92
972 1.1.1.9 christos CVSSv2: MED 4.9 - (AV:N/AC:H/Au:S/C:N/I:N/A:C)
973 1.1.1.9 christos CVSSv3: MED 4.2 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
974 1.1.1.9 christos Summary: ntpq and ntpdc can be used to store and retrieve information
975 1.1.1.9 christos in ntpd. It is possible to store a data value that is larger
976 1.1.1.9 christos than the size of the buffer that the ctl_getitem() function of
977 1.1.1.9 christos ntpd uses to report the return value. If the length of the
978 1.1.1.9 christos requested data value returned by ctl_getitem() is too large,
979 1.1.1.9 christos the value NULL is returned instead. There are 2 cases where the
980 1.1.1.9 christos return value from ctl_getitem() was not directly checked to make
981 1.1.1.9 christos sure it's not NULL, but there are subsequent INSIST() checks
982 1.1.1.9 christos that make sure the return value is not NULL. There are no data
983 1.1.1.9 christos values ordinarily stored in ntpd that would exceed this buffer
984 1.1.1.9 christos length. But if one has permission to store values and one stores
985 1.1.1.9 christos a value that is "too large", then ntpd will abort if an attempt
986 1.1.1.9 christos is made to read that oversized value.
987 1.1.1.9 christos Mitigation:
988 1.1.1.9 christos Implement BCP-38.
989 1.1.1.9 christos Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
990 1.1.1.9 christos or the NTP Public Services Project Download Page
991 1.1.1.9 christos Properly monitor your ntpd instances.
992 1.1.1.9 christos Credit: This weakness was discovered by Yihan Lian of the Cloud
993 1.1.1.9 christos Security Team, Qihoo 360.
994 1.1.1.9 christos
995 1.1.1.9 christos * Crafted addpeer with hmode > 7 causes array wraparound with MATCH_ASSOC
996 1.1.1.9 christos Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
997 1.1.1.9 christos References: Sec 3009 / CVE-2016-2518 / VU#718152
998 1.1.1.9 christos Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
999 1.1.1.9 christos 4.3.0 up to, but not including 4.3.92
1000 1.1.1.9 christos CVSS2: LOW 2.1 - (AV:N/AC:H/Au:S/C:N/I:N/A:P)
1001 1.1.1.9 christos CVSS3: LOW 2.0 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:L
1002 1.1.1.9 christos Summary: Using a crafted packet to create a peer association with
1003 1.1.1.9 christos hmode > 7 causes the MATCH_ASSOC() lookup to make an
1004 1.1.1.9 christos out-of-bounds reference.
1005 1.1.1.9 christos Mitigation:
1006 1.1.1.9 christos Implement BCP-38.
1007 1.1.1.9 christos Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
1008 1.1.1.9 christos or the NTP Public Services Project Download Page
1009 1.1.1.9 christos Properly monitor your ntpd instances
1010 1.1.1.9 christos Credit: This weakness was discovered by Yihan Lian of the Cloud
1011 1.1.1.9 christos Security Team, Qihoo 360.
1012 1.1.1.9 christos
1013 1.1.1.9 christos * remote configuration trustedkey/requestkey/controlkey values are not
1014 1.1.1.9 christos properly validated
1015 1.1.1.9 christos Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
1016 1.1.1.9 christos References: Sec 3010 / CVE-2016-2517 / VU#718152
1017 1.1.1.9 christos Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
1018 1.1.1.9 christos 4.3.0 up to, but not including 4.3.92
1019 1.1.1.9 christos CVSS2: MED 4.9 - (AV:N/AC:H/Au:S/C:N/I:N/A:C)
1020 1.1.1.9 christos CVSS3: MED 4.2 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
1021 1.1.1.9 christos Summary: If ntpd was expressly configured to allow for remote
1022 1.1.1.9 christos configuration, a malicious user who knows the controlkey for
1023 1.1.1.9 christos ntpq or the requestkey for ntpdc (if mode7 is expressly enabled)
1024 1.1.1.9 christos can create a session with ntpd and then send a crafted packet to
1025 1.1.1.9 christos ntpd that will change the value of the trustedkey, controlkey,
1026 1.1.1.9 christos or requestkey to a value that will prevent any subsequent
1027 1.1.1.9 christos authentication with ntpd until ntpd is restarted.
1028 1.1.1.9 christos Mitigation:
1029 1.1.1.9 christos Implement BCP-38.
1030 1.1.1.9 christos Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
1031 1.1.1.9 christos or the NTP Public Services Project Download Page
1032 1.1.1.9 christos Properly monitor your =ntpd= instances
1033 1.1.1.9 christos Credit: This weakness was discovered by Yihan Lian of the Cloud
1034 1.1.1.9 christos Security Team, Qihoo 360.
1035 1.1.1.9 christos
1036 1.1.1.9 christos * Duplicate IPs on unconfig directives will cause an assertion botch in ntpd
1037 1.1.1.9 christos Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
1038 1.1.1.9 christos References: Sec 3011 / CVE-2016-2516 / VU#718152
1039 1.1.1.9 christos Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
1040 1.1.1.9 christos 4.3.0 up to, but not including 4.3.92
1041 1.1.1.9 christos CVSS2: MED 6.3 - (AV:N/AC:M/Au:S/C:N/I:N/A:C)
1042 1.1.1.9 christos CVSS3: MED 4.2 - CVSS:3.0/AV:N/AC:H/PR:H/UI:R/S:U/C:N/I:N/A:H
1043 1.1.1.9 christos Summary: If ntpd was expressly configured to allow for remote
1044 1.1.1.9 christos configuration, a malicious user who knows the controlkey for
1045 1.1.1.9 christos ntpq or the requestkey for ntpdc (if mode7 is expressly enabled)
1046 1.1.1.9 christos can create a session with ntpd and if an existing association is
1047 1.1.1.9 christos unconfigured using the same IP twice on the unconfig directive
1048 1.1.1.9 christos line, ntpd will abort.
1049 1.1.1.9 christos Mitigation:
1050 1.1.1.9 christos Implement BCP-38.
1051 1.1.1.9 christos Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
1052 1.1.1.9 christos or the NTP Public Services Project Download Page
1053 1.1.1.9 christos Properly monitor your ntpd instances
1054 1.1.1.9 christos Credit: This weakness was discovered by Yihan Lian of the Cloud
1055 1.1.1.9 christos Security Team, Qihoo 360.
1056 1.1.1.9 christos
1057 1.1.1.9 christos * Refclock impersonation vulnerability
1058 1.1.1.9 christos Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
1059 1.1.1.9 christos References: Sec 3020 / CVE-2016-1551
1060 1.1.1.9 christos Affects: On a very limited number of OSes, all NTP releases up to but
1061 1.1.1.9 christos not including 4.2.8p7, and 4.3.0 up to but not including 4.3.92.
1062 1.1.1.9 christos By "very limited number of OSes" we mean no general-purpose OSes
1063 1.1.1.9 christos have yet been identified that have this vulnerability.
1064 1.1.1.9 christos CVSSv2: LOW 2.6 - (AV:N/AC:H/Au:N/C:N/I:P/A:N)
1065 1.1.1.9 christos CVSSv3: LOW 3.7 - CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
1066 1.1.1.9 christos Summary: While most OSes implement martian packet filtering in their
1067 1.1.1.9 christos network stack, at least regarding 127.0.0.0/8, some will allow
1068 1.1.1.9 christos packets claiming to be from 127.0.0.0/8 that arrive over a
1069 1.1.1.9 christos physical network. On these OSes, if ntpd is configured to use a
1070 1.1.1.9 christos reference clock an attacker can inject packets over the network
1071 1.1.1.9 christos that look like they are coming from that reference clock.
1072 1.1.1.9 christos Mitigation:
1073 1.1.1.9 christos Implement martian packet filtering and BCP-38.
1074 1.1.1.9 christos Configure ntpd to use an adequate number of time sources.
1075 1.1.1.9 christos Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
1076 1.1.1.9 christos or the NTP Public Services Project Download Page
1077 1.1.1.9 christos If you are unable to upgrade and if you are running an OS that
1078 1.1.1.9 christos has this vulnerability, implement martian packet filters and
1079 1.1.1.9 christos lobby your OS vendor to fix this problem, or run your
1080 1.1.1.9 christos refclocks on computers that use OSes that are not vulnerable
1081 1.1.1.9 christos to these attacks and have your vulnerable machines get their
1082 1.1.1.9 christos time from protected resources.
1083 1.1.1.9 christos Properly monitor your ntpd instances.
1084 1.1.1.9 christos Credit: This weakness was discovered by Matt Street and others of
1085 1.1.1.9 christos Cisco ASIG.
1086 1.1.1.9 christos
1087 1.1.1.9 christos The following issues were fixed in earlier releases and contain
1088 1.1.1.9 christos improvements in 4.2.8p7:
1089 1.1.1.9 christos
1090 1.1.1.9 christos * Clients that receive a KoD should validate the origin timestamp field.
1091 1.1.1.9 christos References: Sec 2901 / CVE-2015-7704, CVE-2015-7705
1092 1.1.1.9 christos Affects: All ntp-4 releases up to, but not including 4.2.8p7,
1093 1.1.1.9 christos Summary: Improvements to the fixes incorporated into 4.2.8p4 and 4.3.77.
1094 1.1.1.9 christos
1095 1.1.1.9 christos * Skeleton key: passive server with trusted key can serve time.
1096 1.1.1.9 christos References: Sec 2936 / CVE-2015-7974
1097 1.1.1.9 christos Affects: All ntp-4 releases up to, but not including 4.2.8p7,
1098 1.1.1.9 christos Summary: Improvements to the fixes incorporated in t 4.2.8p6 and 4.3.90.
1099 1.1.1.9 christos
1100 1.1.1.9 christos Two other vulnerabilities have been reported, and the mitigations
1101 1.1.1.9 christos for these are as follows:
1102 1.1.1.9 christos
1103 1.1.1.9 christos * Interleave-pivot
1104 1.1.1.9 christos Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
1105 1.1.1.9 christos References: Sec 2978 / CVE-2016-1548
1106 1.1.1.9 christos Affects: All ntp-4 releases.
1107 1.1.1.9 christos CVSSv2: MED 6.4 - (AV:N/AC:L/Au:N/C:N/I:P/A:P)
1108 1.1.1.9 christos CVSSv3: MED 7.2 - CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:L
1109 1.1.1.9 christos Summary: It is possible to change the time of an ntpd client or deny
1110 1.1.1.9 christos service to an ntpd client by forcing it to change from basic
1111 1.1.1.9 christos client/server mode to interleaved symmetric mode. An attacker
1112 1.1.1.9 christos can spoof a packet from a legitimate ntpd server with an origin
1113 1.1.1.9 christos timestamp that matches the peer->dst timestamp recorded for that
1114 1.1.1.9 christos server. After making this switch, the client will reject all
1115 1.1.1.9 christos future legitimate server responses. It is possible to force the
1116 1.1.1.9 christos victim client to move time after the mode has been changed.
1117 1.1.1.9 christos ntpq gives no indication that the mode has been switched.
1118 1.1.1.9 christos Mitigation:
1119 1.1.1.9 christos Implement BCP-38.
1120 1.1.1.9 christos Upgrade to 4.2.8p7, or later, from the NTP Project Download Page
1121 1.1.1.9 christos or the NTP Public Services Project Download Page. These
1122 1.1.1.9 christos versions will not dynamically "flip" into interleave mode
1123 1.1.1.9 christos unless configured to do so.
1124 1.1.1.9 christos Properly monitor your ntpd instances.
1125 1.1.1.9 christos Credit: This weakness was discovered by Miroslav Lichvar of RedHat
1126 1.1.1.9 christos and separately by Jonathan Gardner of Cisco ASIG.
1127 1.1.1.9 christos
1128 1.1.1.9 christos * Sybil vulnerability: ephemeral association attack
1129 1.1.1.9 christos Date Resolved: Stable (4.2.8p7) 26 Apr 2016; Dev (4.3.92) 26 Apr 2016
1130 1.1.1.9 christos References: Sec 3012 / CVE-2016-1549
1131 1.1.1.9 christos Affects: All ntp-4 releases up to, but not including 4.2.8p7, and
1132 1.1.1.9 christos 4.3.0 up to, but not including 4.3.92
1133 1.1.1.9 christos CVSSv2: LOW 3.5 - (AV:N/AC:M/Au:S/C:N/I:P/A:N)
1134 1.1.1.9 christos CVSS3v: MED 5.3 - CVSS:3.0/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N
1135 1.1.1.9 christos Summary: ntpd can be vulnerable to Sybil attacks. If one is not using
1136 1.1.1.9 christos the feature introduced in ntp-4.2.8p6 allowing an optional 4th
1137 1.1.1.9 christos field in the ntp.keys file to specify which IPs can serve time,
1138 1.1.1.9 christos a malicious authenticated peer can create arbitrarily-many
1139 1.1.1.9 christos ephemeral associations in order to win the clock selection of
1140 1.1.1.9 christos ntpd and modify a victim's clock.
1141 1.1.1.9 christos Mitigation:
1142 1.1.1.9 christos Implement BCP-38.
1143 1.1.1.9 christos Use the 4th field in the ntp.keys file to specify which IPs
1144 1.1.1.9 christos can be time servers.
1145 1.1.1.9 christos Properly monitor your ntpd instances.
1146 1.1.1.9 christos Credit: This weakness was discovered by Matthew Van Gundy of Cisco ASIG.
1147 1.1.1.9 christos
1148 1.1.1.9 christos Other fixes:
1149 1.1.1.9 christos
1150 1.1.1.9 christos * [Bug 2831] Segmentation Fault in DNS lookup during startup. perlinger (a] ntp.org
1151 1.1.1.9 christos - fixed yet another race condition in the threaded resolver code.
1152 1.1.1.9 christos * [Bug 2858] bool support. Use stdbool.h when available. HStenn.
1153 1.1.1.9 christos * [Bug 2879] Improve NTP security against timing attacks. perlinger (a] ntp.org
1154 1.1.1.9 christos - integrated patches by Loganaden Velvidron <logan (a] ntp.org>
1155 1.1.1.9 christos with some modifications & unit tests
1156 1.1.1.9 christos * [Bug 2960] async name resolution fixes for chroot() environments.
1157 1.1.1.9 christos Reinhard Max.
1158 1.1.1.9 christos * [Bug 2994] Systems with HAVE_SIGNALED_IO fail to compile. perlinger (a] ntp.org
1159 1.1.1.9 christos * [Bug 2995] Fixes to compile on Windows
1160 1.1.1.9 christos * [Bug 2999] out-of-bounds access in 'is_safe_filename()'. perlinger (a] ntp.org
1161 1.1.1.9 christos * [Bug 3013] Fix for ssl_init.c SHA1 test. perlinger (a] ntp.org
1162 1.1.1.9 christos - Patch provided by Ch. Weisgerber
1163 1.1.1.9 christos * [Bug 3015] ntpq: config-from-file: "request contains an unprintable character"
1164 1.1.1.9 christos - A change related to [Bug 2853] forbids trailing white space in
1165 1.1.1.9 christos remote config commands. perlinger (a] ntp.org
1166 1.1.1.9 christos * [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE
1167 1.1.1.9 christos - report and patch from Aleksandr Kostikov.
1168 1.1.1.9 christos - Overhaul of Windows IO completion port handling. perlinger (a] ntp.org
1169 1.1.1.9 christos * [Bug 3022] authkeys.c should be refactored. perlinger (a] ntp.org
1170 1.1.1.9 christos - fixed memory leak in access list (auth[read]keys.c)
1171 1.1.1.9 christos - refactored handling of key access lists (auth[read]keys.c)
1172 1.1.1.9 christos - reduced number of error branches (authreadkeys.c)
1173 1.1.1.9 christos * [Bug 3023] ntpdate cannot correct dates in the future. perlinger (a] ntp.org
1174 1.1.1.9 christos * [Bug 3030] ntpq needs a general way to specify refid output format. HStenn.
1175 1.1.1.9 christos * [Bug 3031] ntp broadcastclient unable to synchronize to an server
1176 1.1.1.9 christos when the time of server changed. perlinger (a] ntp.org
1177 1.1.1.9 christos - Check the initial delay calculation and reject/unpeer the broadcast
1178 1.1.1.9 christos server if the delay exceeds 50ms. Retry again after the next
1179 1.1.1.9 christos broadcast packet.
1180 1.1.1.9 christos * [Bug 3036] autokey trips an INSIST in authistrustedip(). Harlan Stenn.
1181 1.1.1.9 christos * Document ntp.key's optional IP list in authenetic.html. Harlan Stenn.
1182 1.1.1.9 christos * Update html/xleave.html documentation. Harlan Stenn.
1183 1.1.1.9 christos * Update ntp.conf documentation. Harlan Stenn.
1184 1.1.1.9 christos * Fix some Credit: attributions in the NEWS file. Harlan Stenn.
1185 1.1.1.9 christos * Fix typo in html/monopt.html. Harlan Stenn.
1186 1.1.1.9 christos * Add README.pullrequests. Harlan Stenn.
1187 1.1.1.9 christos * Cleanup to include/ntp.h. Harlan Stenn.
1188 1.1.1.9 christos
1189 1.1.1.9 christos New option to 'configure':
1190 1.1.1.9 christos
1191 1.1.1.9 christos While looking in to the issues around Bug 2978, the "interleave pivot"
1192 1.1.1.9 christos issue, it became clear that there are some intricate and unresolved
1193 1.1.1.9 christos issues with interleave operations. We also realized that the interleave
1194 1.1.1.9 christos protocol was never added to the NTPv4 Standard, and it should have been.
1195 1.1.1.9 christos
1196 1.1.1.9 christos Interleave mode was first released in July of 2008, and can be engaged
1197 1.1.1.9 christos in two ways. Any 'peer' and 'broadcast' lines in the ntp.conf file may
1198 1.1.1.9 christos contain the 'xleave' option, which will expressly enable interlave mode
1199 1.1.1.9 christos for that association. Additionally, if a time packet arrives and is
1200 1.1.1.9 christos found inconsistent with normal protocol behavior but has certain
1201 1.1.1.9 christos characteristics that are compatible with interleave mode, NTP will
1202 1.1.1.9 christos dynamically switch to interleave mode. With sufficient knowledge, an
1203 1.1.1.9 christos attacker can send a crafted forged packet to an NTP instance that
1204 1.1.1.9 christos triggers only one side to enter interleaved mode.
1205 1.1.1.9 christos
1206 1.1.1.9 christos To prevent this attack until we can thoroughly document, describe,
1207 1.1.1.9 christos fix, and test the dynamic interleave mode, we've added a new
1208 1.1.1.9 christos 'configure' option to the build process:
1209 1.1.1.9 christos
1210 1.1.1.9 christos --enable-dynamic-interleave
1211 1.1.1.9 christos
1212 1.1.1.9 christos This option controls whether or not NTP will, if conditions are right,
1213 1.1.1.9 christos engage dynamic interleave mode. Dynamic interleave mode is disabled by
1214 1.1.1.9 christos default in ntp-4.2.8p7.
1215 1.1.1.9 christos
1216 1.1.1.9 christos ---
1217 1.1.1.9 christos NTP 4.2.8p6 (Harlan Stenn <stenn (a] ntp.org>, 2016/01/20)
1218 1.1.1.9 christos
1219 1.1.1.9 christos Focus: Security, Bug fixes, enhancements.
1220 1.1.1.9 christos
1221 1.1.1.9 christos Severity: MEDIUM
1222 1.1.1.9 christos
1223 1.1.1.9 christos In addition to bug fixes and enhancements, this release fixes the
1224 1.1.1.9 christos following 1 low- and 8 medium-severity vulnerabilities:
1225 1.1.1.9 christos
1226 1.1.1.9 christos * Potential Infinite Loop in 'ntpq'
1227 1.1.1.9 christos Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
1228 1.1.1.9 christos References: Sec 2548 / CVE-2015-8158
1229 1.1.1.9 christos Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
1230 1.1.1.9 christos 4.3.0 up to, but not including 4.3.90
1231 1.1.1.9 christos CVSS2: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3 - MEDIUM
1232 1.1.1.9 christos CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N Base Score: 5.3 - MEDIUM
1233 1.1.1.9 christos Summary: 'ntpq' processes incoming packets in a loop in 'getresponse()'.
1234 1.1.1.9 christos The loop's only stopping conditions are receiving a complete and
1235 1.1.1.9 christos correct response or hitting a small number of error conditions.
1236 1.1.1.9 christos If the packet contains incorrect values that don't trigger one of
1237 1.1.1.9 christos the error conditions, the loop continues to receive new packets.
1238 1.1.1.9 christos Note well, this is an attack against an instance of 'ntpq', not
1239 1.1.1.9 christos 'ntpd', and this attack requires the attacker to do one of the
1240 1.1.1.9 christos following:
1241 1.1.1.9 christos * Own a malicious NTP server that the client trusts
1242 1.1.1.9 christos * Prevent a legitimate NTP server from sending packets to
1243 1.1.1.9 christos the 'ntpq' client
1244 1.1.1.9 christos * MITM the 'ntpq' communications between the 'ntpq' client
1245 1.1.1.9 christos and the NTP server
1246 1.1.1.9 christos Mitigation:
1247 1.1.1.9 christos Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
1248 1.1.1.9 christos or the NTP Public Services Project Download Page
1249 1.1.1.9 christos Credit: This weakness was discovered by Jonathan Gardner of Cisco ASIG.
1250 1.1.1.9 christos
1251 1.1.1.9 christos * 0rigin: Zero Origin Timestamp Bypass
1252 1.1.1.9 christos Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
1253 1.1.1.9 christos References: Sec 2945 / CVE-2015-8138
1254 1.1.1.9 christos Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
1255 1.1.1.9 christos 4.3.0 up to, but not including 4.3.90
1256 1.1.1.9 christos CVSS2: (AV:N/AC:L/Au:N/C:N/I:P/A:N) Base Score: 5.0 - MEDIUM
1257 1.1.1.9 christos CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N Base Score: 5.3 - MEDIUM
1258 1.1.1.9 christos (3.7 - LOW if you score AC:L)
1259 1.1.1.9 christos Summary: To distinguish legitimate peer responses from forgeries, a
1260 1.1.1.9 christos client attempts to verify a response packet by ensuring that the
1261 1.1.1.9 christos origin timestamp in the packet matches the origin timestamp it
1262 1.1.1.9 christos transmitted in its last request. A logic error exists that
1263 1.1.1.9 christos allows packets with an origin timestamp of zero to bypass this
1264 1.1.1.9 christos check whenever there is not an outstanding request to the server.
1265 1.1.1.9 christos Mitigation:
1266 1.1.1.9 christos Configure 'ntpd' to get time from multiple sources.
1267 1.1.1.9 christos Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
1268 1.1.1.9 christos or the NTP Public Services Project Download Page.
1269 1.1.1.9 christos Monitor your 'ntpd= instances.
1270 1.1.1.9 christos Credit: This weakness was discovered by Matthey Van Gundy and
1271 1.1.1.9 christos Jonathan Gardner of Cisco ASIG.
1272 1.1.1.9 christos
1273 1.1.1.9 christos * Stack exhaustion in recursive traversal of restriction list
1274 1.1.1.9 christos Date Resolved: Stable (4.2.8p6) 19 Jan 2016
1275 1.1.1.9 christos References: Sec 2940 / CVE-2015-7978
1276 1.1.1.9 christos Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
1277 1.1.1.9 christos 4.3.0 up to, but not including 4.3.90
1278 1.1.1.9 christos CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3 - MEDIUM
1279 1.1.1.9 christos Summary: An unauthenticated 'ntpdc reslist' command can cause a
1280 1.1.1.9 christos segmentation fault in ntpd by exhausting the call stack.
1281 1.1.1.9 christos Mitigation:
1282 1.1.1.9 christos Implement BCP-38.
1283 1.1.1.9 christos Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
1284 1.1.1.9 christos or the NTP Public Services Project Download Page.
1285 1.1.1.9 christos If you are unable to upgrade:
1286 1.1.1.9 christos In ntp-4.2.8, mode 7 is disabled by default. Don't enable it.
1287 1.1.1.9 christos If you must enable mode 7:
1288 1.1.1.9 christos configure the use of a 'requestkey' to control who can
1289 1.1.1.9 christos issue mode 7 requests.
1290 1.1.1.9 christos configure 'restrict noquery' to further limit mode 7
1291 1.1.1.9 christos requests to trusted sources.
1292 1.1.1.9 christos Monitor your ntpd instances.
1293 1.1.1.9 christos Credit: This weakness was discovered by Stephen Gray at Cisco ASIG.
1294 1.1.1.9 christos
1295 1.1.1.9 christos * Off-path Denial of Service (!DoS) attack on authenticated broadcast mode
1296 1.1.1.9 christos Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
1297 1.1.1.9 christos References: Sec 2942 / CVE-2015-7979
1298 1.1.1.9 christos Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
1299 1.1.1.9 christos 4.3.0 up to, but not including 4.3.90
1300 1.1.1.9 christos CVSS: (AV:N/AC:M/Au:N/C:N/I:P/A:P) Base Score: 5.8
1301 1.1.1.9 christos Summary: An off-path attacker can send broadcast packets with bad
1302 1.1.1.9 christos authentication (wrong key, mismatched key, incorrect MAC, etc)
1303 1.1.1.9 christos to broadcast clients. It is observed that the broadcast client
1304 1.1.1.9 christos tears down the association with the broadcast server upon
1305 1.1.1.9 christos receiving just one bad packet.
1306 1.1.1.9 christos Mitigation:
1307 1.1.1.9 christos Implement BCP-38.
1308 1.1.1.9 christos Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
1309 1.1.1.9 christos or the NTP Public Services Project Download Page.
1310 1.1.1.9 christos Monitor your 'ntpd' instances.
1311 1.1.1.9 christos If this sort of attack is an active problem for you, you have
1312 1.1.1.9 christos deeper problems to investigate. In this case also consider
1313 1.1.1.9 christos having smaller NTP broadcast domains.
1314 1.1.1.9 christos Credit: This weakness was discovered by Aanchal Malhotra of Boston
1315 1.1.1.9 christos University.
1316 1.1.1.9 christos
1317 1.1.1.9 christos * reslist NULL pointer dereference
1318 1.1.1.9 christos Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
1319 1.1.1.9 christos References: Sec 2939 / CVE-2015-7977
1320 1.1.1.9 christos Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
1321 1.1.1.9 christos 4.3.0 up to, but not including 4.3.90
1322 1.1.1.9 christos CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3 - MEDIUM
1323 1.1.1.9 christos Summary: An unauthenticated 'ntpdc reslist' command can cause a
1324 1.1.1.9 christos segmentation fault in ntpd by causing a NULL pointer dereference.
1325 1.1.1.9 christos Mitigation:
1326 1.1.1.9 christos Implement BCP-38.
1327 1.1.1.9 christos Upgrade to 4.2.8p6, or later, from NTP Project Download Page or
1328 1.1.1.9 christos the NTP Public Services Project Download Page.
1329 1.1.1.9 christos If you are unable to upgrade:
1330 1.1.1.9 christos mode 7 is disabled by default. Don't enable it.
1331 1.1.1.9 christos If you must enable mode 7:
1332 1.1.1.9 christos configure the use of a 'requestkey' to control who can
1333 1.1.1.9 christos issue mode 7 requests.
1334 1.1.1.9 christos configure 'restrict noquery' to further limit mode 7
1335 1.1.1.9 christos requests to trusted sources.
1336 1.1.1.9 christos Monitor your ntpd instances.
1337 1.1.1.9 christos Credit: This weakness was discovered by Stephen Gray of Cisco ASIG.
1338 1.1.1.9 christos
1339 1.1.1.9 christos * 'ntpq saveconfig' command allows dangerous characters in filenames.
1340 1.1.1.9 christos Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
1341 1.1.1.9 christos References: Sec 2938 / CVE-2015-7976
1342 1.1.1.9 christos Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
1343 1.1.1.9 christos 4.3.0 up to, but not including 4.3.90
1344 1.1.1.9 christos CVSS: (AV:N/AC:L/Au:S/C:N/I:P/A:N) Base Score: 4.0 - MEDIUM
1345 1.1.1.9 christos Summary: The ntpq saveconfig command does not do adequate filtering
1346 1.1.1.9 christos of special characters from the supplied filename.
1347 1.1.1.9 christos Note well: The ability to use the saveconfig command is controlled
1348 1.1.1.9 christos by the 'restrict nomodify' directive, and the recommended default
1349 1.1.1.9 christos configuration is to disable this capability. If the ability to
1350 1.1.1.9 christos execute a 'saveconfig' is required, it can easily (and should) be
1351 1.1.1.9 christos limited and restricted to a known small number of IP addresses.
1352 1.1.1.9 christos Mitigation:
1353 1.1.1.9 christos Implement BCP-38.
1354 1.1.1.9 christos use 'restrict default nomodify' in your 'ntp.conf' file.
1355 1.1.1.9 christos Upgrade to 4.2.8p6, or later, from the NTP Project Download Page.
1356 1.1.1.9 christos If you are unable to upgrade:
1357 1.1.1.9 christos build NTP with 'configure --disable-saveconfig' if you will
1358 1.1.1.9 christos never need this capability, or
1359 1.1.1.9 christos use 'restrict default nomodify' in your 'ntp.conf' file. Be
1360 1.1.1.9 christos careful about what IPs have the ability to send 'modify'
1361 1.1.1.9 christos requests to 'ntpd'.
1362 1.1.1.9 christos Monitor your ntpd instances.
1363 1.1.1.9 christos 'saveconfig' requests are logged to syslog - monitor your syslog files.
1364 1.1.1.9 christos Credit: This weakness was discovered by Jonathan Gardner of Cisco ASIG.
1365 1.1.1.9 christos
1366 1.1.1.9 christos * nextvar() missing length check in ntpq
1367 1.1.1.9 christos Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
1368 1.1.1.9 christos References: Sec 2937 / CVE-2015-7975
1369 1.1.1.9 christos Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
1370 1.1.1.9 christos 4.3.0 up to, but not including 4.3.90
1371 1.1.1.9 christos CVSS: (AV:L/AC:H/Au:N/C:N/I:N/A:P) Base Score: 1.2 - LOW
1372 1.1.1.9 christos If you score A:C, this becomes 4.0.
1373 1.1.1.9 christos 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
1374 1.1.1.9 christos Summary: ntpq may call nextvar() which executes a memcpy() into the
1375 1.1.1.9 christos name buffer without a proper length check against its maximum
1376 1.1.1.9 christos length of 256 bytes. Note well that we're taking about ntpq here.
1377 1.1.1.9 christos The usual worst-case effect of this vulnerability is that the
1378 1.1.1.9 christos specific instance of ntpq will crash and the person or process
1379 1.1.1.9 christos that did this will have stopped themselves.
1380 1.1.1.9 christos Mitigation:
1381 1.1.1.9 christos Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
1382 1.1.1.9 christos or the NTP Public Services Project Download Page.
1383 1.1.1.9 christos If you are unable to upgrade:
1384 1.1.1.9 christos If you have scripts that feed input to ntpq make sure there are
1385 1.1.1.9 christos some sanity checks on the input received from the "outside".
1386 1.1.1.9 christos This is potentially more dangerous if ntpq is run as root.
1387 1.1.1.9 christos Credit: This weakness was discovered by Jonathan Gardner at Cisco ASIG.
1388 1.1.1.9 christos
1389 1.1.1.9 christos * Skeleton Key: Any trusted key system can serve time
1390 1.1.1.9 christos Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
1391 1.1.1.9 christos References: Sec 2936 / CVE-2015-7974
1392 1.1.1.9 christos Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
1393 1.1.1.9 christos 4.3.0 up to, but not including 4.3.90
1394 1.1.1.9 christos CVSS: (AV:N/AC:H/Au:S/C:N/I:C/A:N) Base Score: 4.9
1395 1.1.1.9 christos Summary: Symmetric key encryption uses a shared trusted key. The
1396 1.1.1.9 christos reported title for this issue was "Missing key check allows
1397 1.1.1.9 christos impersonation between authenticated peers" and the report claimed
1398 1.1.1.9 christos "A key specified only for one server should only work to
1399 1.1.1.9 christos authenticate that server, other trusted keys should be refused."
1400 1.1.1.9 christos Except there has never been any correlation between this trusted
1401 1.1.1.9 christos key and server v. clients machines and there has never been any
1402 1.1.1.9 christos way to specify a key only for one server. We have treated this as
1403 1.1.1.9 christos an enhancement request, and ntp-4.2.8p6 includes other checks and
1404 1.1.1.9 christos tests to strengthen clients against attacks coming from broadcast
1405 1.1.1.9 christos servers.
1406 1.1.1.9 christos Mitigation:
1407 1.1.1.9 christos Implement BCP-38.
1408 1.1.1.9 christos If this scenario represents a real or a potential issue for you,
1409 1.1.1.9 christos upgrade to 4.2.8p6, or later, from the NTP Project Download
1410 1.1.1.9 christos Page or the NTP Public Services Project Download Page, and
1411 1.1.1.9 christos use the new field in the ntp.keys file that specifies the list
1412 1.1.1.9 christos of IPs that are allowed to serve time. Note that this alone
1413 1.1.1.9 christos will not protect against time packets with forged source IP
1414 1.1.1.9 christos addresses, however other changes in ntp-4.2.8p6 provide
1415 1.1.1.9 christos significant mitigation against broadcast attacks. MITM attacks
1416 1.1.1.9 christos are a different story.
1417 1.1.1.9 christos If you are unable to upgrade:
1418 1.1.1.9 christos Don't use broadcast mode if you cannot monitor your client
1419 1.1.1.9 christos servers.
1420 1.1.1.9 christos If you choose to use symmetric keys to authenticate time
1421 1.1.1.9 christos packets in a hostile environment where ephemeral time
1422 1.1.1.9 christos servers can be created, or if it is expected that malicious
1423 1.1.1.9 christos time servers will participate in an NTP broadcast domain,
1424 1.1.1.9 christos limit the number of participating systems that participate
1425 1.1.1.9 christos in the shared-key group.
1426 1.1.1.9 christos Monitor your ntpd instances.
1427 1.1.1.9 christos Credit: This weakness was discovered by Matt Street of Cisco ASIG.
1428 1.1.1.9 christos
1429 1.1.1.9 christos * Deja Vu: Replay attack on authenticated broadcast mode
1430 1.1.1.9 christos Date Resolved: Stable (4.2.8p6) 19 Jan 2016; Dev (4.3.90) 19 Jan 2016
1431 1.1.1.9 christos References: Sec 2935 / CVE-2015-7973
1432 1.1.1.9 christos Affects: All ntp-4 releases up to, but not including 4.2.8p6, and
1433 1.1.1.9 christos 4.3.0 up to, but not including 4.3.90
1434 1.1.1.9 christos CVSS: (AV:A/AC:M/Au:N/C:N/I:P/A:P) Base Score: 4.3 - MEDIUM
1435 1.1.1.9 christos Summary: If an NTP network is configured for broadcast operations then
1436 1.1.1.9 christos either a man-in-the-middle attacker or a malicious participant
1437 1.1.1.9 christos that has the same trusted keys as the victim can replay time packets.
1438 1.1.1.9 christos Mitigation:
1439 1.1.1.9 christos Implement BCP-38.
1440 1.1.1.9 christos Upgrade to 4.2.8p6, or later, from the NTP Project Download Page
1441 1.1.1.9 christos or the NTP Public Services Project Download Page.
1442 1.1.1.9 christos If you are unable to upgrade:
1443 1.1.1.9 christos Don't use broadcast mode if you cannot monitor your client servers.
1444 1.1.1.9 christos Monitor your ntpd instances.
1445 1.1.1.9 christos Credit: This weakness was discovered by Aanchal Malhotra of Boston
1446 1.1.1.9 christos University.
1447 1.1.1.9 christos
1448 1.1.1.9 christos Other fixes:
1449 1.1.1.9 christos
1450 1.1.1.9 christos * [Bug 2772] adj_systime overflows tv_usec. perlinger (a] ntp.org
1451 1.1.1.9 christos * [Bug 2814] msyslog deadlock when signaled. perlinger (a] ntp.org
1452 1.1.1.9 christos - applied patch by shenpeng11 (a] huawei.com with minor adjustments
1453 1.1.1.9 christos * [Bug 2882] Look at ntp_request.c:list_peers_sum(). perlinger (a] ntp.org
1454 1.1.1.9 christos * [Bug 2891] Deadlock in deferred DNS lookup framework. perlinger (a] ntp.org
1455 1.1.1.9 christos * [Bug 2892] Several test cases assume IPv6 capabilities even when
1456 1.1.1.9 christos IPv6 is disabled in the build. perlinger (a] ntp.org
1457 1.1.1.9 christos - Found this already fixed, but validation led to cleanup actions.
1458 1.1.1.9 christos * [Bug 2905] DNS lookups broken. perlinger (a] ntp.org
1459 1.1.1.9 christos - added limits to stack consumption, fixed some return code handling
1460 1.1.1.9 christos * [Bug 2971] ntpq bails on ^C: select fails: Interrupted system call
1461 1.1.1.9 christos - changed stacked/nested handling of CTRL-C. perlinger (a] ntp.org
1462 1.1.1.9 christos - make CTRL-C work for retrieval and printing od MRU list. perlinger (a] ntp.org
1463 1.1.1.9 christos * [Bug 2980] reduce number of warnings. perlinger (a] ntp.org
1464 1.1.1.9 christos - integrated several patches from Havard Eidnes (he (a] uninett.no)
1465 1.1.1.9 christos * [Bug 2985] bogus calculation in authkeys.c perlinger (a] ntp.org
1466 1.1.1.9 christos - implement 'auth_log2()' using integer bithack instead of float calculation
1467 1.1.1.9 christos * Make leapsec_query debug messages less verbose. Harlan Stenn.
1468 1.1.1.9 christos
1469 1.1.1.9 christos ---
1470 1.1.1.9 christos NTP 4.2.8p5 (Harlan Stenn <stenn (a] ntp.org>, 2016/01/07)
1471 1.1.1.8 christos
1472 1.1.1.8 christos Focus: Security, Bug fixes, enhancements.
1473 1.1.1.8 christos
1474 1.1.1.8 christos Severity: MEDIUM
1475 1.1.1.8 christos
1476 1.1.1.8 christos In addition to bug fixes and enhancements, this release fixes the
1477 1.1.1.8 christos following medium-severity vulnerability:
1478 1.1.1.8 christos
1479 1.1.1.8 christos * Small-step/big-step. Close the panic gate earlier.
1480 1.1.1.8 christos References: Sec 2956, CVE-2015-5300
1481 1.1.1.8 christos Affects: All ntp-4 releases up to, but not including 4.2.8p5, and
1482 1.1.1.8 christos 4.3.0 up to, but not including 4.3.78
1483 1.1.1.8 christos CVSS3: (AV:N/AC:H/PR:H/UI:R/S:C/C:L/I:N/A:L) Base Score: 4.0, MEDIUM
1484 1.1.1.8 christos Summary: If ntpd is always started with the -g option, which is
1485 1.1.1.8 christos common and against long-standing recommendation, and if at the
1486 1.1.1.8 christos moment ntpd is restarted an attacker can immediately respond to
1487 1.1.1.8 christos enough requests from enough sources trusted by the target, which
1488 1.1.1.8 christos is difficult and not common, there is a window of opportunity
1489 1.1.1.8 christos where the attacker can cause ntpd to set the time to an
1490 1.1.1.8 christos arbitrary value. Similarly, if an attacker is able to respond
1491 1.1.1.8 christos to enough requests from enough sources trusted by the target,
1492 1.1.1.8 christos the attacker can cause ntpd to abort and restart, at which
1493 1.1.1.8 christos point it can tell the target to set the time to an arbitrary
1494 1.1.1.8 christos value if and only if ntpd was re-started against long-standing
1495 1.1.1.8 christos recommendation with the -g flag, or if ntpd was not given the
1496 1.1.1.8 christos -g flag, the attacker can move the target system's time by at
1497 1.1.1.8 christos most 900 seconds' time per attack.
1498 1.1.1.8 christos Mitigation:
1499 1.1.1.8 christos Configure ntpd to get time from multiple sources.
1500 1.1.1.8 christos Upgrade to 4.2.8p5, or later, from the NTP Project Download
1501 1.1.1.8 christos Page or the NTP Public Services Project Download Page
1502 1.1.1.8 christos As we've long documented, only use the -g option to ntpd in
1503 1.1.1.8 christos cold-start situations.
1504 1.1.1.8 christos Monitor your ntpd instances.
1505 1.1.1.8 christos Credit: This weakness was discovered by Aanchal Malhotra,
1506 1.1.1.8 christos Isaac E. Cohen, and Sharon Goldberg at Boston University.
1507 1.1.1.8 christos
1508 1.1.1.8 christos NOTE WELL: The -g flag disables the limit check on the panic_gate
1509 1.1.1.8 christos in ntpd, which is 900 seconds by default. The bug identified by
1510 1.1.1.8 christos the researchers at Boston University is that the panic_gate
1511 1.1.1.8 christos check was only re-enabled after the first change to the system
1512 1.1.1.8 christos clock that was greater than 128 milliseconds, by default. The
1513 1.1.1.8 christos correct behavior is that the panic_gate check should be
1514 1.1.1.8 christos re-enabled after any initial time correction.
1515 1.1.1.8 christos
1516 1.1.1.8 christos If an attacker is able to inject consistent but erroneous time
1517 1.1.1.8 christos responses to your systems via the network or "over the air",
1518 1.1.1.8 christos perhaps by spoofing radio, cellphone, or navigation satellite
1519 1.1.1.8 christos transmissions, they are in a great position to affect your
1520 1.1.1.8 christos system's clock. There comes a point where your very best
1521 1.1.1.8 christos defenses include:
1522 1.1.1.8 christos
1523 1.1.1.8 christos Configure ntpd to get time from multiple sources.
1524 1.1.1.8 christos Monitor your ntpd instances.
1525 1.1.1.8 christos
1526 1.1.1.8 christos Other fixes:
1527 1.1.1.8 christos
1528 1.1.1.8 christos * Coverity submission process updated from Coverity 5 to Coverity 7.
1529 1.1.1.8 christos The NTP codebase has been undergoing regular Coverity scans on an
1530 1.1.1.8 christos ongoing basis since 2006. As part of our recent upgrade from
1531 1.1.1.8 christos Coverity 5 to Coverity 7, Coverity identified 16 nits in some of
1532 1.1.1.8 christos the newly-written Unity test programs. These were fixed.
1533 1.1.1.9 christos * [Bug 2829] Clean up pipe_fds in ntpd.c perlinger (a] ntp.org
1534 1.1.1.8 christos * [Bug 2887] stratum -1 config results as showing value 99
1535 1.1.1.8 christos - fudge stratum should only accept values [0..16]. perlinger (a] ntp.org
1536 1.1.1.8 christos * [Bug 2932] Update leapsecond file info in miscopt.html. CWoodbury, HStenn.
1537 1.1.1.8 christos * [Bug 2934] tests/ntpd/t-ntp_scanner.c has a magic constant wired in. HMurray
1538 1.1.1.8 christos * [Bug 2944] errno is not preserved properly in ntpdate after sendto call.
1539 1.1.1.8 christos - applied patch by Christos Zoulas. perlinger (a] ntp.org
1540 1.1.1.8 christos * [Bug 2952] Peer associations broken by fix for Bug 2901/CVE-2015-7704.
1541 1.1.1.9 christos * [Bug 2954] Version 4.2.8p4 crashes on startup on some OSes.
1542 1.1.1.8 christos - fixed data race conditions in threaded DNS worker. perlinger (a] ntp.org
1543 1.1.1.8 christos - limit threading warm-up to linux; FreeBSD bombs on it. perlinger (a] ntp.org
1544 1.1.1.8 christos * [Bug 2957] 'unsigned int' vs 'size_t' format clash. perlinger (a] ntp.org
1545 1.1.1.8 christos - accept key file only if there are no parsing errors
1546 1.1.1.8 christos - fixed size_t/u_int format clash
1547 1.1.1.8 christos - fixed wrong use of 'strlcpy'
1548 1.1.1.8 christos * [Bug 2958] ntpq: fatal error messages need a final newline. Craig Leres.
1549 1.1.1.8 christos * [Bug 2962] truncation of size_t/ptrdiff_t on 64bit targets. perlinger (a] ntp.org
1550 1.1.1.8 christos - fixed several other warnings (cast-alignment, missing const, missing prototypes)
1551 1.1.1.8 christos - promote use of 'size_t' for values that express a size
1552 1.1.1.8 christos - use ptr-to-const for read-only arguments
1553 1.1.1.8 christos - make sure SOCKET values are not truncated (win32-specific)
1554 1.1.1.8 christos - format string fixes
1555 1.1.1.8 christos * [Bug 2965] Local clock didn't work since 4.2.8p4. Martin Burnicki.
1556 1.1.1.8 christos * [Bug 2967] ntpdate command suffers an assertion failure
1557 1.1.1.8 christos - fixed ntp_rfc2553.c to return proper address length. perlinger (a] ntp.org
1558 1.1.1.8 christos * [Bug 2969] Seg fault from ntpq/mrulist when looking at server with
1559 1.1.1.8 christos lots of clients. perlinger (a] ntp.org
1560 1.1.1.8 christos * [Bug 2971] ntpq bails on ^C: select fails: Interrupted system call
1561 1.1.1.8 christos - changed stacked/nested handling of CTRL-C. perlinger (a] ntp.org
1562 1.1.1.8 christos * Unity cleanup for FreeBSD-6.4. Harlan Stenn.
1563 1.1.1.8 christos * Unity test cleanup. Harlan Stenn.
1564 1.1.1.8 christos * Libevent autoconf pthread fixes for FreeBSD-10. Harlan Stenn.
1565 1.1.1.8 christos * Header cleanup in tests/sandbox/uglydate.c. Harlan Stenn.
1566 1.1.1.8 christos * Header cleanup in tests/libntp/sfptostr.c. Harlan Stenn.
1567 1.1.1.8 christos * Quiet a warning from clang. Harlan Stenn.
1568 1.1.1.8 christos
1569 1.1.1.8 christos ---
1570 1.1.1.9 christos NTP 4.2.8p4 (Harlan Stenn <stenn (a] ntp.org>, 2015/10/21)
1571 1.1.1.7 christos
1572 1.1.1.8 christos Focus: Security, Bug fixes, enhancements.
1573 1.1.1.7 christos
1574 1.1.1.7 christos Severity: MEDIUM
1575 1.1.1.7 christos
1576 1.1.1.7 christos In addition to bug fixes and enhancements, this release fixes the
1577 1.1.1.7 christos following 13 low- and medium-severity vulnerabilities:
1578 1.1.1.7 christos
1579 1.1.1.7 christos * Incomplete vallen (value length) checks in ntp_crypto.c, leading
1580 1.1.1.7 christos to potential crashes or potential code injection/information leakage.
1581 1.1.1.7 christos
1582 1.1.1.7 christos References: Sec 2899, Sec 2671, CVE-2015-7691, CVE-2015-7692, CVE-2015-7702
1583 1.1.1.7 christos Affects: All ntp-4 releases up to, but not including 4.2.8p4,
1584 1.1.1.7 christos and 4.3.0 up to, but not including 4.3.77
1585 1.1.1.7 christos CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6
1586 1.1.1.7 christos Summary: The fix for CVE-2014-9750 was incomplete in that there were
1587 1.1.1.7 christos certain code paths where a packet with particular autokey operations
1588 1.1.1.7 christos that contained malicious data was not always being completely
1589 1.1.1.7 christos validated. Receipt of these packets can cause ntpd to crash.
1590 1.1.1.7 christos Mitigation:
1591 1.1.1.7 christos Don't use autokey.
1592 1.1.1.7 christos Upgrade to 4.2.8p4, or later, from the NTP Project Download
1593 1.1.1.7 christos Page or the NTP Public Services Project Download Page
1594 1.1.1.7 christos Monitor your ntpd instances.
1595 1.1.1.7 christos Credit: This weakness was discovered by Tenable Network Security.
1596 1.1.1.7 christos
1597 1.1.1.7 christos * Clients that receive a KoD should validate the origin timestamp field.
1598 1.1.1.7 christos
1599 1.1.1.7 christos References: Sec 2901 / CVE-2015-7704, CVE-2015-7705
1600 1.1.1.7 christos Affects: All ntp-4 releases up to, but not including 4.2.8p4,
1601 1.1.1.7 christos and 4.3.0 up to, but not including 4.3.77
1602 1.1.1.7 christos CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3-5.0 at worst
1603 1.1.1.7 christos Summary: An ntpd client that honors Kiss-of-Death responses will honor
1604 1.1.1.7 christos KoD messages that have been forged by an attacker, causing it to
1605 1.1.1.7 christos delay or stop querying its servers for time updates. Also, an
1606 1.1.1.7 christos attacker can forge packets that claim to be from the target and
1607 1.1.1.7 christos send them to servers often enough that a server that implements
1608 1.1.1.7 christos KoD rate limiting will send the target machine a KoD response to
1609 1.1.1.7 christos attempt to reduce the rate of incoming packets, or it may also
1610 1.1.1.7 christos trigger a firewall block at the server for packets from the target
1611 1.1.1.7 christos machine. For either of these attacks to succeed, the attacker must
1612 1.1.1.7 christos know what servers the target is communicating with. An attacker
1613 1.1.1.7 christos can be anywhere on the Internet and can frequently learn the
1614 1.1.1.7 christos identity of the target's time source by sending the target a
1615 1.1.1.7 christos time query.
1616 1.1.1.7 christos Mitigation:
1617 1.1.1.7 christos Implement BCP-38.
1618 1.1.1.7 christos Upgrade to 4.2.8p4, or later, from the NTP Project Download Page
1619 1.1.1.7 christos or the NTP Public Services Project Download Page
1620 1.1.1.7 christos If you can't upgrade, restrict who can query ntpd to learn who
1621 1.1.1.7 christos its servers are, and what IPs are allowed to ask your system
1622 1.1.1.7 christos for the time. This mitigation is heavy-handed.
1623 1.1.1.7 christos Monitor your ntpd instances.
1624 1.1.1.7 christos Note:
1625 1.1.1.7 christos 4.2.8p4 protects against the first attack. For the second attack,
1626 1.1.1.7 christos all we can do is warn when it is happening, which we do in 4.2.8p4.
1627 1.1.1.7 christos Credit: This weakness was discovered by Aanchal Malhotra,
1628 1.1.1.7 christos Issac E. Cohen, and Sharon Goldberg of Boston University.
1629 1.1.1.7 christos
1630 1.1.1.7 christos * configuration directives to change "pidfile" and "driftfile" should
1631 1.1.1.7 christos only be allowed locally.
1632 1.1.1.7 christos
1633 1.1.1.7 christos References: Sec 2902 / CVE-2015-5196
1634 1.1.1.7 christos Affects: All ntp-4 releases up to, but not including 4.2.8p4,
1635 1.1.1.7 christos and 4.3.0 up to, but not including 4.3.77
1636 1.1.1.7 christos CVSS: (AV:N/AC:H/Au:M/C:N/I:C/A:C) Base Score: 6.2 worst case
1637 1.1.1.7 christos Summary: If ntpd is configured to allow for remote configuration,
1638 1.1.1.7 christos and if the (possibly spoofed) source IP address is allowed to
1639 1.1.1.7 christos send remote configuration requests, and if the attacker knows
1640 1.1.1.7 christos the remote configuration password, it's possible for an attacker
1641 1.1.1.7 christos to use the "pidfile" or "driftfile" directives to potentially
1642 1.1.1.7 christos overwrite other files.
1643 1.1.1.7 christos Mitigation:
1644 1.1.1.7 christos Implement BCP-38.
1645 1.1.1.7 christos Upgrade to 4.2.8p4, or later, from the NTP Project Download
1646 1.1.1.7 christos Page or the NTP Public Services Project Download Page
1647 1.1.1.7 christos If you cannot upgrade, don't enable remote configuration.
1648 1.1.1.7 christos If you must enable remote configuration and cannot upgrade,
1649 1.1.1.7 christos remote configuration of NTF's ntpd requires:
1650 1.1.1.7 christos - an explicitly configured trustedkey, and you should also
1651 1.1.1.7 christos configure a controlkey.
1652 1.1.1.7 christos - access from a permitted IP. You choose the IPs.
1653 1.1.1.7 christos - authentication. Don't disable it. Practice secure key safety.
1654 1.1.1.7 christos Monitor your ntpd instances.
1655 1.1.1.7 christos Credit: This weakness was discovered by Miroslav Lichvar of Red Hat.
1656 1.1.1.7 christos
1657 1.1.1.7 christos * Slow memory leak in CRYPTO_ASSOC
1658 1.1.1.7 christos
1659 1.1.1.7 christos References: Sec 2909 / CVE-2015-7701
1660 1.1.1.7 christos Affects: All ntp-4 releases that use autokey up to, but not
1661 1.1.1.7 christos including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77
1662 1.1.1.7 christos CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 0.0 best/usual case,
1663 1.1.1.7 christos 4.6 otherwise
1664 1.1.1.7 christos Summary: If ntpd is configured to use autokey, then an attacker can
1665 1.1.1.7 christos send packets to ntpd that will, after several days of ongoing
1666 1.1.1.7 christos attack, cause it to run out of memory.
1667 1.1.1.7 christos Mitigation:
1668 1.1.1.7 christos Don't use autokey.
1669 1.1.1.7 christos Upgrade to 4.2.8p4, or later, from the NTP Project Download
1670 1.1.1.7 christos Page or the NTP Public Services Project Download Page
1671 1.1.1.7 christos Monitor your ntpd instances.
1672 1.1.1.7 christos Credit: This weakness was discovered by Tenable Network Security.
1673 1.1.1.7 christos
1674 1.1.1.7 christos * mode 7 loop counter underrun
1675 1.1.1.7 christos
1676 1.1.1.7 christos References: Sec 2913 / CVE-2015-7848 / TALOS-CAN-0052
1677 1.1.1.7 christos Affects: All ntp-4 releases up to, but not including 4.2.8p4,
1678 1.1.1.7 christos and 4.3.0 up to, but not including 4.3.77
1679 1.1.1.7 christos CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6
1680 1.1.1.7 christos Summary: If ntpd is configured to enable mode 7 packets, and if the
1681 1.1.1.7 christos use of mode 7 packets is not properly protected thru the use of
1682 1.1.1.7 christos the available mode 7 authentication and restriction mechanisms,
1683 1.1.1.7 christos and if the (possibly spoofed) source IP address is allowed to
1684 1.1.1.7 christos send mode 7 queries, then an attacker can send a crafted packet
1685 1.1.1.7 christos to ntpd that will cause it to crash.
1686 1.1.1.7 christos Mitigation:
1687 1.1.1.7 christos Implement BCP-38.
1688 1.1.1.7 christos Upgrade to 4.2.8p4, or later, from the NTP Project Download
1689 1.1.1.7 christos Page or the NTP Public Services Project Download Page.
1690 1.1.1.7 christos If you are unable to upgrade:
1691 1.1.1.7 christos In ntp-4.2.8, mode 7 is disabled by default. Don't enable it.
1692 1.1.1.7 christos If you must enable mode 7:
1693 1.1.1.7 christos configure the use of a requestkey to control who can issue
1694 1.1.1.7 christos mode 7 requests.
1695 1.1.1.7 christos configure restrict noquery to further limit mode 7 requests
1696 1.1.1.7 christos to trusted sources.
1697 1.1.1.7 christos Monitor your ntpd instances.
1698 1.1.1.7 christos Credit: This weakness was discovered by Aleksandar Nikolic of Cisco Talos.
1699 1.1.1.7 christos
1700 1.1.1.7 christos * memory corruption in password store
1701 1.1.1.7 christos
1702 1.1.1.7 christos References: Sec 2916 / CVE-2015-7849 / TALOS-CAN-0054
1703 1.1.1.7 christos 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
1704 1.1.1.7 christos CVSS: (AV:N/AC:H/Au:M/C:N/I:C/A:C) Base Score: 6.8, worst case
1705 1.1.1.7 christos Summary: If ntpd is configured to allow remote configuration, and if
1706 1.1.1.7 christos the (possibly spoofed) source IP address is allowed to send
1707 1.1.1.7 christos remote configuration requests, and if the attacker knows the
1708 1.1.1.7 christos remote configuration password or if ntpd was configured to
1709 1.1.1.7 christos disable authentication, then an attacker can send a set of
1710 1.1.1.7 christos packets to ntpd that may cause a crash or theoretically
1711 1.1.1.7 christos perform a code injection attack.
1712 1.1.1.7 christos Mitigation:
1713 1.1.1.7 christos Implement BCP-38.
1714 1.1.1.7 christos Upgrade to 4.2.8p4, or later, from the NTP Project Download
1715 1.1.1.7 christos Page or the NTP Public Services Project Download Page.
1716 1.1.1.7 christos If you are unable to upgrade, remote configuration of NTF's
1717 1.1.1.7 christos ntpd requires:
1718 1.1.1.7 christos an explicitly configured "trusted" key. Only configure
1719 1.1.1.7 christos this if you need it.
1720 1.1.1.7 christos access from a permitted IP address. You choose the IPs.
1721 1.1.1.7 christos authentication. Don't disable it. Practice secure key safety.
1722 1.1.1.7 christos Monitor your ntpd instances.
1723 1.1.1.7 christos Credit: This weakness was discovered by Yves Younan of Cisco Talos.
1724 1.1.1.7 christos
1725 1.1.1.7 christos * Infinite loop if extended logging enabled and the logfile and
1726 1.1.1.7 christos keyfile are the same.
1727 1.1.1.7 christos
1728 1.1.1.7 christos References: Sec 2917 / CVE-2015-7850 / TALOS-CAN-0055
1729 1.1.1.7 christos Affects: All ntp-4 releases up to, but not including 4.2.8p4,
1730 1.1.1.7 christos and 4.3.0 up to, but not including 4.3.77
1731 1.1.1.7 christos CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6, worst case
1732 1.1.1.7 christos Summary: If ntpd is configured to allow remote configuration, and if
1733 1.1.1.7 christos the (possibly spoofed) source IP address is allowed to send
1734 1.1.1.7 christos remote configuration requests, and if the attacker knows the
1735 1.1.1.7 christos remote configuration password or if ntpd was configured to
1736 1.1.1.7 christos disable authentication, then an attacker can send a set of
1737 1.1.1.7 christos packets to ntpd that will cause it to crash and/or create a
1738 1.1.1.7 christos potentially huge log file. Specifically, the attacker could
1739 1.1.1.7 christos enable extended logging, point the key file at the log file,
1740 1.1.1.7 christos and cause what amounts to an infinite loop.
1741 1.1.1.7 christos Mitigation:
1742 1.1.1.7 christos Implement BCP-38.
1743 1.1.1.7 christos Upgrade to 4.2.8p4, or later, from the NTP Project Download
1744 1.1.1.7 christos Page or the NTP Public Services Project Download Page.
1745 1.1.1.7 christos If you are unable to upgrade, remote configuration of NTF's ntpd
1746 1.1.1.7 christos requires:
1747 1.1.1.7 christos an explicitly configured "trusted" key. Only configure this
1748 1.1.1.7 christos if you need it.
1749 1.1.1.7 christos access from a permitted IP address. You choose the IPs.
1750 1.1.1.7 christos authentication. Don't disable it. Practice secure key safety.
1751 1.1.1.7 christos Monitor your ntpd instances.
1752 1.1.1.7 christos Credit: This weakness was discovered by Yves Younan of Cisco Talos.
1753 1.1.1.7 christos
1754 1.1.1.7 christos * Potential path traversal vulnerability in the config file saving of
1755 1.1.1.7 christos ntpd on VMS.
1756 1.1.1.7 christos
1757 1.1.1.7 christos References: Sec 2918 / CVE-2015-7851 / TALOS-CAN-0062
1758 1.1.1.7 christos Affects: All ntp-4 releases running under VMS up to, but not
1759 1.1.1.7 christos including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77
1760 1.1.1.7 christos CVSS: (AV:N/AC:H/Au:M/C:N/I:P/A:C) Base Score: 5.2, worst case
1761 1.1.1.7 christos Summary: If ntpd is configured to allow remote configuration, and if
1762 1.1.1.7 christos the (possibly spoofed) IP address is allowed to send remote
1763 1.1.1.7 christos configuration requests, and if the attacker knows the remote
1764 1.1.1.7 christos configuration password or if ntpd was configured to disable
1765 1.1.1.7 christos authentication, then an attacker can send a set of packets to
1766 1.1.1.7 christos ntpd that may cause ntpd to overwrite files.
1767 1.1.1.7 christos Mitigation:
1768 1.1.1.7 christos Implement BCP-38.
1769 1.1.1.7 christos Upgrade to 4.2.8p4, or later, from the NTP Project Download
1770 1.1.1.7 christos Page or the NTP Public Services Project Download Page.
1771 1.1.1.7 christos If you are unable to upgrade, remote configuration of NTF's ntpd
1772 1.1.1.7 christos requires:
1773 1.1.1.7 christos an explicitly configured "trusted" key. Only configure
1774 1.1.1.7 christos this if you need it.
1775 1.1.1.7 christos access from permitted IP addresses. You choose the IPs.
1776 1.1.1.7 christos authentication. Don't disable it. Practice key security safety.
1777 1.1.1.7 christos Monitor your ntpd instances.
1778 1.1.1.7 christos Credit: This weakness was discovered by Yves Younan of Cisco Talos.
1779 1.1.1.7 christos
1780 1.1.1.7 christos * ntpq atoascii() potential memory corruption
1781 1.1.1.7 christos
1782 1.1.1.7 christos References: Sec 2919 / CVE-2015-7852 / TALOS-CAN-0063
1783 1.1.1.7 christos Affects: All ntp-4 releases running up to, but not including 4.2.8p4,
1784 1.1.1.7 christos and 4.3.0 up to, but not including 4.3.77
1785 1.1.1.7 christos CVSS: (AV:N/AC:H/Au:N/C:N/I:P/A:P) Base Score: 4.0, worst case
1786 1.1.1.7 christos Summary: If an attacker can figure out the precise moment that ntpq
1787 1.1.1.7 christos is listening for data and the port number it is listening on or
1788 1.1.1.7 christos if the attacker can provide a malicious instance ntpd that
1789 1.1.1.7 christos victims will connect to then an attacker can send a set of
1790 1.1.1.7 christos crafted mode 6 response packets that, if received by ntpq,
1791 1.1.1.7 christos can cause ntpq to crash.
1792 1.1.1.7 christos Mitigation:
1793 1.1.1.7 christos Implement BCP-38.
1794 1.1.1.7 christos Upgrade to 4.2.8p4, or later, from the NTP Project Download
1795 1.1.1.7 christos Page or the NTP Public Services Project Download Page.
1796 1.1.1.7 christos If you are unable to upgrade and you run ntpq against a server
1797 1.1.1.7 christos and ntpq crashes, try again using raw mode. Build or get a
1798 1.1.1.7 christos patched ntpq and see if that fixes the problem. Report new
1799 1.1.1.7 christos bugs in ntpq or abusive servers appropriately.
1800 1.1.1.7 christos If you use ntpq in scripts, make sure ntpq does what you expect
1801 1.1.1.7 christos in your scripts.
1802 1.1.1.7 christos Credit: This weakness was discovered by Yves Younan and
1803 1.1.1.7 christos Aleksander Nikolich of Cisco Talos.
1804 1.1.1.7 christos
1805 1.1.1.7 christos * Invalid length data provided by a custom refclock driver could cause
1806 1.1.1.7 christos a buffer overflow.
1807 1.1.1.7 christos
1808 1.1.1.7 christos References: Sec 2920 / CVE-2015-7853 / TALOS-CAN-0064
1809 1.1.1.7 christos Affects: Potentially all ntp-4 releases running up to, but not
1810 1.1.1.7 christos including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77
1811 1.1.1.7 christos that have custom refclocks
1812 1.1.1.7 christos CVSS: (AV:L/AC:H/Au:M/C:C/I:C/A:C) Base Score: 0.0 usual case,
1813 1.1.1.7 christos 5.9 unusual worst case
1814 1.1.1.7 christos Summary: A negative value for the datalen parameter will overflow a
1815 1.1.1.7 christos data buffer. NTF's ntpd driver implementations always set this
1816 1.1.1.7 christos value to 0 and are therefore not vulnerable to this weakness.
1817 1.1.1.7 christos If you are running a custom refclock driver in ntpd and that
1818 1.1.1.7 christos driver supplies a negative value for datalen (no custom driver
1819 1.1.1.7 christos of even minimal competence would do this) then ntpd would
1820 1.1.1.7 christos overflow a data buffer. It is even hypothetically possible
1821 1.1.1.7 christos in this case that instead of simply crashing ntpd the attacker
1822 1.1.1.7 christos could effect a code injection attack.
1823 1.1.1.7 christos Mitigation:
1824 1.1.1.7 christos Upgrade to 4.2.8p4, or later, from the NTP Project Download
1825 1.1.1.7 christos Page or the NTP Public Services Project Download Page.
1826 1.1.1.7 christos If you are unable to upgrade:
1827 1.1.1.7 christos If you are running custom refclock drivers, make sure
1828 1.1.1.7 christos the signed datalen value is either zero or positive.
1829 1.1.1.7 christos Monitor your ntpd instances.
1830 1.1.1.7 christos Credit: This weakness was discovered by Yves Younan of Cisco Talos.
1831 1.1.1.7 christos
1832 1.1.1.7 christos * Password Length Memory Corruption Vulnerability
1833 1.1.1.7 christos
1834 1.1.1.7 christos References: Sec 2921 / CVE-2015-7854 / TALOS-CAN-0065
1835 1.1.1.7 christos Affects: All ntp-4 releases up to, but not including 4.2.8p4, and
1836 1.1.1.7 christos 4.3.0 up to, but not including 4.3.77
1837 1.1.1.7 christos CVSS: (AV:N/AC:H/Au:M/C:C/I:C/A:C) Base Score: 0.0 best case,
1838 1.1.1.7 christos 1.7 usual case, 6.8, worst case
1839 1.1.1.7 christos Summary: If ntpd is configured to allow remote configuration, and if
1840 1.1.1.7 christos the (possibly spoofed) source IP address is allowed to send
1841 1.1.1.7 christos remote configuration requests, and if the attacker knows the
1842 1.1.1.7 christos remote configuration password or if ntpd was (foolishly)
1843 1.1.1.7 christos configured to disable authentication, then an attacker can
1844 1.1.1.7 christos send a set of packets to ntpd that may cause it to crash,
1845 1.1.1.7 christos with the hypothetical possibility of a small code injection.
1846 1.1.1.7 christos Mitigation:
1847 1.1.1.7 christos Implement BCP-38.
1848 1.1.1.7 christos Upgrade to 4.2.8p4, or later, from the NTP Project Download
1849 1.1.1.7 christos Page or the NTP Public Services Project Download Page.
1850 1.1.1.7 christos If you are unable to upgrade, remote configuration of NTF's
1851 1.1.1.7 christos ntpd requires:
1852 1.1.1.7 christos an explicitly configured "trusted" key. Only configure
1853 1.1.1.7 christos this if you need it.
1854 1.1.1.7 christos access from a permitted IP address. You choose the IPs.
1855 1.1.1.7 christos authentication. Don't disable it. Practice secure key safety.
1856 1.1.1.7 christos Monitor your ntpd instances.
1857 1.1.1.7 christos Credit: This weakness was discovered by Yves Younan and
1858 1.1.1.7 christos Aleksander Nikolich of Cisco Talos.
1859 1.1.1.7 christos
1860 1.1.1.7 christos * decodenetnum() will ASSERT botch instead of returning FAIL on some
1861 1.1.1.7 christos bogus values.
1862 1.1.1.7 christos
1863 1.1.1.7 christos References: Sec 2922 / CVE-2015-7855
1864 1.1.1.7 christos Affects: All ntp-4 releases up to, but not including 4.2.8p4, and
1865 1.1.1.7 christos 4.3.0 up to, but not including 4.3.77
1866 1.1.1.7 christos CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6, worst case
1867 1.1.1.7 christos Summary: If ntpd is fed a crafted mode 6 or mode 7 packet containing
1868 1.1.1.7 christos an unusually long data value where a network address is expected,
1869 1.1.1.7 christos the decodenetnum() function will abort with an assertion failure
1870 1.1.1.7 christos instead of simply returning a failure condition.
1871 1.1.1.7 christos Mitigation:
1872 1.1.1.7 christos Implement BCP-38.
1873 1.1.1.7 christos Upgrade to 4.2.8p4, or later, from the NTP Project Download
1874 1.1.1.7 christos Page or the NTP Public Services Project Download Page.
1875 1.1.1.7 christos If you are unable to upgrade:
1876 1.1.1.7 christos mode 7 is disabled by default. Don't enable it.
1877 1.1.1.7 christos Use restrict noquery to limit who can send mode 6
1878 1.1.1.7 christos and mode 7 requests.
1879 1.1.1.7 christos Configure and use the controlkey and requestkey
1880 1.1.1.7 christos authentication directives to limit who can
1881 1.1.1.7 christos send mode 6 and mode 7 requests.
1882 1.1.1.7 christos Monitor your ntpd instances.
1883 1.1.1.7 christos Credit: This weakness was discovered by John D "Doug" Birdwell of IDA.org.
1884 1.1.1.7 christos
1885 1.1.1.7 christos * NAK to the Future: Symmetric association authentication bypass via
1886 1.1.1.7 christos crypto-NAK.
1887 1.1.1.7 christos
1888 1.1.1.7 christos References: Sec 2941 / CVE-2015-7871
1889 1.1.1.7 christos Affects: All ntp-4 releases between 4.2.5p186 up to but not including
1890 1.1.1.7 christos 4.2.8p4, and 4.3.0 up to but not including 4.3.77
1891 1.1.1.7 christos CVSS: (AV:N/AC:L/Au:N/C:N/I:P/A:P) Base Score: 6.4
1892 1.1.1.7 christos Summary: Crypto-NAK packets can be used to cause ntpd to accept time
1893 1.1.1.7 christos from unauthenticated ephemeral symmetric peers by bypassing the
1894 1.1.1.7 christos authentication required to mobilize peer associations. This
1895 1.1.1.7 christos vulnerability appears to have been introduced in ntp-4.2.5p186
1896 1.1.1.7 christos when the code handling mobilization of new passive symmetric
1897 1.1.1.7 christos associations (lines 1103-1165) was refactored.
1898 1.1.1.7 christos Mitigation:
1899 1.1.1.7 christos Implement BCP-38.
1900 1.1.1.7 christos Upgrade to 4.2.8p4, or later, from the NTP Project Download
1901 1.1.1.7 christos Page or the NTP Public Services Project Download Page.
1902 1.1.1.7 christos If you are unable to upgrade:
1903 1.1.1.7 christos Apply the patch to the bottom of the "authentic" check
1904 1.1.1.7 christos block around line 1136 of ntp_proto.c.
1905 1.1.1.7 christos Monitor your ntpd instances.
1906 1.1.1.9 christos Credit: This weakness was discovered by Matthew Van Gundy of Cisco ASIG.
1907 1.1.1.7 christos
1908 1.1.1.7 christos Backward-Incompatible changes:
1909 1.1.1.7 christos * [Bug 2817] Default on Linux is now "rlimit memlock -1".
1910 1.1.1.8 christos While the general default of 32M is still the case, under Linux
1911 1.1.1.8 christos the default value has been changed to -1 (do not lock ntpd into
1912 1.1.1.7 christos memory). A value of 0 means "lock ntpd into memory with whatever
1913 1.1.1.7 christos memory it needs." If your ntp.conf file has an explicit "rlimit memlock"
1914 1.1.1.7 christos value in it, that value will continue to be used.
1915 1.1.1.7 christos
1916 1.1.1.7 christos * [Bug 2886] Misspelling: "outlyer" should be "outlier".
1917 1.1.1.7 christos If you've written a script that looks for this case in, say, the
1918 1.1.1.7 christos output of ntpq, you probably want to change your regex matches
1919 1.1.1.7 christos from 'outlyer' to 'outl[iy]er'.
1920 1.1.1.7 christos
1921 1.1.1.7 christos New features in this release:
1922 1.1.1.7 christos * 'rlimit memlock' now has finer-grained control. A value of -1 means
1923 1.1.1.7 christos "don't lock ntpd into memore". This is the default for Linux boxes.
1924 1.1.1.7 christos A value of 0 means "lock ntpd into memory" with no limits. Otherwise
1925 1.1.1.7 christos the value is the number of megabytes of memory to lock. The default
1926 1.1.1.7 christos is 32 megabytes.
1927 1.1.1.7 christos
1928 1.1.1.7 christos * The old Google Test framework has been replaced with a new framework,
1929 1.1.1.7 christos based on http://www.throwtheswitch.org/unity/ .
1930 1.1.1.7 christos
1931 1.1.1.7 christos Bug Fixes and Improvements:
1932 1.1.1.7 christos * [Bug 2332] (reopened) Exercise thread cancellation once before dropping
1933 1.1.1.7 christos privileges and limiting resources in NTPD removes the need to link
1934 1.1.1.7 christos forcefully against 'libgcc_s' which does not always work. J.Perlinger
1935 1.1.1.7 christos * [Bug 2595] ntpdate man page quirks. Hal Murray, Harlan Stenn.
1936 1.1.1.7 christos * [Bug 2625] Deprecate flag1 in local refclock. Hal Murray, Harlan Stenn.
1937 1.1.1.7 christos * [Bug 2817] Stop locking ntpd into memory by default under Linux. H.Stenn.
1938 1.1.1.7 christos * [Bug 2821] minor build issues: fixed refclock_gpsdjson.c. perlinger (a] ntp.org
1939 1.1.1.7 christos * [Bug 2823] ntpsweep with recursive peers option doesn't work. H.Stenn.
1940 1.1.1.7 christos * [Bug 2849] Systems with more than one default route may never
1941 1.1.1.7 christos synchronize. Brian Utterback. Note that this patch might need to
1942 1.1.1.7 christos be reverted once Bug 2043 has been fixed.
1943 1.1.1.7 christos * [Bug 2864] 4.2.8p3 fails to compile on Windows. Juergen Perlinger
1944 1.1.1.7 christos * [Bug 2866] segmentation fault at initgroups(). Harlan Stenn.
1945 1.1.1.7 christos * [Bug 2867] ntpd with autokey active crashed by 'ntpq -crv'. J.Perlinger
1946 1.1.1.7 christos * [Bug 2873] libevent should not include .deps/ in the tarball. H.Stenn
1947 1.1.1.7 christos * [Bug 2874] Don't distribute generated sntp/tests/fileHandlingTest.h. H.Stenn
1948 1.1.1.7 christos * [Bug 2875] sntp/Makefile.am: Get rid of DIST_SUBDIRS. libevent must
1949 1.1.1.7 christos be configured for the distribution targets. Harlan Stenn.
1950 1.1.1.7 christos * [Bug 2883] ntpd crashes on exit with empty driftfile. Miroslav Lichvar.
1951 1.1.1.7 christos * [Bug 2886] Mis-spelling: "outlyer" should be "outlier". dave (a] horsfall.org
1952 1.1.1.7 christos * [Bug 2888] streamline calendar functions. perlinger (a] ntp.org
1953 1.1.1.7 christos * [Bug 2889] ntp-dev-4.3.67 does not build on Windows. perlinger (a] ntp.org
1954 1.1.1.7 christos * [Bug 2890] Ignore ENOBUFS on routing netlink socket. Konstantin Khlebnikov.
1955 1.1.1.7 christos * [Bug 2906] make check needs better support for pthreads. Harlan Stenn.
1956 1.1.1.7 christos * [Bug 2907] dist* build targets require our libevent/ to be enabled. HStenn.
1957 1.1.1.7 christos * [Bug 2912] no munlockall() under Windows. David Taylor, Harlan Stenn.
1958 1.1.1.7 christos * libntp/emalloc.c: Remove explicit include of stdint.h. Harlan Stenn.
1959 1.1.1.7 christos * Put Unity CPPFLAGS items in unity_config.h. Harlan Stenn.
1960 1.1.1.7 christos * tests/ntpd/g_leapsec.cpp typo fix. Harlan Stenn.
1961 1.1.1.7 christos * Phase 1 deprecation of google test in sntp/tests/. Harlan Stenn.
1962 1.1.1.7 christos * On some versions of HP-UX, inttypes.h does not include stdint.h. H.Stenn.
1963 1.1.1.7 christos * top_srcdir can change based on ntp v. sntp. Harlan Stenn.
1964 1.1.1.7 christos * sntp/tests/ function parameter list cleanup. Damir Tomi.
1965 1.1.1.7 christos * tests/libntp/ function parameter list cleanup. Damir Tomi.
1966 1.1.1.7 christos * tests/ntpd/ function parameter list cleanup. Damir Tomi.
1967 1.1.1.7 christos * sntp/unity/unity_config.h: handle stdint.h. Harlan Stenn.
1968 1.1.1.7 christos * sntp/unity/unity_internals.h: handle *INTPTR_MAX on old Solaris. H.Stenn.
1969 1.1.1.7 christos * tests/libntp/timevalops.c and timespecops.c fixed error printing. D.Tomi.
1970 1.1.1.7 christos * tests/libntp/ improvements in code and fixed error printing. Damir Tomi.
1971 1.1.1.7 christos * tests/libntp: a_md5encrypt.c, authkeys.c, buftvtots.c, calendar.c, caljulian.c,
1972 1.1.1.7 christos caltontp.c, clocktime.c, humandate.c, hextolfp.c, decodenetnum.c - fixed
1973 1.1.1.7 christos formatting; first declaration, then code (C90); deleted unnecessary comments;
1974 1.1.1.7 christos changed from sprintf to snprintf; fixed order of includes. Tomasz Flendrich
1975 1.1.1.7 christos * tests/libntp/lfpfunc.c remove unnecessary include, remove old comments,
1976 1.1.1.7 christos fix formatting, cleanup. Tomasz Flendrich
1977 1.1.1.7 christos * tests/libntp/lfptostr.c remove unnecessary include, add consts, fix formatting.
1978 1.1.1.7 christos Tomasz Flendrich
1979 1.1.1.7 christos * tests/libntp/statestr.c remove empty functions, remove unnecessary include,
1980 1.1.1.7 christos fix formatting. Tomasz Flendrich
1981 1.1.1.7 christos * tests/libntp/modetoa.c fixed formatting. Tomasz Flendrich
1982 1.1.1.7 christos * tests/libntp/msyslog.c fixed formatting. Tomasz Flendrich
1983 1.1.1.7 christos * tests/libntp/numtoa.c deleted unnecessary empty functions, fixed formatting.
1984 1.1.1.7 christos Tomasz Flendrich
1985 1.1.1.7 christos * tests/libntp/numtohost.c added const, fixed formatting. Tomasz Flendrich
1986 1.1.1.7 christos * tests/libntp/refnumtoa.c fixed formatting. Tomasz Flendrich
1987 1.1.1.7 christos * tests/libntp/ssl_init.c fixed formatting. Tomasz Flendrich
1988 1.1.1.7 christos * tests/libntp/tvtots.c fixed a bug, fixed formatting. Tomasz Flendrich
1989 1.1.1.7 christos * tests/libntp/uglydate.c removed an unnecessary include. Tomasz Flendrich
1990 1.1.1.7 christos * tests/libntp/vi64ops.c removed an unnecessary comment, fixed formatting.
1991 1.1.1.7 christos * tests/libntp/ymd3yd.c removed an empty function and an unnecessary include,
1992 1.1.1.7 christos fixed formatting. Tomasz Flendrich
1993 1.1.1.7 christos * tests/libntp/timespecops.c fixed formatting, fixed the order of includes,
1994 1.1.1.7 christos removed unnecessary comments, cleanup. Tomasz Flendrich
1995 1.1.1.7 christos * tests/libntp/timevalops.c fixed the order of includes, deleted unnecessary
1996 1.1.1.7 christos comments, cleanup. Tomasz Flendrich
1997 1.1.1.7 christos * tests/libntp/sockaddrtest.h making it agree to NTP's conventions of formatting.
1998 1.1.1.7 christos Tomasz Flendrich
1999 1.1.1.7 christos * tests/libntp/lfptest.h cleanup. Tomasz Flendrich
2000 1.1.1.7 christos * tests/libntp/test-libntp.c fix formatting. Tomasz Flendrich
2001 1.1.1.7 christos * sntp/tests/crypto.c is now using proper Unity's assertions, fixed formatting.
2002 1.1.1.7 christos Tomasz Flendrich
2003 1.1.1.7 christos * sntp/tests/kodDatabase.c added consts, deleted empty function,
2004 1.1.1.7 christos fixed formatting. Tomasz Flendrich
2005 1.1.1.7 christos * sntp/tests/kodFile.c cleanup, fixed formatting. Tomasz Flendrich
2006 1.1.1.7 christos * sntp/tests/packetHandling.c is now using proper Unity's assertions,
2007 1.1.1.7 christos fixed formatting, deleted unused variable. Tomasz Flendrich
2008 1.1.1.7 christos * sntp/tests/keyFile.c is now using proper Unity's assertions, fixed formatting.
2009 1.1.1.7 christos Tomasz Flendrich
2010 1.1.1.7 christos * sntp/tests/packetProcessing.c changed from sprintf to snprintf,
2011 1.1.1.7 christos fixed formatting. Tomasz Flendrich
2012 1.1.1.7 christos * sntp/tests/utilities.c is now using proper Unity's assertions, changed
2013 1.1.1.7 christos the order of includes, fixed formatting, removed unnecessary comments.
2014 1.1.1.7 christos Tomasz Flendrich
2015 1.1.1.7 christos * sntp/tests/sntptest.h fixed formatting. Tomasz Flendrich
2016 1.1.1.7 christos * sntp/tests/fileHandlingTest.h.in fixed a possible buffer overflow problem,
2017 1.1.1.7 christos made one function do its job, deleted unnecessary prints, fixed formatting.
2018 1.1.1.7 christos Tomasz Flendrich
2019 1.1.1.7 christos * sntp/unity/Makefile.am added a missing header. Tomasz Flendrich
2020 1.1.1.7 christos * sntp/unity/unity_config.h: Distribute it. Harlan Stenn.
2021 1.1.1.7 christos * sntp/libevent/evconfig-private.h: remove generated filefrom SCM. H.Stenn.
2022 1.1.1.7 christos * sntp/unity/Makefile.am: fix some broken paths. Harlan Stenn.
2023 1.1.1.7 christos * sntp/unity/unity.c: Clean up a printf(). Harlan Stenn.
2024 1.1.1.7 christos * Phase 1 deprecation of google test in tests/libntp/. Harlan Stenn.
2025 1.1.1.7 christos * Don't build sntp/libevent/sample/. Harlan Stenn.
2026 1.1.1.7 christos * tests/libntp/test_caltontp needs -lpthread. Harlan Stenn.
2027 1.1.1.7 christos * br-flock: --enable-local-libevent. Harlan Stenn.
2028 1.1.1.7 christos * Wrote tests for ntpd/ntp_prio_q.c. Tomasz Flendrich
2029 1.1.1.7 christos * scripts/lib/NTP/Util.pm: stratum output is version-dependent. Harlan Stenn.
2030 1.1.1.7 christos * Get rid of the NTP_ prefix on our assertion macros. Harlan Stenn.
2031 1.1.1.7 christos * Code cleanup. Harlan Stenn.
2032 1.1.1.7 christos * libntp/icom.c: Typo fix. Harlan Stenn.
2033 1.1.1.7 christos * util/ntptime.c: initialization nit. Harlan Stenn.
2034 1.1.1.7 christos * ntpd/ntp_peer.c:newpeer(): added a DEBUG_REQUIRE(srcadr). Harlan Stenn.
2035 1.1.1.7 christos * Add std_unity_tests to various Makefile.am files. Harlan Stenn.
2036 1.1.1.7 christos * ntpd/ntp_restrict.c: added a few assertions, created tests for this file.
2037 1.1.1.7 christos Tomasz Flendrich
2038 1.1.1.7 christos * Changed progname to be const in many files - now it's consistent. Tomasz
2039 1.1.1.7 christos Flendrich
2040 1.1.1.7 christos * Typo fix for GCC warning suppression. Harlan Stenn.
2041 1.1.1.7 christos * Added tests/ntpd/ntp_scanner.c test. Damir Tomi.
2042 1.1.1.7 christos * Added declarations to all Unity tests, and did minor fixes to them.
2043 1.1.1.7 christos Reduced the number of warnings by half. Damir Tomi.
2044 1.1.1.7 christos * Updated generate_test_runner.rb and updated the sntp/unity/auto directory
2045 1.1.1.7 christos with the latest Unity updates from Mark. Damir Tomi.
2046 1.1.1.7 christos * Retire google test - phase I. Harlan Stenn.
2047 1.1.1.7 christos * Unity test cleanup: move declaration of 'initializing'. Harlan Stenn.
2048 1.1.1.7 christos * Update the NEWS file. Harlan Stenn.
2049 1.1.1.7 christos * Autoconf cleanup. Harlan Stenn.
2050 1.1.1.7 christos * Unit test dist cleanup. Harlan Stenn.
2051 1.1.1.7 christos * Cleanup various test Makefile.am files. Harlan Stenn.
2052 1.1.1.7 christos * Pthread autoconf macro cleanup. Harlan Stenn.
2053 1.1.1.7 christos * Fix progname definition in unity runner scripts. Harlan Stenn.
2054 1.1.1.7 christos * Clean trailing whitespace in tests/ntpd/Makefile.am. Harlan Stenn.
2055 1.1.1.7 christos * Update the patch for bug 2817. Harlan Stenn.
2056 1.1.1.7 christos * More updates for bug 2817. Harlan Stenn.
2057 1.1.1.7 christos * Fix bugs in tests/ntpd/ntp_prio_q.c. Harlan Stenn.
2058 1.1.1.7 christos * gcc on older HPUX may need +allowdups. Harlan Stenn.
2059 1.1.1.7 christos * Adding missing MCAST protection. Harlan Stenn.
2060 1.1.1.7 christos * Disable certain test programs on certain platforms. Harlan Stenn.
2061 1.1.1.7 christos * Implement --enable-problem-tests (on by default). Harlan Stenn.
2062 1.1.1.7 christos * build system tweaks. Harlan Stenn.
2063 1.1.1.7 christos
2064 1.1.1.7 christos ---
2065 1.1.1.6 christos NTP 4.2.8p3 (Harlan Stenn <stenn (a] ntp.org>, 2015/06/29)
2066 1.1.1.6 christos
2067 1.1.1.6 christos Focus: 1 Security fix. Bug fixes and enhancements. Leap-second improvements.
2068 1.1.1.6 christos
2069 1.1.1.6 christos Severity: MEDIUM
2070 1.1.1.6 christos
2071 1.1.1.6 christos Security Fix:
2072 1.1.1.6 christos
2073 1.1.1.6 christos * [Sec 2853] Crafted remote config packet can crash some versions of
2074 1.1.1.6 christos ntpd. Aleksis Kauppinen, Juergen Perlinger, Harlan Stenn.
2075 1.1.1.6 christos
2076 1.1.1.6 christos Under specific circumstances an attacker can send a crafted packet to
2077 1.1.1.6 christos cause a vulnerable ntpd instance to crash. This requires each of the
2078 1.1.1.6 christos following to be true:
2079 1.1.1.6 christos
2080 1.1.1.6 christos 1) ntpd set up to allow remote configuration (not allowed by default), and
2081 1.1.1.6 christos 2) knowledge of the configuration password, and
2082 1.1.1.6 christos 3) access to a computer entrusted to perform remote configuration.
2083 1.1.1.6 christos
2084 1.1.1.6 christos This vulnerability is considered low-risk.
2085 1.1.1.6 christos
2086 1.1.1.6 christos New features in this release:
2087 1.1.1.6 christos
2088 1.1.1.6 christos Optional (disabled by default) support to have ntpd provide smeared
2089 1.1.1.6 christos leap second time. A specially built and configured ntpd will only
2090 1.1.1.6 christos offer smeared time in response to client packets. These response
2091 1.1.1.6 christos packets will also contain a "refid" of 254.a.b.c, where the 24 bits
2092 1.1.1.6 christos of a, b, and c encode the amount of smear in a 2:22 integer:fraction
2093 1.1.1.6 christos format. See README.leapsmear and http://bugs.ntp.org/2855 for more
2094 1.1.1.6 christos information.
2095 1.1.1.6 christos
2096 1.1.1.6 christos *IF YOU CHOOSE TO CONFIGURE NTPD TO PROVIDE LEAP SMEAR TIME*
2097 1.1.1.6 christos *BE SURE YOU DO NOT OFFER THAT TIME ON PUBLIC TIMESERVERS.*
2098 1.1.1.6 christos
2099 1.1.1.6 christos We've imported the Unity test framework, and have begun converting
2100 1.1.1.6 christos the existing google-test items to this new framework. If you want
2101 1.1.1.6 christos to write new tests or change old ones, you'll need to have ruby
2102 1.1.1.6 christos installed. You don't need ruby to run the test suite.
2103 1.1.1.6 christos
2104 1.1.1.6 christos Bug Fixes and Improvements:
2105 1.1.1.6 christos
2106 1.1.1.6 christos * CID 739725: Fix a rare resource leak in libevent/listener.c.
2107 1.1.1.6 christos * CID 1295478: Quiet a pedantic potential error from the fix for Bug 2776.
2108 1.1.1.6 christos * CID 1296235: Fix refclock_jjy.c and correcting type of the driver40-ja.html
2109 1.1.1.6 christos * CID 1269537: Clean up a line of dead code in getShmTime().
2110 1.1.1.6 christos * [Bug 1060] Buffer overruns in libparse/clk_rawdcf.c. Helge Oldach.
2111 1.1.1.6 christos * [Bug 2590] autogen-5.18.5.
2112 1.1.1.6 christos * [Bug 2612] restrict: Warn when 'monitor' can't be disabled because
2113 1.1.1.6 christos of 'limited'.
2114 1.1.1.6 christos * [Bug 2650] fix includefile processing.
2115 1.1.1.6 christos * [Bug 2745] ntpd -x steps clock on leap second
2116 1.1.1.6 christos Fixed an initial-value problem that caused misbehaviour in absence of
2117 1.1.1.6 christos any leapsecond information.
2118 1.1.1.6 christos Do leap second stepping only of the step adjustment is beyond the
2119 1.1.1.6 christos proper jump distance limit and step correction is allowed at all.
2120 1.1.1.6 christos * [Bug 2750] build for Win64
2121 1.1.1.6 christos Building for 32bit of loopback ppsapi needs def file
2122 1.1.1.6 christos * [Bug 2776] Improve ntpq's 'help keytype'.
2123 1.1.1.6 christos * [Bug 2778] Implement "apeers" ntpq command to include associd.
2124 1.1.1.6 christos * [Bug 2782] Refactor refclock_shm.c, add memory barrier protection.
2125 1.1.1.6 christos * [Bug 2792] If the IFF_RUNNING interface flag is supported then an
2126 1.1.1.6 christos interface is ignored as long as this flag is not set since the
2127 1.1.1.6 christos interface is not usable (e.g., no link).
2128 1.1.1.6 christos * [Bug 2794] Clean up kernel clock status reports.
2129 1.1.1.6 christos * [Bug 2800] refclock_true.c true_debug() can't open debug log because
2130 1.1.1.6 christos of incompatible open/fdopen parameters.
2131 1.1.1.6 christos * [Bug 2804] install-local-data assumes GNU 'find' semantics.
2132 1.1.1.6 christos * [Bug 2805] ntpd fails to join multicast group.
2133 1.1.1.6 christos * [Bug 2806] refclock_jjy.c supports the Telephone JJY.
2134 1.1.1.6 christos * [Bug 2808] GPSD_JSON driver enhancements, step 1.
2135 1.1.1.6 christos Fix crash during cleanup if GPS device not present and char device.
2136 1.1.1.6 christos Increase internal token buffer to parse all JSON data, even SKY.
2137 1.1.1.6 christos Defer logging of errors during driver init until the first unit is
2138 1.1.1.6 christos started, so the syslog is not cluttered when the driver is not used.
2139 1.1.1.6 christos Various improvements, see http://bugs.ntp.org/2808 for details.
2140 1.1.1.6 christos Changed libjsmn to a more recent version.
2141 1.1.1.6 christos * [Bug 2810] refclock_shm.c memory barrier code needs tweaks for QNX.
2142 1.1.1.6 christos * [Bug 2813] HP-UX needs -D__STDC_VERSION__=199901L and limits.h.
2143 1.1.1.6 christos * [Bug 2815] net-snmp before v5.4 has circular library dependencies.
2144 1.1.1.6 christos * [Bug 2821] Add a missing NTP_PRINTF and a missing const.
2145 1.1.1.6 christos * [Bug 2822] New leap column in sntp broke NTP::Util.pm.
2146 1.1.1.6 christos * [Bug 2824] Convert update-leap to perl. (also see 2769)
2147 1.1.1.6 christos * [Bug 2825] Quiet file installation in html/ .
2148 1.1.1.6 christos * [Bug 2830] ntpd doesn't always transfer the correct TAI offset via autokey
2149 1.1.1.6 christos NTPD transfers the current TAI (instead of an announcement) now.
2150 1.1.1.6 christos This might still needed improvement.
2151 1.1.1.6 christos Update autokey data ASAP when 'sys_tai' changes.
2152 1.1.1.6 christos Fix unit test that was broken by changes for autokey update.
2153 1.1.1.6 christos Avoid potential signature length issue and use DPRINTF where possible
2154 1.1.1.6 christos in ntp_crypto.c.
2155 1.1.1.6 christos * [Bug 2832] refclock_jjy.c supports the TDC-300.
2156 1.1.1.6 christos * [Bug 2834] Correct a broken html tag in html/refclock.html
2157 1.1.1.6 christos * [Bug 2836] DFC77 patches from Frank Kardel to make decoding more
2158 1.1.1.6 christos robust, and require 2 consecutive timestamps to be consistent.
2159 1.1.1.6 christos * [Bug 2837] Allow a configurable DSCP value.
2160 1.1.1.6 christos * [Bug 2837] add test for DSCP to ntpd/complete.conf.in
2161 1.1.1.6 christos * [Bug 2842] Glitch in ntp.conf.def documentation stanza.
2162 1.1.1.6 christos * [Bug 2842] Bug in mdoc2man.
2163 1.1.1.6 christos * [Bug 2843] make check fails on 4.3.36
2164 1.1.1.6 christos Fixed compiler warnings about numeric range overflow
2165 1.1.1.6 christos (The original topic was fixed in a byplay to bug#2830)
2166 1.1.1.6 christos * [Bug 2845] Harden memory allocation in ntpd.
2167 1.1.1.6 christos * [Bug 2852] 'make check' can't find unity.h. Hal Murray.
2168 1.1.1.6 christos * [Bug 2854] Missing brace in libntp/strdup.c. Masanari Iida.
2169 1.1.1.6 christos * [Bug 2855] Parser fix for conditional leap smear code. Harlan Stenn.
2170 1.1.1.6 christos * [Bug 2855] Report leap smear in the REFID. Harlan Stenn.
2171 1.1.1.6 christos * [Bug 2855] Implement conditional leap smear code. Martin Burnicki.
2172 1.1.1.6 christos * [Bug 2856] ntpd should wait() on terminated child processes. Paul Green.
2173 1.1.1.6 christos * [Bug 2857] Stratus VOS does not support SIGIO. Paul Green.
2174 1.1.1.6 christos * [Bug 2859] Improve raw DCF77 robustness deconding. Frank Kardel.
2175 1.1.1.6 christos * [Bug 2860] ntpq ifstats sanity check is too stringent. Frank Kardel.
2176 1.1.1.6 christos * html/drivers/driver22.html: typo fix. Harlan Stenn.
2177 1.1.1.6 christos * refidsmear test cleanup. Tomasz Flendrich.
2178 1.1.1.6 christos * refidsmear function support and tests. Harlan Stenn.
2179 1.1.1.6 christos * sntp/tests/Makefile.am: remove g_nameresolution.cpp as it tested
2180 1.1.1.6 christos something that was only in the 4.2.6 sntp. Harlan Stenn.
2181 1.1.1.6 christos * Modified tests/bug-2803/Makefile.am so it builds Unity framework tests.
2182 1.1.1.6 christos Damir Tomi
2183 1.1.1.6 christos * Modified tests/libtnp/Makefile.am so it builds Unity framework tests.
2184 1.1.1.6 christos Damir Tomi
2185 1.1.1.6 christos * Modified sntp/tests/Makefile.am so it builds Unity framework tests.
2186 1.1.1.6 christos Damir Tomi
2187 1.1.1.6 christos * tests/sandbox/smeartest.c: Harlan Stenn, Damir Tomic, Juergen Perlinger.
2188 1.1.1.6 christos * Converted from gtest to Unity: tests/bug-2803/. Damir Tomi
2189 1.1.1.6 christos * Converted from gtest to Unity: tests/libntp/ a_md5encrypt, atoint.c,
2190 1.1.1.6 christos atouint.c, authkeys.c, buftvtots.c, calendar.c, caljulian.c,
2191 1.1.1.6 christos calyearstart.c, clocktime.c, hextoint.c, lfpfunc.c, modetoa.c,
2192 1.1.1.6 christos numtoa.c, numtohost.c, refnumtoa.c, ssl_init.c, statestr.c,
2193 1.1.1.6 christos timespecops.c, timevalops.c, uglydate.c, vi64ops.c, ymd2yd.c.
2194 1.1.1.6 christos Damir Tomi
2195 1.1.1.6 christos * Converted from gtest to Unity: sntp/tests/ kodDatabase.c, kodFile.c,
2196 1.1.1.6 christos networking.c, keyFile.c, utilities.cpp, sntptest.h,
2197 1.1.1.6 christos fileHandlingTest.h. Damir Tomi
2198 1.1.1.6 christos * Initial support for experimental leap smear code. Harlan Stenn.
2199 1.1.1.6 christos * Fixes to sntp/tests/fileHandlingTest.h.in. Harlan Stenn.
2200 1.1.1.6 christos * Report select() debug messages at debug level 3 now.
2201 1.1.1.6 christos * sntp/scripts/genLocInfo: treat raspbian as debian.
2202 1.1.1.6 christos * Unity test framework fixes.
2203 1.1.1.6 christos ** Requires ruby for changes to tests.
2204 1.1.1.6 christos * Initial support for PACKAGE_VERSION tests.
2205 1.1.1.6 christos * sntp/libpkgver belongs in EXTRA_DIST, not DIST_SUBDIRS.
2206 1.1.1.6 christos * tests/bug-2803/Makefile.am must distribute bug-2803.h.
2207 1.1.1.6 christos * Add an assert to the ntpq ifstats code.
2208 1.1.1.6 christos * Clean up the RLIMIT_STACK code.
2209 1.1.1.6 christos * Improve the ntpq documentation around the controlkey keyid.
2210 1.1.1.6 christos * ntpq.c cleanup.
2211 1.1.1.6 christos * Windows port build cleanup.
2212 1.1.1.6 christos
2213 1.1.1.6 christos ---
2214 1.1.1.6 christos NTP 4.2.8p2 (Harlan Stenn <stenn (a] ntp.org>, 2015/04/07)
2215 1.1.1.5 christos
2216 1.1.1.5 christos Focus: Security and Bug fixes, enhancements.
2217 1.1.1.5 christos
2218 1.1.1.5 christos Severity: MEDIUM
2219 1.1.1.5 christos
2220 1.1.1.5 christos In addition to bug fixes and enhancements, this release fixes the
2221 1.1.1.5 christos following medium-severity vulnerabilities involving private key
2222 1.1.1.5 christos authentication:
2223 1.1.1.5 christos
2224 1.1.1.5 christos * [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto.
2225 1.1.1.5 christos
2226 1.1.1.5 christos References: Sec 2779 / CVE-2015-1798 / VU#374268
2227 1.1.1.5 christos Affects: All NTP4 releases starting with ntp-4.2.5p99 up to but not
2228 1.1.1.5 christos including ntp-4.2.8p2 where the installation uses symmetric keys
2229 1.1.1.5 christos to authenticate remote associations.
2230 1.1.1.5 christos CVSS: (AV:A/AC:M/Au:N/C:P/I:P/A:P) Base Score: 5.4
2231 1.1.1.5 christos Date Resolved: Stable (4.2.8p2) 07 Apr 2015
2232 1.1.1.5 christos Summary: When ntpd is configured to use a symmetric key to authenticate
2233 1.1.1.5 christos a remote NTP server/peer, it checks if the NTP message
2234 1.1.1.5 christos authentication code (MAC) in received packets is valid, but not if
2235 1.1.1.5 christos there actually is any MAC included. Packets without a MAC are
2236 1.1.1.5 christos accepted as if they had a valid MAC. This allows a MITM attacker to
2237 1.1.1.5 christos send false packets that are accepted by the client/peer without
2238 1.1.1.5 christos having to know the symmetric key. The attacker needs to know the
2239 1.1.1.5 christos transmit timestamp of the client to match it in the forged reply
2240 1.1.1.5 christos and the false reply needs to reach the client before the genuine
2241 1.1.1.5 christos reply from the server. The attacker doesn't necessarily need to be
2242 1.1.1.5 christos relaying the packets between the client and the server.
2243 1.1.1.5 christos
2244 1.1.1.5 christos Authentication using autokey doesn't have this problem as there is
2245 1.1.1.5 christos a check that requires the key ID to be larger than NTP_MAXKEY,
2246 1.1.1.5 christos which fails for packets without a MAC.
2247 1.1.1.5 christos Mitigation:
2248 1.1.1.5 christos Upgrade to 4.2.8p2, or later, from the NTP Project Download Page
2249 1.1.1.5 christos or the NTP Public Services Project Download Page
2250 1.1.1.5 christos Configure ntpd with enough time sources and monitor it properly.
2251 1.1.1.5 christos Credit: This issue was discovered by Miroslav Lichvar, of Red Hat.
2252 1.1.1.5 christos
2253 1.1.1.5 christos * [Sec 2781] Authentication doesn't protect symmetric associations against
2254 1.1.1.5 christos DoS attacks.
2255 1.1.1.5 christos
2256 1.1.1.5 christos References: Sec 2781 / CVE-2015-1799 / VU#374268
2257 1.1.1.5 christos Affects: All NTP releases starting with at least xntp3.3wy up to but
2258 1.1.1.5 christos not including ntp-4.2.8p2 where the installation uses symmetric
2259 1.1.1.5 christos key authentication.
2260 1.1.1.5 christos CVSS: (AV:A/AC:M/Au:N/C:P/I:P/A:P) Base Score: 5.4
2261 1.1.1.5 christos Note: the CVSS base Score for this issue could be 4.3 or lower, and
2262 1.1.1.5 christos it could be higher than 5.4.
2263 1.1.1.5 christos Date Resolved: Stable (4.2.8p2) 07 Apr 2015
2264 1.1.1.5 christos Summary: An attacker knowing that NTP hosts A and B are peering with
2265 1.1.1.5 christos each other (symmetric association) can send a packet to host A
2266 1.1.1.5 christos with source address of B which will set the NTP state variables
2267 1.1.1.5 christos on A to the values sent by the attacker. Host A will then send
2268 1.1.1.5 christos on its next poll to B a packet with originate timestamp that
2269 1.1.1.5 christos doesn't match the transmit timestamp of B and the packet will
2270 1.1.1.5 christos be dropped. If the attacker does this periodically for both
2271 1.1.1.5 christos hosts, they won't be able to synchronize to each other. This is
2272 1.1.1.5 christos a known denial-of-service attack, described at
2273 1.1.1.5 christos https://www.eecis.udel.edu/~mills/onwire.html .
2274 1.1.1.5 christos
2275 1.1.1.5 christos According to the document the NTP authentication is supposed to
2276 1.1.1.5 christos protect symmetric associations against this attack, but that
2277 1.1.1.5 christos doesn't seem to be the case. The state variables are updated even
2278 1.1.1.5 christos when authentication fails and the peers are sending packets with
2279 1.1.1.5 christos originate timestamps that don't match the transmit timestamps on
2280 1.1.1.5 christos the receiving side.
2281 1.1.1.5 christos
2282 1.1.1.5 christos This seems to be a very old problem, dating back to at least
2283 1.1.1.5 christos xntp3.3wy. It's also in the NTPv3 (RFC 1305) and NTPv4 (RFC 5905)
2284 1.1.1.5 christos specifications, so other NTP implementations with support for
2285 1.1.1.5 christos symmetric associations and authentication may be vulnerable too.
2286 1.1.1.5 christos An update to the NTP RFC to correct this error is in-process.
2287 1.1.1.5 christos Mitigation:
2288 1.1.1.5 christos Upgrade to 4.2.8p2, or later, from the NTP Project Download Page
2289 1.1.1.5 christos or the NTP Public Services Project Download Page
2290 1.1.1.5 christos Note that for users of autokey, this specific style of MITM attack
2291 1.1.1.5 christos is simply a long-known potential problem.
2292 1.1.1.5 christos Configure ntpd with appropriate time sources and monitor ntpd.
2293 1.1.1.5 christos Alert your staff if problems are detected.
2294 1.1.1.5 christos Credit: This issue was discovered by Miroslav Lichvar, of Red Hat.
2295 1.1.1.5 christos
2296 1.1.1.5 christos * New script: update-leap
2297 1.1.1.5 christos The update-leap script will verify and if necessary, update the
2298 1.1.1.5 christos leap-second definition file.
2299 1.1.1.5 christos It requires the following commands in order to work:
2300 1.1.1.5 christos
2301 1.1.1.5 christos wget logger tr sed shasum
2302 1.1.1.5 christos
2303 1.1.1.5 christos Some may choose to run this from cron. It needs more portability testing.
2304 1.1.1.5 christos
2305 1.1.1.5 christos Bug Fixes and Improvements:
2306 1.1.1.5 christos
2307 1.1.1.5 christos * [Bug 1787] DCF77's formerly "antenna" bit is "call bit" since 2003.
2308 1.1.1.5 christos * [Bug 1960] setsockopt IPV6_MULTICAST_IF: Invalid argument.
2309 1.1.1.5 christos * [Bug 2346] "graceful termination" signals do not do peer cleanup.
2310 1.1.1.5 christos * [Bug 2728] See if C99-style structure initialization works.
2311 1.1.1.5 christos * [Bug 2747] Upgrade libevent to 2.1.5-beta.
2312 1.1.1.5 christos * [Bug 2749] ntp/lib/NTP/Util.pm needs update for ntpq -w, IPv6, .POOL. .
2313 1.1.1.5 christos * [Bug 2751] jitter.h has stale copies of l_fp macros.
2314 1.1.1.5 christos * [Bug 2756] ntpd hangs in startup with gcc 3.3.5 on ARM.
2315 1.1.1.5 christos * [Bug 2757] Quiet compiler warnings.
2316 1.1.1.5 christos * [Bug 2759] Expose nonvolatile/clk_wander_threshold to ntpq.
2317 1.1.1.5 christos * [Bug 2763] Allow different thresholds for forward and backward steps.
2318 1.1.1.5 christos * [Bug 2766] ntp-keygen output files should not be world-readable.
2319 1.1.1.5 christos * [Bug 2767] ntp-keygen -M should symlink to ntp.keys.
2320 1.1.1.5 christos * [Bug 2771] nonvolatile value is documented in wrong units.
2321 1.1.1.5 christos * [Bug 2773] Early leap announcement from Palisade/Thunderbolt
2322 1.1.1.5 christos * [Bug 2774] Unreasonably verbose printout - leap pending/warning
2323 1.1.1.5 christos * [Bug 2775] ntp-keygen.c fails to compile under Windows.
2324 1.1.1.5 christos * [Bug 2777] Fixed loops and decoding of Meinberg GPS satellite info.
2325 1.1.1.5 christos Removed non-ASCII characters from some copyright comments.
2326 1.1.1.5 christos Removed trailing whitespace.
2327 1.1.1.5 christos Updated definitions for Meinberg clocks from current Meinberg header files.
2328 1.1.1.5 christos Now use C99 fixed-width types and avoid non-ASCII characters in comments.
2329 1.1.1.5 christos Account for updated definitions pulled from Meinberg header files.
2330 1.1.1.5 christos Updated comments on Meinberg GPS receivers which are not only called GPS16x.
2331 1.1.1.5 christos Replaced some constant numbers by defines from ntp_calendar.h
2332 1.1.1.5 christos Modified creation of parse-specific variables for Meinberg devices
2333 1.1.1.5 christos in gps16x_message().
2334 1.1.1.5 christos Reworked mk_utcinfo() to avoid printing of ambiguous leap second dates.
2335 1.1.1.5 christos Modified mbg_tm_str() which now expexts an additional parameter controlling
2336 1.1.1.5 christos if the time status shall be printed.
2337 1.1.1.5 christos * [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto.
2338 1.1.1.5 christos * [Sec 2781] Authentication doesn't protect symmetric associations against
2339 1.1.1.5 christos DoS attacks.
2340 1.1.1.5 christos * [Bug 2783] Quiet autoconf warnings about missing AC_LANG_SOURCE.
2341 1.1.1.5 christos * [Bug 2789] Quiet compiler warnings from libevent.
2342 1.1.1.5 christos * [Bug 2790] If ntpd sets the Windows MM timer highest resolution
2343 1.1.1.5 christos pause briefly before measuring system clock precision to yield
2344 1.1.1.5 christos correct results.
2345 1.1.1.5 christos * Comment from Juergen Perlinger in ntp_calendar.c to make the code clearer.
2346 1.1.1.5 christos * Use predefined function types for parse driver functions
2347 1.1.1.5 christos used to set up function pointers.
2348 1.1.1.5 christos Account for changed prototype of parse_inp_fnc_t functions.
2349 1.1.1.5 christos Cast parse conversion results to appropriate types to avoid
2350 1.1.1.5 christos compiler warnings.
2351 1.1.1.5 christos Let ioctl() for Windows accept a (void *) to avoid compiler warnings
2352 1.1.1.5 christos when called with pointers to different types.
2353 1.1.1.5 christos
2354 1.1.1.5 christos ---
2355 1.1.1.5 christos NTP 4.2.8p1 (Harlan Stenn <stenn (a] ntp.org>, 2015/02/04)
2356 1.1.1.5 christos
2357 1.1.1.5 christos Focus: Security and Bug fixes, enhancements.
2358 1.1.1.5 christos
2359 1.1.1.5 christos Severity: HIGH
2360 1.1.1.5 christos
2361 1.1.1.5 christos In addition to bug fixes and enhancements, this release fixes the
2362 1.1.1.5 christos following high-severity vulnerabilities:
2363 1.1.1.5 christos
2364 1.1.1.5 christos * vallen is not validated in several places in ntp_crypto.c, leading
2365 1.1.1.5 christos to a potential information leak or possibly a crash
2366 1.1.1.5 christos
2367 1.1.1.5 christos References: Sec 2671 / CVE-2014-9297 / VU#852879
2368 1.1.1.5 christos Affects: All NTP4 releases before 4.2.8p1 that are running autokey.
2369 1.1.1.5 christos CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
2370 1.1.1.5 christos Date Resolved: Stable (4.2.8p1) 04 Feb 2015
2371 1.1.1.5 christos Summary: The vallen packet value is not validated in several code
2372 1.1.1.5 christos paths in ntp_crypto.c which can lead to information leakage
2373 1.1.1.5 christos or perhaps a crash of the ntpd process.
2374 1.1.1.5 christos Mitigation - any of:
2375 1.1.1.5 christos Upgrade to 4.2.8p1, or later, from the NTP Project Download Page
2376 1.1.1.5 christos or the NTP Public Services Project Download Page.
2377 1.1.1.5 christos Disable Autokey Authentication by removing, or commenting out,
2378 1.1.1.5 christos all configuration directives beginning with the "crypto"
2379 1.1.1.5 christos keyword in your ntp.conf file.
2380 1.1.1.5 christos Credit: This vulnerability was discovered by Stephen Roettger of the
2381 1.1.1.5 christos Google Security Team, with additional cases found by Sebastian
2382 1.1.1.5 christos Krahmer of the SUSE Security Team and Harlan Stenn of Network
2383 1.1.1.5 christos Time Foundation.
2384 1.1.1.5 christos
2385 1.1.1.5 christos * ::1 can be spoofed on some OSes, so ACLs based on IPv6 ::1 addresses
2386 1.1.1.5 christos can be bypassed.
2387 1.1.1.5 christos
2388 1.1.1.5 christos References: Sec 2672 / CVE-2014-9298 / VU#852879
2389 1.1.1.5 christos Affects: All NTP4 releases before 4.2.8p1, under at least some
2390 1.1.1.5 christos versions of MacOS and Linux. *BSD has not been seen to be vulnerable.
2391 1.1.1.5 christos CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:C) Base Score: 9
2392 1.1.1.5 christos Date Resolved: Stable (4.2.8p1) 04 Feb 2014
2393 1.1.1.5 christos Summary: While available kernels will prevent 127.0.0.1 addresses
2394 1.1.1.5 christos from "appearing" on non-localhost IPv4 interfaces, some kernels
2395 1.1.1.5 christos do not offer the same protection for ::1 source addresses on
2396 1.1.1.5 christos IPv6 interfaces. Since NTP's access control is based on source
2397 1.1.1.5 christos address and localhost addresses generally have no restrictions,
2398 1.1.1.5 christos an attacker can send malicious control and configuration packets
2399 1.1.1.5 christos by spoofing ::1 addresses from the outside. Note Well: This is
2400 1.1.1.5 christos not really a bug in NTP, it's a problem with some OSes. If you
2401 1.1.1.5 christos have one of these OSes where ::1 can be spoofed, ALL ::1 -based
2402 1.1.1.5 christos ACL restrictions on any application can be bypassed!
2403 1.1.1.5 christos Mitigation:
2404 1.1.1.5 christos Upgrade to 4.2.8p1, or later, from the NTP Project Download Page
2405 1.1.1.5 christos or the NTP Public Services Project Download Page
2406 1.1.1.5 christos Install firewall rules to block packets claiming to come from
2407 1.1.1.5 christos ::1 from inappropriate network interfaces.
2408 1.1.1.5 christos Credit: This vulnerability was discovered by Stephen Roettger of
2409 1.1.1.5 christos the Google Security Team.
2410 1.1.1.5 christos
2411 1.1.1.5 christos Additionally, over 30 bugfixes and improvements were made to the codebase.
2412 1.1.1.5 christos See the ChangeLog for more information.
2413 1.1.1.5 christos
2414 1.1.1.5 christos ---
2415 1.1.1.4 christos NTP 4.2.8 (Harlan Stenn <stenn (a] ntp.org>, 2014/12/18)
2416 1.1.1.4 christos
2417 1.1.1.4 christos Focus: Security and Bug fixes, enhancements.
2418 1.1.1.4 christos
2419 1.1.1.4 christos Severity: HIGH
2420 1.1.1.4 christos
2421 1.1.1.4 christos In addition to bug fixes and enhancements, this release fixes the
2422 1.1.1.4 christos following high-severity vulnerabilities:
2423 1.1.1.4 christos
2424 1.1.1.5 christos ************************** vv NOTE WELL vv *****************************
2425 1.1.1.5 christos
2426 1.1.1.5 christos The vulnerabilities listed below can be significantly mitigated by
2427 1.1.1.5 christos following the BCP of putting
2428 1.1.1.5 christos
2429 1.1.1.5 christos restrict default ... noquery
2430 1.1.1.5 christos
2431 1.1.1.5 christos in the ntp.conf file. With the exception of:
2432 1.1.1.5 christos
2433 1.1.1.5 christos receive(): missing return on error
2434 1.1.1.5 christos References: Sec 2670 / CVE-2014-9296 / VU#852879
2435 1.1.1.5 christos
2436 1.1.1.5 christos below (which is a limited-risk vulnerability), none of the recent
2437 1.1.1.5 christos vulnerabilities listed below can be exploited if the source IP is
2438 1.1.1.5 christos restricted from sending a 'query'-class packet by your ntp.conf file.
2439 1.1.1.5 christos
2440 1.1.1.5 christos ************************** ^^ NOTE WELL ^^ *****************************
2441 1.1.1.5 christos
2442 1.1.1.4 christos * Weak default key in config_auth().
2443 1.1.1.4 christos
2444 1.1.1.4 christos References: [Sec 2665] / CVE-2014-9293 / VU#852879
2445 1.1.1.4 christos CVSS: (AV:N/AC:L/Au:M/C:P/I:P/A:C) Base Score: 7.3
2446 1.1.1.4 christos Vulnerable Versions: all releases prior to 4.2.7p11
2447 1.1.1.4 christos Date Resolved: 28 Jan 2010
2448 1.1.1.4 christos
2449 1.1.1.4 christos Summary: If no 'auth' key is set in the configuration file, ntpd
2450 1.1.1.4 christos would generate a random key on the fly. There were two
2451 1.1.1.4 christos problems with this: 1) the generated key was 31 bits in size,
2452 1.1.1.4 christos and 2) it used the (now weak) ntp_random() function, which was
2453 1.1.1.4 christos seeded with a 32-bit value and could only provide 32 bits of
2454 1.1.1.4 christos entropy. This was sufficient back in the late 1990s when the
2455 1.1.1.4 christos code was written. Not today.
2456 1.1.1.4 christos
2457 1.1.1.5 christos Mitigation - any of:
2458 1.1.1.5 christos - Upgrade to 4.2.7p11 or later.
2459 1.1.1.5 christos - Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
2460 1.1.1.4 christos
2461 1.1.1.4 christos Credit: This vulnerability was noticed in ntp-4.2.6 by Neel Mehta
2462 1.1.1.4 christos of the Google Security Team.
2463 1.1.1.4 christos
2464 1.1.1.4 christos * Non-cryptographic random number generator with weak seed used by
2465 1.1.1.4 christos ntp-keygen to generate symmetric keys.
2466 1.1.1.4 christos
2467 1.1.1.4 christos References: [Sec 2666] / CVE-2014-9294 / VU#852879
2468 1.1.1.4 christos CVSS: (AV:N/AC:L/Au:M/C:P/I:P/A:C) Base Score: 7.3
2469 1.1.1.4 christos Vulnerable Versions: All NTP4 releases before 4.2.7p230
2470 1.1.1.4 christos Date Resolved: Dev (4.2.7p230) 01 Nov 2011
2471 1.1.1.4 christos
2472 1.1.1.4 christos Summary: Prior to ntp-4.2.7p230 ntp-keygen used a weak seed to
2473 1.1.1.4 christos prepare a random number generator that was of good quality back
2474 1.1.1.4 christos in the late 1990s. The random numbers produced was then used to
2475 1.1.1.4 christos generate symmetric keys. In ntp-4.2.8 we use a current-technology
2476 1.1.1.4 christos cryptographic random number generator, either RAND_bytes from
2477 1.1.1.4 christos OpenSSL, or arc4random().
2478 1.1.1.4 christos
2479 1.1.1.5 christos Mitigation - any of:
2480 1.1.1.5 christos - Upgrade to 4.2.7p230 or later.
2481 1.1.1.5 christos - Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
2482 1.1.1.4 christos
2483 1.1.1.4 christos Credit: This vulnerability was discovered in ntp-4.2.6 by
2484 1.1.1.4 christos Stephen Roettger of the Google Security Team.
2485 1.1.1.4 christos
2486 1.1.1.4 christos * Buffer overflow in crypto_recv()
2487 1.1.1.4 christos
2488 1.1.1.4 christos References: Sec 2667 / CVE-2014-9295 / VU#852879
2489 1.1.1.4 christos CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
2490 1.1.1.4 christos Versions: All releases before 4.2.8
2491 1.1.1.4 christos Date Resolved: Stable (4.2.8) 18 Dec 2014
2492 1.1.1.4 christos
2493 1.1.1.4 christos Summary: When Autokey Authentication is enabled (i.e. the ntp.conf
2494 1.1.1.4 christos file contains a 'crypto pw ...' directive) a remote attacker
2495 1.1.1.4 christos can send a carefully crafted packet that can overflow a stack
2496 1.1.1.4 christos buffer and potentially allow malicious code to be executed
2497 1.1.1.4 christos with the privilege level of the ntpd process.
2498 1.1.1.4 christos
2499 1.1.1.5 christos Mitigation - any of:
2500 1.1.1.5 christos - Upgrade to 4.2.8, or later, or
2501 1.1.1.5 christos - Disable Autokey Authentication by removing, or commenting out,
2502 1.1.1.5 christos all configuration directives beginning with the crypto keyword
2503 1.1.1.5 christos in your ntp.conf file.
2504 1.1.1.4 christos
2505 1.1.1.4 christos Credit: This vulnerability was discovered by Stephen Roettger of the
2506 1.1.1.4 christos Google Security Team.
2507 1.1.1.4 christos
2508 1.1.1.4 christos * Buffer overflow in ctl_putdata()
2509 1.1.1.4 christos
2510 1.1.1.4 christos References: Sec 2668 / CVE-2014-9295 / VU#852879
2511 1.1.1.4 christos CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
2512 1.1.1.4 christos Versions: All NTP4 releases before 4.2.8
2513 1.1.1.4 christos Date Resolved: Stable (4.2.8) 18 Dec 2014
2514 1.1.1.4 christos
2515 1.1.1.4 christos Summary: A remote attacker can send a carefully crafted packet that
2516 1.1.1.4 christos can overflow a stack buffer and potentially allow malicious
2517 1.1.1.4 christos code to be executed with the privilege level of the ntpd process.
2518 1.1.1.4 christos
2519 1.1.1.5 christos Mitigation - any of:
2520 1.1.1.5 christos - Upgrade to 4.2.8, or later.
2521 1.1.1.5 christos - Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
2522 1.1.1.4 christos
2523 1.1.1.4 christos Credit: This vulnerability was discovered by Stephen Roettger of the
2524 1.1.1.4 christos Google Security Team.
2525 1.1.1.4 christos
2526 1.1.1.4 christos * Buffer overflow in configure()
2527 1.1.1.4 christos
2528 1.1.1.4 christos References: Sec 2669 / CVE-2014-9295 / VU#852879
2529 1.1.1.4 christos CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5
2530 1.1.1.4 christos Versions: All NTP4 releases before 4.2.8
2531 1.1.1.4 christos Date Resolved: Stable (4.2.8) 18 Dec 2014
2532 1.1.1.4 christos
2533 1.1.1.4 christos Summary: A remote attacker can send a carefully crafted packet that
2534 1.1.1.4 christos can overflow a stack buffer and potentially allow malicious
2535 1.1.1.4 christos code to be executed with the privilege level of the ntpd process.
2536 1.1.1.4 christos
2537 1.1.1.5 christos Mitigation - any of:
2538 1.1.1.5 christos - Upgrade to 4.2.8, or later.
2539 1.1.1.5 christos - Follow BCP and put 'restrict ... noquery' in your ntp.conf file.
2540 1.1.1.4 christos
2541 1.1.1.4 christos Credit: This vulnerability was discovered by Stephen Roettger of the
2542 1.1.1.4 christos Google Security Team.
2543 1.1.1.4 christos
2544 1.1.1.4 christos * receive(): missing return on error
2545 1.1.1.4 christos
2546 1.1.1.4 christos References: Sec 2670 / CVE-2014-9296 / VU#852879
2547 1.1.1.4 christos CVSS: (AV:N/AC:L/Au:N/C:N/I:N/A:P) Base Score: 5.0
2548 1.1.1.4 christos Versions: All NTP4 releases before 4.2.8
2549 1.1.1.4 christos Date Resolved: Stable (4.2.8) 18 Dec 2014
2550 1.1.1.4 christos
2551 1.1.1.4 christos Summary: Code in ntp_proto.c:receive() was missing a 'return;' in
2552 1.1.1.4 christos the code path where an error was detected, which meant
2553 1.1.1.4 christos processing did not stop when a specific rare error occurred.
2554 1.1.1.4 christos We haven't found a way for this bug to affect system integrity.
2555 1.1.1.4 christos If there is no way to affect system integrity the base CVSS
2556 1.1.1.4 christos score for this bug is 0. If there is one avenue through which
2557 1.1.1.4 christos system integrity can be partially affected, the base score
2558 1.1.1.4 christos becomes a 5. If system integrity can be partially affected
2559 1.1.1.4 christos via all three integrity metrics, the CVSS base score become 7.5.
2560 1.1.1.4 christos
2561 1.1.1.5 christos Mitigation - any of:
2562 1.1.1.5 christos - Upgrade to 4.2.8, or later,
2563 1.1.1.5 christos - Remove or comment out all configuration directives
2564 1.1.1.5 christos beginning with the crypto keyword in your ntp.conf file.
2565 1.1.1.4 christos
2566 1.1.1.4 christos Credit: This vulnerability was discovered by Stephen Roettger of the
2567 1.1.1.4 christos Google Security Team.
2568 1.1.1.4 christos
2569 1.1.1.4 christos See http://support.ntp.org/security for more information.
2570 1.1.1.4 christos
2571 1.1.1.4 christos New features / changes in this release:
2572 1.1.1.3 christos
2573 1.1.1.3 christos Important Changes
2574 1.1.1.3 christos
2575 1.1.1.3 christos * Internal NTP Era counters
2576 1.1.1.3 christos
2577 1.1.1.4 christos The internal counters that track the "era" (range of years) we are in
2578 1.1.1.3 christos rolls over every 136 years'. The current "era" started at the stroke of
2579 1.1.1.3 christos midnight on 1 Jan 1900, and ends just before the stroke of midnight on
2580 1.1.1.3 christos 1 Jan 2036.
2581 1.1.1.3 christos In the past, we have used the "midpoint" of the range to decide which
2582 1.1.1.3 christos era we were in. Given the longevity of some products, it became clear
2583 1.1.1.3 christos that it would be more functional to "look back" less, and "look forward"
2584 1.1.1.3 christos more. We now compile a timestamp into the ntpd executable and when we
2585 1.1.1.3 christos get a timestamp we us the "built-on" to tell us what era we are in.
2586 1.1.1.3 christos This check "looks back" 10 years, and "looks forward" 126 years.
2587 1.1.1.3 christos
2588 1.1.1.3 christos * ntpdc responses disabled by default
2589 1.1.1.3 christos
2590 1.1.1.3 christos Dave Hart writes:
2591 1.1.1.3 christos
2592 1.1.1.3 christos For a long time, ntpq and its mostly text-based mode 6 (control)
2593 1.1.1.3 christos protocol have been preferred over ntpdc and its mode 7 (private
2594 1.1.1.3 christos request) protocol for runtime queries and configuration. There has
2595 1.1.1.3 christos been a goal of deprecating ntpdc, previously held back by numerous
2596 1.1.1.3 christos capabilities exposed by ntpdc with no ntpq equivalent. I have been
2597 1.1.1.3 christos adding commands to ntpq to cover these cases, and I believe I've
2598 1.1.1.3 christos covered them all, though I've not compared command-by-command
2599 1.1.1.3 christos recently.
2600 1.1.1.3 christos
2601 1.1.1.3 christos As I've said previously, the binary mode 7 protocol involves a lot of
2602 1.1.1.3 christos hand-rolled structure layout and byte-swapping code in both ntpd and
2603 1.1.1.3 christos ntpdc which is hard to get right. As ntpd grows and changes, the
2604 1.1.1.3 christos changes are difficult to expose via ntpdc while maintaining forward
2605 1.1.1.3 christos and backward compatibility between ntpdc and ntpd. In contrast,
2606 1.1.1.3 christos ntpq's text-based, label=value approach involves more code reuse and
2607 1.1.1.3 christos allows compatible changes without extra work in most cases.
2608 1.1.1.3 christos
2609 1.1.1.3 christos Mode 7 has always been defined as vendor/implementation-specific while
2610 1.1.1.4 christos mode 6 is described in RFC 1305 and intended to be open to interoperate
2611 1.1.1.3 christos with other implementations. There is an early draft of an updated
2612 1.1.1.3 christos mode 6 description that likely will join the other NTPv4 RFCs
2613 1.1.1.3 christos eventually. (http://tools.ietf.org/html/draft-odonoghue-ntpv4-control-01)
2614 1.1.1.3 christos
2615 1.1.1.3 christos For these reasons, ntpd 4.2.7p230 by default disables processing of
2616 1.1.1.3 christos ntpdc queries, reducing ntpd's attack surface and functionally
2617 1.1.1.3 christos deprecating ntpdc. If you are in the habit of using ntpdc for certain
2618 1.1.1.3 christos operations, please try the ntpq equivalent. If there's no equivalent,
2619 1.1.1.3 christos please open a bug report at http://bugs.ntp.org./
2620 1.1.1.3 christos
2621 1.1.1.4 christos In addition to the above, over 1100 issues have been resolved between
2622 1.1.1.4 christos the 4.2.6 branch and 4.2.8. The ChangeLog file in the distribution
2623 1.1.1.4 christos lists these.
2624 1.1.1.4 christos
2625 1.1.1.2 kardel ---
2626 1.1.1.2 kardel NTP 4.2.6p5 (Harlan Stenn <stenn (a] ntp.org>, 2011/12/24)
2627 1.1.1.2 kardel
2628 1.1.1.2 kardel Focus: Bug fixes
2629 1.1.1.2 kardel
2630 1.1.1.2 kardel Severity: Medium
2631 1.1.1.2 kardel
2632 1.1.1.2 kardel This is a recommended upgrade.
2633 1.1.1.2 kardel
2634 1.1.1.2 kardel This release updates sys_rootdisp and sys_jitter calculations to match the
2635 1.1.1.2 kardel RFC specification, fixes a potential IPv6 address matching error for the
2636 1.1.1.2 kardel "nic" and "interface" configuration directives, suppresses the creation of
2637 1.1.1.2 kardel extraneous ephemeral associations for certain broadcastclient and
2638 1.1.1.2 kardel multicastclient configurations, cleans up some ntpq display issues, and
2639 1.1.1.2 kardel includes improvements to orphan mode, minor bugs fixes and code clean-ups.
2640 1.1.1.2 kardel
2641 1.1.1.2 kardel New features / changes in this release:
2642 1.1.1.2 kardel
2643 1.1.1.2 kardel ntpd
2644 1.1.1.2 kardel
2645 1.1.1.2 kardel * Updated "nic" and "interface" IPv6 address handling to prevent
2646 1.1.1.2 kardel mismatches with localhost [::1] and wildcard [::] which resulted from
2647 1.1.1.2 kardel using the address/prefix format (e.g. fe80::/64)
2648 1.1.1.2 kardel * Fix orphan mode stratum incorrectly counting to infinity
2649 1.1.1.2 kardel * Orphan parent selection metric updated to includes missing ntohl()
2650 1.1.1.2 kardel * Non-printable stratum 16 refid no longer sent to ntp
2651 1.1.1.2 kardel * Duplicate ephemeral associations suppressed for broadcastclient and
2652 1.1.1.2 kardel multicastclient without broadcastdelay
2653 1.1.1.2 kardel * Exclude undetermined sys_refid from use in loopback TEST12
2654 1.1.1.2 kardel * Exclude MODE_SERVER responses from KoD rate limiting
2655 1.1.1.2 kardel * Include root delay in clock_update() sys_rootdisp calculations
2656 1.1.1.2 kardel * get_systime() updated to exclude sys_residual offset (which only
2657 1.1.1.2 kardel affected bits "below" sys_tick, the precision threshold)
2658 1.1.1.2 kardel * sys.peer jitter weighting corrected in sys_jitter calculation
2659 1.1.1.2 kardel
2660 1.1.1.2 kardel ntpq
2661 1.1.1.2 kardel
2662 1.1.1.2 kardel * -n option extended to include the billboard "server" column
2663 1.1.1.2 kardel * IPv6 addresses in the local column truncated to prevent overruns
2664 1.1.1.2 kardel
2665 1.1.1.2 kardel ---
2666 1.1.1.2 kardel NTP 4.2.6p4 (Harlan Stenn <stenn (a] ntp.org>, 2011/09/22)
2667 1.1.1.2 kardel
2668 1.1.1.2 kardel Focus: Bug fixes and portability improvements
2669 1.1.1.2 kardel
2670 1.1.1.2 kardel Severity: Medium
2671 1.1.1.2 kardel
2672 1.1.1.2 kardel This is a recommended upgrade.
2673 1.1.1.2 kardel
2674 1.1.1.2 kardel This release includes build infrastructure updates, code
2675 1.1.1.2 kardel clean-ups, minor bug fixes, fixes for a number of minor
2676 1.1.1.2 kardel ref-clock issues, and documentation revisions.
2677 1.1.1.2 kardel
2678 1.1.1.2 kardel Portability improvements affect AIX, HP-UX, Linux, OS X and 64-bit time_t.
2679 1.1.1.2 kardel
2680 1.1.1.2 kardel New features / changes in this release:
2681 1.1.1.2 kardel
2682 1.1.1.2 kardel Build system
2683 1.1.1.2 kardel
2684 1.1.1.2 kardel * Fix checking for struct rtattr
2685 1.1.1.2 kardel * Update config.guess and config.sub for AIX
2686 1.1.1.2 kardel * Upgrade required version of autogen and libopts for building
2687 1.1.1.2 kardel from our source code repository
2688 1.1.1.2 kardel
2689 1.1.1.2 kardel ntpd
2690 1.1.1.2 kardel
2691 1.1.1.2 kardel * Back-ported several fixes for Coverity warnings from ntp-dev
2692 1.1.1.2 kardel * Fix a rare boundary condition in UNLINK_EXPR_SLIST()
2693 1.1.1.2 kardel * Allow "logconfig =allall" configuration directive
2694 1.1.1.2 kardel * Bind tentative IPv6 addresses on Linux
2695 1.1.1.2 kardel * Correct WWVB/Spectracom driver to timestamp CR instead of LF
2696 1.1.1.2 kardel * Improved tally bit handling to prevent incorrect ntpq peer status reports
2697 1.1.1.2 kardel * Exclude the Undisciplined Local Clock and ACTS drivers from the initial
2698 1.1.1.2 kardel candidate list unless they are designated a "prefer peer"
2699 1.1.1.2 kardel * Prevent the consideration of Undisciplined Local Clock or ACTS drivers for
2700 1.1.1.2 kardel selection during the 'tos orphanwait' period
2701 1.1.1.2 kardel * Prefer an Orphan Mode Parent over the Undisciplined Local Clock or ACTS
2702 1.1.1.2 kardel drivers
2703 1.1.1.2 kardel * Improved support of the Parse Refclock trusttime flag in Meinberg mode
2704 1.1.1.2 kardel * Back-port utility routines from ntp-dev: mprintf(), emalloc_zero()
2705 1.1.1.2 kardel * Added the NTPD_TICKADJ_PPM environment variable for specifying baseline
2706 1.1.1.2 kardel clock slew on Microsoft Windows
2707 1.1.1.2 kardel * Code cleanup in libntpq
2708 1.1.1.2 kardel
2709 1.1.1.2 kardel ntpdc
2710 1.1.1.2 kardel
2711 1.1.1.2 kardel * Fix timerstats reporting
2712 1.1.1.2 kardel
2713 1.1.1.2 kardel ntpdate
2714 1.1.1.2 kardel
2715 1.1.1.2 kardel * Reduce time required to set clock
2716 1.1.1.2 kardel * Allow a timeout greater than 2 seconds
2717 1.1.1.2 kardel
2718 1.1.1.2 kardel sntp
2719 1.1.1.2 kardel
2720 1.1.1.2 kardel * Backward incompatible command-line option change:
2721 1.1.1.2 kardel -l/--filelog changed -l/--logfile (to be consistent with ntpd)
2722 1.1.1.2 kardel
2723 1.1.1.2 kardel Documentation
2724 1.1.1.2 kardel
2725 1.1.1.2 kardel * Update html2man. Fix some tags in the .html files
2726 1.1.1.2 kardel * Distribute ntp-wait.html
2727 1.1.1.2 kardel
2728 1.1.1.2 kardel ---
2729 1.1.1.2 kardel NTP 4.2.6p3 (Harlan Stenn <stenn (a] ntp.org>, 2011/01/03)
2730 1.1.1.2 kardel
2731 1.1.1.2 kardel Focus: Bug fixes and portability improvements
2732 1.1.1.2 kardel
2733 1.1.1.2 kardel Severity: Medium
2734 1.1.1.2 kardel
2735 1.1.1.2 kardel This is a recommended upgrade.
2736 1.1.1.2 kardel
2737 1.1.1.2 kardel This release includes build infrastructure updates, code
2738 1.1.1.2 kardel clean-ups, minor bug fixes, fixes for a number of minor
2739 1.1.1.2 kardel ref-clock issues, and documentation revisions.
2740 1.1.1.2 kardel
2741 1.1.1.2 kardel Portability improvements in this release affect AIX, Atari FreeMiNT,
2742 1.1.1.2 kardel FreeBSD4, Linux and Microsoft Windows.
2743 1.1.1.2 kardel
2744 1.1.1.2 kardel New features / changes in this release:
2745 1.1.1.2 kardel
2746 1.1.1.2 kardel Build system
2747 1.1.1.2 kardel * Use lsb_release to get information about Linux distributions.
2748 1.1.1.2 kardel * 'test' is in /usr/bin (instead of /bin) on some systems.
2749 1.1.1.2 kardel * Basic sanity checks for the ChangeLog file.
2750 1.1.1.2 kardel * Source certain build files with ./filename for systems without . in PATH.
2751 1.1.1.2 kardel * IRIX portability fix.
2752 1.1.1.2 kardel * Use a single copy of the "libopts" code.
2753 1.1.1.2 kardel * autogen/libopts upgrade.
2754 1.1.1.2 kardel * configure.ac m4 quoting cleanup.
2755 1.1.1.2 kardel
2756 1.1.1.2 kardel ntpd
2757 1.1.1.2 kardel * Do not bind to IN6_IFF_ANYCAST addresses.
2758 1.1.1.2 kardel * Log the reason for exiting under Windows.
2759 1.1.1.2 kardel * Multicast fixes for Windows.
2760 1.1.1.2 kardel * Interpolation fixes for Windows.
2761 1.1.1.2 kardel * IPv4 and IPv6 Multicast fixes.
2762 1.1.1.2 kardel * Manycast solicitation fixes and general repairs.
2763 1.1.1.2 kardel * JJY refclock cleanup.
2764 1.1.1.2 kardel * NMEA refclock improvements.
2765 1.1.1.2 kardel * Oncore debug message cleanup.
2766 1.1.1.2 kardel * Palisade refclock now builds under Linux.
2767 1.1.1.2 kardel * Give RAWDCF more baud rates.
2768 1.1.1.2 kardel * Support Truetime Satellite clocks under Windows.
2769 1.1.1.2 kardel * Support Arbiter 1093C Satellite clocks under Windows.
2770 1.1.1.2 kardel * Make sure that the "filegen" configuration command defaults to "enable".
2771 1.1.1.2 kardel * Range-check the status codes (plus other cleanup) in the RIPE-NCC driver.
2772 1.1.1.2 kardel * Prohibit 'includefile' directive in remote configuration command.
2773 1.1.1.2 kardel * Fix 'nic' interface bindings.
2774 1.1.1.2 kardel * Fix the way we link with openssl if openssl is installed in the base
2775 1.1.1.2 kardel system.
2776 1.1.1.2 kardel
2777 1.1.1.2 kardel ntp-keygen
2778 1.1.1.2 kardel * Fix -V coredump.
2779 1.1.1.2 kardel * OpenSSL version display cleanup.
2780 1.1.1.2 kardel
2781 1.1.1.2 kardel ntpdc
2782 1.1.1.2 kardel * Many counters should be treated as unsigned.
2783 1.1.1.2 kardel
2784 1.1.1.2 kardel ntpdate
2785 1.1.1.2 kardel * Do not ignore replies with equal receive and transmit timestamps.
2786 1.1.1.2 kardel
2787 1.1.1.2 kardel ntpq
2788 1.1.1.2 kardel * libntpq warning cleanup.
2789 1.1.1.2 kardel
2790 1.1.1.2 kardel ntpsnmpd
2791 1.1.1.2 kardel * Correct SNMP type for "precision" and "resolution".
2792 1.1.1.2 kardel * Update the MIB from the draft version to RFC-5907.
2793 1.1.1.2 kardel
2794 1.1.1.2 kardel sntp
2795 1.1.1.2 kardel * Display timezone offset when showing time for sntp in the local
2796 1.1.1.2 kardel timezone.
2797 1.1.1.2 kardel * Pay proper attention to RATE KoD packets.
2798 1.1.1.2 kardel * Fix a miscalculation of the offset.
2799 1.1.1.2 kardel * Properly parse empty lines in the key file.
2800 1.1.1.2 kardel * Logging cleanup.
2801 1.1.1.2 kardel * Use tv_usec correctly in set_time().
2802 1.1.1.2 kardel * Documentation cleanup.
2803 1.1.1.2 kardel
2804 1.1.1.2 kardel ---
2805 1.1.1.2 kardel NTP 4.2.6p2 (Harlan Stenn <stenn (a] ntp.org>, 2010/07/08)
2806 1.1.1.2 kardel
2807 1.1.1.2 kardel Focus: Bug fixes and portability improvements
2808 1.1.1.2 kardel
2809 1.1.1.2 kardel Severity: Medium
2810 1.1.1.2 kardel
2811 1.1.1.2 kardel This is a recommended upgrade.
2812 1.1.1.2 kardel
2813 1.1.1.2 kardel This release includes build infrastructure updates, code
2814 1.1.1.2 kardel clean-ups, minor bug fixes, fixes for a number of minor
2815 1.1.1.2 kardel ref-clock issues, improved KOD handling, OpenSSL related
2816 1.1.1.2 kardel updates and documentation revisions.
2817 1.1.1.2 kardel
2818 1.1.1.2 kardel Portability improvements in this release affect Irix, Linux,
2819 1.1.1.2 kardel Mac OS, Microsoft Windows, OpenBSD and QNX6
2820 1.1.1.2 kardel
2821 1.1.1.2 kardel New features / changes in this release:
2822 1.1.1.2 kardel
2823 1.1.1.2 kardel ntpd
2824 1.1.1.2 kardel * Range syntax for the trustedkey configuration directive
2825 1.1.1.2 kardel * Unified IPv4 and IPv6 restrict lists
2826 1.1.1.2 kardel
2827 1.1.1.2 kardel ntpdate
2828 1.1.1.2 kardel * Rate limiting and KOD handling
2829 1.1.1.2 kardel
2830 1.1.1.2 kardel ntpsnmpd
2831 1.1.1.2 kardel * default connection to net-snmpd via a unix-domain socket
2832 1.1.1.2 kardel * command-line 'socket name' option
2833 1.1.1.2 kardel
2834 1.1.1.2 kardel ntpq / ntpdc
2835 1.1.1.2 kardel * support for the "passwd ..." syntax
2836 1.1.1.2 kardel * key-type specific password prompts
2837 1.1.1.2 kardel
2838 1.1.1.2 kardel sntp
2839 1.1.1.2 kardel * MD5 authentication of an ntpd
2840 1.1.1.2 kardel * Broadcast and crypto
2841 1.1.1.2 kardel * OpenSSL support
2842 1.1.1.2 kardel
2843 1.1.1.2 kardel ---
2844 1.1.1.2 kardel NTP 4.2.6p1 (Harlan Stenn <stenn (a] ntp.org>, 2010/04/09)
2845 1.1.1.2 kardel
2846 1.1.1.2 kardel Focus: Bug fixes, portability fixes, and documentation improvements
2847 1.1.1.2 kardel
2848 1.1.1.2 kardel Severity: Medium
2849 1.1.1.2 kardel
2850 1.1.1.2 kardel This is a recommended upgrade.
2851 1.1.1.2 kardel
2852 1.1.1.2 kardel ---
2853 1.1.1.2 kardel NTP 4.2.6 (Harlan Stenn <stenn (a] ntp.org>, 2009/12/08)
2854 1.1.1.2 kardel
2855 1.1.1.2 kardel Focus: enhancements and bug fixes.
2856 1.1.1.2 kardel
2857 1.1.1.2 kardel ---
2858 1.1 kardel NTP 4.2.4p8 (Harlan Stenn <stenn (a] ntp.org>, 2009/12/08)
2859 1.1 kardel
2860 1.1 kardel Focus: Security Fixes
2861 1.1 kardel
2862 1.1 kardel Severity: HIGH
2863 1.1 kardel
2864 1.1 kardel This release fixes the following high-severity vulnerability:
2865 1.1 kardel
2866 1.1 kardel * [Sec 1331] DoS with mode 7 packets - CVE-2009-3563.
2867 1.1 kardel
2868 1.1 kardel See http://support.ntp.org/security for more information.
2869 1.1 kardel
2870 1.1 kardel NTP mode 7 (MODE_PRIVATE) is used by the ntpdc query and control utility.
2871 1.1 kardel In contrast, ntpq uses NTP mode 6 (MODE_CONTROL), while routine NTP time
2872 1.1 kardel transfers use modes 1 through 5. Upon receipt of an incorrect mode 7
2873 1.1 kardel request or a mode 7 error response from an address which is not listed
2874 1.1 kardel in a "restrict ... noquery" or "restrict ... ignore" statement, ntpd will
2875 1.1 kardel reply with a mode 7 error response (and log a message). In this case:
2876 1.1 kardel
2877 1.1 kardel * If an attacker spoofs the source address of ntpd host A in a
2878 1.1 kardel mode 7 response packet sent to ntpd host B, both A and B will
2879 1.1 kardel continuously send each other error responses, for as long as
2880 1.1 kardel those packets get through.
2881 1.1 kardel
2882 1.1 kardel * If an attacker spoofs an address of ntpd host A in a mode 7
2883 1.1 kardel response packet sent to ntpd host A, A will respond to itself
2884 1.1 kardel endlessly, consuming CPU and logging excessively.
2885 1.1 kardel
2886 1.1 kardel Credit for finding this vulnerability goes to Robin Park and Dmitri
2887 1.1 kardel Vinokurov of Alcatel-Lucent.
2888 1.1 kardel
2889 1.1 kardel THIS IS A STRONGLY RECOMMENDED UPGRADE.
2890 1.1 kardel
2891 1.1 kardel ---
2892 1.1 kardel ntpd now syncs to refclocks right away.
2893 1.1 kardel
2894 1.1.1.2 kardel Backward-Incompatible changes:
2895 1.1 kardel
2896 1.1 kardel ntpd no longer accepts '-v name' or '-V name' to define internal variables.
2897 1.1 kardel Use '--var name' or '--dvar name' instead. (Bug 817)
2898 1.1 kardel
2899 1.1 kardel ---
2900 1.1 kardel NTP 4.2.4p7 (Harlan Stenn <stenn (a] ntp.org>, 2009/05/04)
2901 1.1 kardel
2902 1.1 kardel Focus: Security and Bug Fixes
2903 1.1 kardel
2904 1.1 kardel Severity: HIGH
2905 1.1 kardel
2906 1.1 kardel This release fixes the following high-severity vulnerability:
2907 1.1 kardel
2908 1.1 kardel * [Sec 1151] Remote exploit if autokey is enabled. CVE-2009-1252
2909 1.1 kardel
2910 1.1 kardel See http://support.ntp.org/security for more information.
2911 1.1 kardel
2912 1.1 kardel If autokey is enabled (if ntp.conf contains a "crypto pw whatever"
2913 1.1 kardel line) then a carefully crafted packet sent to the machine will cause
2914 1.1 kardel a buffer overflow and possible execution of injected code, running
2915 1.1 kardel with the privileges of the ntpd process (often root).
2916 1.1 kardel
2917 1.1 kardel Credit for finding this vulnerability goes to Chris Ries of CMU.
2918 1.1 kardel
2919 1.1 kardel This release fixes the following low-severity vulnerabilities:
2920 1.1 kardel
2921 1.1 kardel * [Sec 1144] limited (two byte) buffer overflow in ntpq. CVE-2009-0159
2922 1.1 kardel Credit for finding this vulnerability goes to Geoff Keating of Apple.
2923 1.1 kardel
2924 1.1 kardel * [Sec 1149] use SO_EXCLUSIVEADDRUSE on Windows
2925 1.1 kardel Credit for finding this issue goes to Dave Hart.
2926 1.1 kardel
2927 1.1 kardel This release fixes a number of bugs and adds some improvements:
2928 1.1 kardel
2929 1.1 kardel * Improved logging
2930 1.1 kardel * Fix many compiler warnings
2931 1.1 kardel * Many fixes and improvements for Windows
2932 1.1 kardel * Adds support for AIX 6.1
2933 1.1 kardel * Resolves some issues under MacOS X and Solaris
2934 1.1 kardel
2935 1.1 kardel THIS IS A STRONGLY RECOMMENDED UPGRADE.
2936 1.1 kardel
2937 1.1 kardel ---
2938 1.1 kardel NTP 4.2.4p6 (Harlan Stenn <stenn (a] ntp.org>, 2009/01/07)
2939 1.1 kardel
2940 1.1 kardel Focus: Security Fix
2941 1.1 kardel
2942 1.1 kardel Severity: Low
2943 1.1 kardel
2944 1.1 kardel This release fixes oCERT.org's CVE-2009-0021, a vulnerability affecting
2945 1.1 kardel the OpenSSL library relating to the incorrect checking of the return
2946 1.1 kardel value of EVP_VerifyFinal function.
2947 1.1 kardel
2948 1.1 kardel Credit for finding this issue goes to the Google Security Team for
2949 1.1 kardel finding the original issue with OpenSSL, and to ocert.org for finding
2950 1.1 kardel the problem in NTP and telling us about it.
2951 1.1 kardel
2952 1.1 kardel This is a recommended upgrade.
2953 1.1 kardel ---
2954 1.1 kardel NTP 4.2.4p5 (Harlan Stenn <stenn (a] ntp.org>, 2008/08/17)
2955 1.1 kardel
2956 1.1 kardel Focus: Minor Bugfixes
2957 1.1 kardel
2958 1.1 kardel This release fixes a number of Windows-specific ntpd bugs and
2959 1.1 kardel platform-independent ntpdate bugs. A logging bugfix has been applied
2960 1.1 kardel to the ONCORE driver.
2961 1.1 kardel
2962 1.1 kardel The "dynamic" keyword and is now obsolete and deferred binding to local
2963 1.1 kardel interfaces is the new default. The minimum time restriction for the
2964 1.1 kardel interface update interval has been dropped.
2965 1.1 kardel
2966 1.1 kardel A number of minor build system and documentation fixes are included.
2967 1.1 kardel
2968 1.1 kardel This is a recommended upgrade for Windows.
2969 1.1 kardel
2970 1.1 kardel ---
2971 1.1 kardel NTP 4.2.4p4 (Harlan Stenn <stenn (a] ntp.org>, 2007/09/10)
2972 1.1 kardel
2973 1.1 kardel Focus: Minor Bugfixes
2974 1.1 kardel
2975 1.1 kardel This release updates certain copyright information, fixes several display
2976 1.1 kardel bugs in ntpdc, avoids SIGIO interrupting malloc(), cleans up file descriptor
2977 1.1 kardel shutdown in the parse refclock driver, removes some lint from the code,
2978 1.1 kardel stops accessing certain buffers immediately after they were freed, fixes
2979 1.1 kardel a problem with non-command-line specification of -6, and allows the loopback
2980 1.1 kardel interface to share addresses with other interfaces.
2981 1.1 kardel
2982 1.1 kardel ---
2983 1.1 kardel NTP 4.2.4p3 (Harlan Stenn <stenn (a] ntp.org>, 2007/06/29)
2984 1.1 kardel
2985 1.1 kardel Focus: Minor Bugfixes
2986 1.1 kardel
2987 1.1 kardel This release fixes a bug in Windows that made it difficult to
2988 1.1 kardel terminate ntpd under windows.
2989 1.1 kardel This is a recommended upgrade for Windows.
2990 1.1 kardel
2991 1.1 kardel ---
2992 1.1 kardel NTP 4.2.4p2 (Harlan Stenn <stenn (a] ntp.org>, 2007/06/19)
2993 1.1 kardel
2994 1.1 kardel Focus: Minor Bugfixes
2995 1.1 kardel
2996 1.1 kardel This release fixes a multicast mode authentication problem,
2997 1.1 kardel an error in NTP packet handling on Windows that could lead to
2998 1.1 kardel ntpd crashing, and several other minor bugs. Handling of
2999 1.1 kardel multicast interfaces and logging configuration were improved.
3000 1.1 kardel The required versions of autogen and libopts were incremented.
3001 1.1 kardel This is a recommended upgrade for Windows and multicast users.
3002 1.1 kardel
3003 1.1 kardel ---
3004 1.1 kardel NTP 4.2.4 (Harlan Stenn <stenn (a] ntp.org>, 2006/12/31)
3005 1.1 kardel
3006 1.1 kardel Focus: enhancements and bug fixes.
3007 1.1 kardel
3008 1.1 kardel Dynamic interface rescanning was added to simplify the use of ntpd in
3009 1.1 kardel conjunction with DHCP. GNU AutoGen is used for its command-line options
3010 1.1 kardel processing. Separate PPS devices are supported for PARSE refclocks, MD5
3011 1.1 kardel signatures are now provided for the release files. Drivers have been
3012 1.1 kardel added for some new ref-clocks and have been removed for some older
3013 1.1 kardel ref-clocks. This release also includes other improvements, documentation
3014 1.1 kardel and bug fixes.
3015 1.1 kardel
3016 1.1 kardel K&R C is no longer supported as of NTP-4.2.4. We are now aiming for ANSI
3017 1.1 kardel C support.
3018 1.1 kardel
3019 1.1 kardel ---
3020 1.1 kardel NTP 4.2.0 (Harlan Stenn <stenn (a] ntp.org>, 2003/10/15)
3021 1.1 kardel
3022 1.1 kardel Focus: enhancements and bug fixes.
3023