12b15cb3dSCy Schubert--- 2*3311ff84SXin LI 3*3311ff84SXin LINTP 4.2.8p5 4*3311ff84SXin LI 5*3311ff84SXin LIFocus: Security, Bug fixes, enhancements. 6*3311ff84SXin LI 7*3311ff84SXin LISeverity: MEDIUM 8*3311ff84SXin LI 9*3311ff84SXin LIIn addition to bug fixes and enhancements, this release fixes the 10*3311ff84SXin LIfollowing medium-severity vulnerability: 11*3311ff84SXin LI 12*3311ff84SXin LI* Small-step/big-step. Close the panic gate earlier. 13*3311ff84SXin LI References: Sec 2956, CVE-2015-5300 14*3311ff84SXin LI Affects: All ntp-4 releases up to, but not including 4.2.8p5, and 15*3311ff84SXin LI 4.3.0 up to, but not including 4.3.78 16*3311ff84SXin LI CVSS3: (AV:N/AC:H/PR:H/UI:R/S:C/C:L/I:N/A:L) Base Score: 4.0, MEDIUM 17*3311ff84SXin LI Summary: If ntpd is always started with the -g option, which is 18*3311ff84SXin LI common and against long-standing recommendation, and if at the 19*3311ff84SXin LI moment ntpd is restarted an attacker can immediately respond to 20*3311ff84SXin LI enough requests from enough sources trusted by the target, which 21*3311ff84SXin LI is difficult and not common, there is a window of opportunity 22*3311ff84SXin LI where the attacker can cause ntpd to set the time to an 23*3311ff84SXin LI arbitrary value. Similarly, if an attacker is able to respond 24*3311ff84SXin LI to enough requests from enough sources trusted by the target, 25*3311ff84SXin LI the attacker can cause ntpd to abort and restart, at which 26*3311ff84SXin LI point it can tell the target to set the time to an arbitrary 27*3311ff84SXin LI value if and only if ntpd was re-started against long-standing 28*3311ff84SXin LI recommendation with the -g flag, or if ntpd was not given the 29*3311ff84SXin LI -g flag, the attacker can move the target system's time by at 30*3311ff84SXin LI most 900 seconds' time per attack. 31*3311ff84SXin LI Mitigation: 32*3311ff84SXin LI Configure ntpd to get time from multiple sources. 33*3311ff84SXin LI Upgrade to 4.2.8p5, or later, from the NTP Project Download 34*3311ff84SXin LI Page or the NTP Public Services Project Download Page 35*3311ff84SXin LI As we've long documented, only use the -g option to ntpd in 36*3311ff84SXin LI cold-start situations. 37*3311ff84SXin LI Monitor your ntpd instances. 38*3311ff84SXin LI Credit: This weakness was discovered by Aanchal Malhotra, 39*3311ff84SXin LI Isaac E. Cohen, and Sharon Goldberg at Boston University. 40*3311ff84SXin LI 41*3311ff84SXin LI NOTE WELL: The -g flag disables the limit check on the panic_gate 42*3311ff84SXin LI in ntpd, which is 900 seconds by default. The bug identified by 43*3311ff84SXin LI the researchers at Boston University is that the panic_gate 44*3311ff84SXin LI check was only re-enabled after the first change to the system 45*3311ff84SXin LI clock that was greater than 128 milliseconds, by default. The 46*3311ff84SXin LI correct behavior is that the panic_gate check should be 47*3311ff84SXin LI re-enabled after any initial time correction. 48*3311ff84SXin LI 49*3311ff84SXin LI If an attacker is able to inject consistent but erroneous time 50*3311ff84SXin LI responses to your systems via the network or "over the air", 51*3311ff84SXin LI perhaps by spoofing radio, cellphone, or navigation satellite 52*3311ff84SXin LI transmissions, they are in a great position to affect your 53*3311ff84SXin LI system's clock. There comes a point where your very best 54*3311ff84SXin LI defenses include: 55*3311ff84SXin LI 56*3311ff84SXin LI Configure ntpd to get time from multiple sources. 57*3311ff84SXin LI Monitor your ntpd instances. 58*3311ff84SXin LI 59*3311ff84SXin LIOther fixes: 60*3311ff84SXin LI 61*3311ff84SXin LI* Coverity submission process updated from Coverity 5 to Coverity 7. 62*3311ff84SXin LI The NTP codebase has been undergoing regular Coverity scans on an 63*3311ff84SXin LI ongoing basis since 2006. As part of our recent upgrade from 64*3311ff84SXin LI Coverity 5 to Coverity 7, Coverity identified 16 nits in some of 65*3311ff84SXin LI the newly-written Unity test programs. These were fixed. 66*3311ff84SXin LI* [Bug 2829] Clean up pipe_fds in ntpd.c perlinger@ntp.org 67*3311ff84SXin LI* [Bug 2887] stratum -1 config results as showing value 99 68*3311ff84SXin LI - fudge stratum should only accept values [0..16]. perlinger@ntp.org 69*3311ff84SXin LI* [Bug 2932] Update leapsecond file info in miscopt.html. CWoodbury, HStenn. 70*3311ff84SXin LI* [Bug 2934] tests/ntpd/t-ntp_scanner.c has a magic constant wired in. HMurray 71*3311ff84SXin LI* [Bug 2944] errno is not preserved properly in ntpdate after sendto call. 72*3311ff84SXin LI - applied patch by Christos Zoulas. perlinger@ntp.org 73*3311ff84SXin LI* [Bug 2952] Peer associations broken by fix for Bug 2901/CVE-2015-7704. 74*3311ff84SXin LI* [Bug 2954] Version 4.2.8p4 crashes on startup on some OSes. 75*3311ff84SXin LI - fixed data race conditions in threaded DNS worker. perlinger@ntp.org 76*3311ff84SXin LI - limit threading warm-up to linux; FreeBSD bombs on it. perlinger@ntp.org 77*3311ff84SXin LI* [Bug 2957] 'unsigned int' vs 'size_t' format clash. perlinger@ntp.org 78*3311ff84SXin LI - accept key file only if there are no parsing errors 79*3311ff84SXin LI - fixed size_t/u_int format clash 80*3311ff84SXin LI - fixed wrong use of 'strlcpy' 81*3311ff84SXin LI* [Bug 2958] ntpq: fatal error messages need a final newline. Craig Leres. 82*3311ff84SXin LI* [Bug 2962] truncation of size_t/ptrdiff_t on 64bit targets. perlinger@ntp.org 83*3311ff84SXin LI - fixed several other warnings (cast-alignment, missing const, missing prototypes) 84*3311ff84SXin LI - promote use of 'size_t' for values that express a size 85*3311ff84SXin LI - use ptr-to-const for read-only arguments 86*3311ff84SXin LI - make sure SOCKET values are not truncated (win32-specific) 87*3311ff84SXin LI - format string fixes 88*3311ff84SXin LI* [Bug 2965] Local clock didn't work since 4.2.8p4. Martin Burnicki. 89*3311ff84SXin LI* [Bug 2967] ntpdate command suffers an assertion failure 90*3311ff84SXin LI - fixed ntp_rfc2553.c to return proper address length. perlinger@ntp.org 91*3311ff84SXin LI* [Bug 2969] Seg fault from ntpq/mrulist when looking at server with 92*3311ff84SXin LI lots of clients. perlinger@ntp.org 93*3311ff84SXin LI* [Bug 2971] ntpq bails on ^C: select fails: Interrupted system call 94*3311ff84SXin LI - changed stacked/nested handling of CTRL-C. perlinger@ntp.org 95*3311ff84SXin LI* Unity cleanup for FreeBSD-6.4. Harlan Stenn. 96*3311ff84SXin LI* Unity test cleanup. Harlan Stenn. 97*3311ff84SXin LI* Libevent autoconf pthread fixes for FreeBSD-10. Harlan Stenn. 98*3311ff84SXin LI* Header cleanup in tests/sandbox/uglydate.c. Harlan Stenn. 99*3311ff84SXin LI* Header cleanup in tests/libntp/sfptostr.c. Harlan Stenn. 100*3311ff84SXin LI* Quiet a warning from clang. Harlan Stenn. 101*3311ff84SXin LI 102*3311ff84SXin LI--- 1039034852cSGleb SmirnoffNTP 4.2.8p4 1049034852cSGleb Smirnoff 105*3311ff84SXin LIFocus: Security, Bug fixes, enhancements. 1069034852cSGleb Smirnoff 1079034852cSGleb SmirnoffSeverity: MEDIUM 1089034852cSGleb Smirnoff 1099034852cSGleb SmirnoffIn addition to bug fixes and enhancements, this release fixes the 1109034852cSGleb Smirnofffollowing 13 low- and medium-severity vulnerabilities: 1119034852cSGleb Smirnoff 1129034852cSGleb Smirnoff* Incomplete vallen (value length) checks in ntp_crypto.c, leading 1139034852cSGleb Smirnoff to potential crashes or potential code injection/information leakage. 1149034852cSGleb Smirnoff 1159034852cSGleb Smirnoff References: Sec 2899, Sec 2671, CVE-2015-7691, CVE-2015-7692, CVE-2015-7702 1169034852cSGleb Smirnoff Affects: All ntp-4 releases up to, but not including 4.2.8p4, 1179034852cSGleb Smirnoff and 4.3.0 up to, but not including 4.3.77 1189034852cSGleb Smirnoff CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6 1199034852cSGleb Smirnoff Summary: The fix for CVE-2014-9750 was incomplete in that there were 1209034852cSGleb Smirnoff certain code paths where a packet with particular autokey operations 1219034852cSGleb Smirnoff that contained malicious data was not always being completely 1229034852cSGleb Smirnoff validated. Receipt of these packets can cause ntpd to crash. 1239034852cSGleb Smirnoff Mitigation: 1249034852cSGleb Smirnoff Don't use autokey. 1259034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 1269034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page 1279034852cSGleb Smirnoff Monitor your ntpd instances. 1289034852cSGleb Smirnoff Credit: This weakness was discovered by Tenable Network Security. 1299034852cSGleb Smirnoff 1309034852cSGleb Smirnoff* Clients that receive a KoD should validate the origin timestamp field. 1319034852cSGleb Smirnoff 1329034852cSGleb Smirnoff References: Sec 2901 / CVE-2015-7704, CVE-2015-7705 1339034852cSGleb Smirnoff Affects: All ntp-4 releases up to, but not including 4.2.8p4, 1349034852cSGleb Smirnoff and 4.3.0 up to, but not including 4.3.77 1359034852cSGleb Smirnoff CVSS: (AV:N/AC:M/Au:N/C:N/I:N/A:P) Base Score: 4.3-5.0 at worst 1369034852cSGleb Smirnoff Summary: An ntpd client that honors Kiss-of-Death responses will honor 1379034852cSGleb Smirnoff KoD messages that have been forged by an attacker, causing it to 1389034852cSGleb Smirnoff delay or stop querying its servers for time updates. Also, an 1399034852cSGleb Smirnoff attacker can forge packets that claim to be from the target and 1409034852cSGleb Smirnoff send them to servers often enough that a server that implements 1419034852cSGleb Smirnoff KoD rate limiting will send the target machine a KoD response to 1429034852cSGleb Smirnoff attempt to reduce the rate of incoming packets, or it may also 1439034852cSGleb Smirnoff trigger a firewall block at the server for packets from the target 1449034852cSGleb Smirnoff machine. For either of these attacks to succeed, the attacker must 1459034852cSGleb Smirnoff know what servers the target is communicating with. An attacker 1469034852cSGleb Smirnoff can be anywhere on the Internet and can frequently learn the 1479034852cSGleb Smirnoff identity of the target's time source by sending the target a 1489034852cSGleb Smirnoff time query. 1499034852cSGleb Smirnoff Mitigation: 1509034852cSGleb Smirnoff Implement BCP-38. 1519034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download Page 1529034852cSGleb Smirnoff or the NTP Public Services Project Download Page 1539034852cSGleb Smirnoff If you can't upgrade, restrict who can query ntpd to learn who 1549034852cSGleb Smirnoff its servers are, and what IPs are allowed to ask your system 1559034852cSGleb Smirnoff for the time. This mitigation is heavy-handed. 1569034852cSGleb Smirnoff Monitor your ntpd instances. 1579034852cSGleb Smirnoff Note: 1589034852cSGleb Smirnoff 4.2.8p4 protects against the first attack. For the second attack, 1599034852cSGleb Smirnoff all we can do is warn when it is happening, which we do in 4.2.8p4. 1609034852cSGleb Smirnoff Credit: This weakness was discovered by Aanchal Malhotra, 1619034852cSGleb Smirnoff Issac E. Cohen, and Sharon Goldberg of Boston University. 1629034852cSGleb Smirnoff 1639034852cSGleb Smirnoff* configuration directives to change "pidfile" and "driftfile" should 1649034852cSGleb Smirnoff only be allowed locally. 1659034852cSGleb Smirnoff 1669034852cSGleb Smirnoff References: Sec 2902 / CVE-2015-5196 1679034852cSGleb Smirnoff Affects: All ntp-4 releases up to, but not including 4.2.8p4, 1689034852cSGleb Smirnoff and 4.3.0 up to, but not including 4.3.77 1699034852cSGleb Smirnoff CVSS: (AV:N/AC:H/Au:M/C:N/I:C/A:C) Base Score: 6.2 worst case 1709034852cSGleb Smirnoff Summary: If ntpd is configured to allow for remote configuration, 1719034852cSGleb Smirnoff and if the (possibly spoofed) source IP address is allowed to 1729034852cSGleb Smirnoff send remote configuration requests, and if the attacker knows 1739034852cSGleb Smirnoff the remote configuration password, it's possible for an attacker 1749034852cSGleb Smirnoff to use the "pidfile" or "driftfile" directives to potentially 1759034852cSGleb Smirnoff overwrite other files. 1769034852cSGleb Smirnoff Mitigation: 1779034852cSGleb Smirnoff Implement BCP-38. 1789034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 1799034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page 1809034852cSGleb Smirnoff If you cannot upgrade, don't enable remote configuration. 1819034852cSGleb Smirnoff If you must enable remote configuration and cannot upgrade, 1829034852cSGleb Smirnoff remote configuration of NTF's ntpd requires: 1839034852cSGleb Smirnoff - an explicitly configured trustedkey, and you should also 1849034852cSGleb Smirnoff configure a controlkey. 1859034852cSGleb Smirnoff - access from a permitted IP. You choose the IPs. 1869034852cSGleb Smirnoff - authentication. Don't disable it. Practice secure key safety. 1879034852cSGleb Smirnoff Monitor your ntpd instances. 1889034852cSGleb Smirnoff Credit: This weakness was discovered by Miroslav Lichvar of Red Hat. 1899034852cSGleb Smirnoff 1909034852cSGleb Smirnoff* Slow memory leak in CRYPTO_ASSOC 1919034852cSGleb Smirnoff 1929034852cSGleb Smirnoff References: Sec 2909 / CVE-2015-7701 1939034852cSGleb Smirnoff Affects: All ntp-4 releases that use autokey up to, but not 1949034852cSGleb Smirnoff including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77 1959034852cSGleb Smirnoff CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 0.0 best/usual case, 1969034852cSGleb Smirnoff 4.6 otherwise 1979034852cSGleb Smirnoff Summary: If ntpd is configured to use autokey, then an attacker can 1989034852cSGleb Smirnoff send packets to ntpd that will, after several days of ongoing 1999034852cSGleb Smirnoff attack, cause it to run out of memory. 2009034852cSGleb Smirnoff Mitigation: 2019034852cSGleb Smirnoff Don't use autokey. 2029034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 2039034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page 2049034852cSGleb Smirnoff Monitor your ntpd instances. 2059034852cSGleb Smirnoff Credit: This weakness was discovered by Tenable Network Security. 2069034852cSGleb Smirnoff 2079034852cSGleb Smirnoff* mode 7 loop counter underrun 2089034852cSGleb Smirnoff 2099034852cSGleb Smirnoff References: Sec 2913 / CVE-2015-7848 / TALOS-CAN-0052 2109034852cSGleb Smirnoff Affects: All ntp-4 releases up to, but not including 4.2.8p4, 2119034852cSGleb Smirnoff and 4.3.0 up to, but not including 4.3.77 2129034852cSGleb Smirnoff CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6 2139034852cSGleb Smirnoff Summary: If ntpd is configured to enable mode 7 packets, and if the 2149034852cSGleb Smirnoff use of mode 7 packets is not properly protected thru the use of 2159034852cSGleb Smirnoff the available mode 7 authentication and restriction mechanisms, 2169034852cSGleb Smirnoff and if the (possibly spoofed) source IP address is allowed to 2179034852cSGleb Smirnoff send mode 7 queries, then an attacker can send a crafted packet 2189034852cSGleb Smirnoff to ntpd that will cause it to crash. 2199034852cSGleb Smirnoff Mitigation: 2209034852cSGleb Smirnoff Implement BCP-38. 2219034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 2229034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page. 2239034852cSGleb Smirnoff If you are unable to upgrade: 2249034852cSGleb Smirnoff In ntp-4.2.8, mode 7 is disabled by default. Don't enable it. 2259034852cSGleb Smirnoff If you must enable mode 7: 2269034852cSGleb Smirnoff configure the use of a requestkey to control who can issue 2279034852cSGleb Smirnoff mode 7 requests. 2289034852cSGleb Smirnoff configure restrict noquery to further limit mode 7 requests 2299034852cSGleb Smirnoff to trusted sources. 2309034852cSGleb Smirnoff Monitor your ntpd instances. 2319034852cSGleb SmirnoffCredit: This weakness was discovered by Aleksandar Nikolic of Cisco Talos. 2329034852cSGleb Smirnoff 2339034852cSGleb Smirnoff* memory corruption in password store 2349034852cSGleb Smirnoff 2359034852cSGleb Smirnoff References: Sec 2916 / CVE-2015-7849 / TALOS-CAN-0054 2369034852cSGleb Smirnoff Affects: All ntp-4 releases up to, but not including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77 2379034852cSGleb Smirnoff CVSS: (AV:N/AC:H/Au:M/C:N/I:C/A:C) Base Score: 6.8, worst case 2389034852cSGleb Smirnoff Summary: If ntpd is configured to allow remote configuration, and if 2399034852cSGleb Smirnoff the (possibly spoofed) source IP address is allowed to send 2409034852cSGleb Smirnoff remote configuration requests, and if the attacker knows the 2419034852cSGleb Smirnoff remote configuration password or if ntpd was configured to 2429034852cSGleb Smirnoff disable authentication, then an attacker can send a set of 2439034852cSGleb Smirnoff packets to ntpd that may cause a crash or theoretically 2449034852cSGleb Smirnoff perform a code injection attack. 2459034852cSGleb Smirnoff Mitigation: 2469034852cSGleb Smirnoff Implement BCP-38. 2479034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 2489034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page. 2499034852cSGleb Smirnoff If you are unable to upgrade, remote configuration of NTF's 2509034852cSGleb Smirnoff ntpd requires: 2519034852cSGleb Smirnoff an explicitly configured "trusted" key. Only configure 2529034852cSGleb Smirnoff this if you need it. 2539034852cSGleb Smirnoff access from a permitted IP address. You choose the IPs. 2549034852cSGleb Smirnoff authentication. Don't disable it. Practice secure key safety. 2559034852cSGleb Smirnoff Monitor your ntpd instances. 2569034852cSGleb Smirnoff Credit: This weakness was discovered by Yves Younan of Cisco Talos. 2579034852cSGleb Smirnoff 2589034852cSGleb Smirnoff* Infinite loop if extended logging enabled and the logfile and 2599034852cSGleb Smirnoff keyfile are the same. 2609034852cSGleb Smirnoff 2619034852cSGleb Smirnoff References: Sec 2917 / CVE-2015-7850 / TALOS-CAN-0055 2629034852cSGleb Smirnoff Affects: All ntp-4 releases up to, but not including 4.2.8p4, 2639034852cSGleb Smirnoff and 4.3.0 up to, but not including 4.3.77 2649034852cSGleb Smirnoff CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6, worst case 2659034852cSGleb Smirnoff Summary: If ntpd is configured to allow remote configuration, and if 2669034852cSGleb Smirnoff the (possibly spoofed) source IP address is allowed to send 2679034852cSGleb Smirnoff remote configuration requests, and if the attacker knows the 2689034852cSGleb Smirnoff remote configuration password or if ntpd was configured to 2699034852cSGleb Smirnoff disable authentication, then an attacker can send a set of 2709034852cSGleb Smirnoff packets to ntpd that will cause it to crash and/or create a 2719034852cSGleb Smirnoff potentially huge log file. Specifically, the attacker could 2729034852cSGleb Smirnoff enable extended logging, point the key file at the log file, 2739034852cSGleb Smirnoff and cause what amounts to an infinite loop. 2749034852cSGleb Smirnoff Mitigation: 2759034852cSGleb Smirnoff Implement BCP-38. 2769034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 2779034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page. 2789034852cSGleb Smirnoff If you are unable to upgrade, remote configuration of NTF's ntpd 2799034852cSGleb Smirnoff requires: 2809034852cSGleb Smirnoff an explicitly configured "trusted" key. Only configure this 2819034852cSGleb Smirnoff if you need it. 2829034852cSGleb Smirnoff access from a permitted IP address. You choose the IPs. 2839034852cSGleb Smirnoff authentication. Don't disable it. Practice secure key safety. 2849034852cSGleb Smirnoff Monitor your ntpd instances. 2859034852cSGleb Smirnoff Credit: This weakness was discovered by Yves Younan of Cisco Talos. 2869034852cSGleb Smirnoff 2879034852cSGleb Smirnoff* Potential path traversal vulnerability in the config file saving of 2889034852cSGleb Smirnoff ntpd on VMS. 2899034852cSGleb Smirnoff 2909034852cSGleb Smirnoff References: Sec 2918 / CVE-2015-7851 / TALOS-CAN-0062 2919034852cSGleb Smirnoff Affects: All ntp-4 releases running under VMS up to, but not 2929034852cSGleb Smirnoff including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77 2939034852cSGleb Smirnoff CVSS: (AV:N/AC:H/Au:M/C:N/I:P/A:C) Base Score: 5.2, worst case 2949034852cSGleb Smirnoff Summary: If ntpd is configured to allow remote configuration, and if 2959034852cSGleb Smirnoff the (possibly spoofed) IP address is allowed to send remote 2969034852cSGleb Smirnoff configuration requests, and if the attacker knows the remote 2979034852cSGleb Smirnoff configuration password or if ntpd was configured to disable 2989034852cSGleb Smirnoff authentication, then an attacker can send a set of packets to 2999034852cSGleb Smirnoff ntpd that may cause ntpd to overwrite files. 3009034852cSGleb Smirnoff Mitigation: 3019034852cSGleb Smirnoff Implement BCP-38. 3029034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 3039034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page. 3049034852cSGleb Smirnoff If you are unable to upgrade, remote configuration of NTF's ntpd 3059034852cSGleb Smirnoff requires: 3069034852cSGleb Smirnoff an explicitly configured "trusted" key. Only configure 3079034852cSGleb Smirnoff this if you need it. 3089034852cSGleb Smirnoff access from permitted IP addresses. You choose the IPs. 3099034852cSGleb Smirnoff authentication. Don't disable it. Practice key security safety. 3109034852cSGleb Smirnoff Monitor your ntpd instances. 3119034852cSGleb Smirnoff Credit: This weakness was discovered by Yves Younan of Cisco Talos. 3129034852cSGleb Smirnoff 3139034852cSGleb Smirnoff* ntpq atoascii() potential memory corruption 3149034852cSGleb Smirnoff 3159034852cSGleb Smirnoff References: Sec 2919 / CVE-2015-7852 / TALOS-CAN-0063 3169034852cSGleb Smirnoff Affects: All ntp-4 releases running up to, but not including 4.2.8p4, 3179034852cSGleb Smirnoff and 4.3.0 up to, but not including 4.3.77 3189034852cSGleb Smirnoff CVSS: (AV:N/AC:H/Au:N/C:N/I:P/A:P) Base Score: 4.0, worst case 3199034852cSGleb Smirnoff Summary: If an attacker can figure out the precise moment that ntpq 3209034852cSGleb Smirnoff is listening for data and the port number it is listening on or 3219034852cSGleb Smirnoff if the attacker can provide a malicious instance ntpd that 3229034852cSGleb Smirnoff victims will connect to then an attacker can send a set of 3239034852cSGleb Smirnoff crafted mode 6 response packets that, if received by ntpq, 3249034852cSGleb Smirnoff can cause ntpq to crash. 3259034852cSGleb Smirnoff Mitigation: 3269034852cSGleb Smirnoff Implement BCP-38. 3279034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 3289034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page. 3299034852cSGleb Smirnoff If you are unable to upgrade and you run ntpq against a server 3309034852cSGleb Smirnoff and ntpq crashes, try again using raw mode. Build or get a 3319034852cSGleb Smirnoff patched ntpq and see if that fixes the problem. Report new 3329034852cSGleb Smirnoff bugs in ntpq or abusive servers appropriately. 3339034852cSGleb Smirnoff If you use ntpq in scripts, make sure ntpq does what you expect 3349034852cSGleb Smirnoff in your scripts. 3359034852cSGleb Smirnoff Credit: This weakness was discovered by Yves Younan and 3369034852cSGleb Smirnoff Aleksander Nikolich of Cisco Talos. 3379034852cSGleb Smirnoff 3389034852cSGleb Smirnoff* Invalid length data provided by a custom refclock driver could cause 3399034852cSGleb Smirnoff a buffer overflow. 3409034852cSGleb Smirnoff 3419034852cSGleb Smirnoff References: Sec 2920 / CVE-2015-7853 / TALOS-CAN-0064 3429034852cSGleb Smirnoff Affects: Potentially all ntp-4 releases running up to, but not 3439034852cSGleb Smirnoff including 4.2.8p4, and 4.3.0 up to, but not including 4.3.77 3449034852cSGleb Smirnoff that have custom refclocks 3459034852cSGleb Smirnoff CVSS: (AV:L/AC:H/Au:M/C:C/I:C/A:C) Base Score: 0.0 usual case, 3469034852cSGleb Smirnoff 5.9 unusual worst case 3479034852cSGleb Smirnoff Summary: A negative value for the datalen parameter will overflow a 3489034852cSGleb Smirnoff data buffer. NTF's ntpd driver implementations always set this 3499034852cSGleb Smirnoff value to 0 and are therefore not vulnerable to this weakness. 3509034852cSGleb Smirnoff If you are running a custom refclock driver in ntpd and that 3519034852cSGleb Smirnoff driver supplies a negative value for datalen (no custom driver 3529034852cSGleb Smirnoff of even minimal competence would do this) then ntpd would 3539034852cSGleb Smirnoff overflow a data buffer. It is even hypothetically possible 3549034852cSGleb Smirnoff in this case that instead of simply crashing ntpd the attacker 3559034852cSGleb Smirnoff could effect a code injection attack. 3569034852cSGleb Smirnoff Mitigation: 3579034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 3589034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page. 3599034852cSGleb Smirnoff If you are unable to upgrade: 3609034852cSGleb Smirnoff If you are running custom refclock drivers, make sure 3619034852cSGleb Smirnoff the signed datalen value is either zero or positive. 3629034852cSGleb Smirnoff Monitor your ntpd instances. 3639034852cSGleb Smirnoff Credit: This weakness was discovered by Yves Younan of Cisco Talos. 3649034852cSGleb Smirnoff 3659034852cSGleb Smirnoff* Password Length Memory Corruption Vulnerability 3669034852cSGleb Smirnoff 3679034852cSGleb Smirnoff References: Sec 2921 / CVE-2015-7854 / TALOS-CAN-0065 3689034852cSGleb Smirnoff Affects: All ntp-4 releases up to, but not including 4.2.8p4, and 3699034852cSGleb Smirnoff 4.3.0 up to, but not including 4.3.77 3709034852cSGleb Smirnoff CVSS: (AV:N/AC:H/Au:M/C:C/I:C/A:C) Base Score: 0.0 best case, 3719034852cSGleb Smirnoff 1.7 usual case, 6.8, worst case 3729034852cSGleb Smirnoff Summary: If ntpd is configured to allow remote configuration, and if 3739034852cSGleb Smirnoff the (possibly spoofed) source IP address is allowed to send 3749034852cSGleb Smirnoff remote configuration requests, and if the attacker knows the 3759034852cSGleb Smirnoff remote configuration password or if ntpd was (foolishly) 3769034852cSGleb Smirnoff configured to disable authentication, then an attacker can 3779034852cSGleb Smirnoff send a set of packets to ntpd that may cause it to crash, 3789034852cSGleb Smirnoff with the hypothetical possibility of a small code injection. 3799034852cSGleb Smirnoff Mitigation: 3809034852cSGleb Smirnoff Implement BCP-38. 3819034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 3829034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page. 3839034852cSGleb Smirnoff If you are unable to upgrade, remote configuration of NTF's 3849034852cSGleb Smirnoff ntpd requires: 3859034852cSGleb Smirnoff an explicitly configured "trusted" key. Only configure 3869034852cSGleb Smirnoff this if you need it. 3879034852cSGleb Smirnoff access from a permitted IP address. You choose the IPs. 3889034852cSGleb Smirnoff authentication. Don't disable it. Practice secure key safety. 3899034852cSGleb Smirnoff Monitor your ntpd instances. 3909034852cSGleb Smirnoff Credit: This weakness was discovered by Yves Younan and 3919034852cSGleb Smirnoff Aleksander Nikolich of Cisco Talos. 3929034852cSGleb Smirnoff 3939034852cSGleb Smirnoff* decodenetnum() will ASSERT botch instead of returning FAIL on some 3949034852cSGleb Smirnoff bogus values. 3959034852cSGleb Smirnoff 3969034852cSGleb Smirnoff References: Sec 2922 / CVE-2015-7855 3979034852cSGleb Smirnoff Affects: All ntp-4 releases up to, but not including 4.2.8p4, and 3989034852cSGleb Smirnoff 4.3.0 up to, but not including 4.3.77 3999034852cSGleb Smirnoff CVSS: (AV:N/AC:H/Au:M/C:N/I:N/A:C) Base Score: 4.6, worst case 4009034852cSGleb Smirnoff Summary: If ntpd is fed a crafted mode 6 or mode 7 packet containing 4019034852cSGleb Smirnoff an unusually long data value where a network address is expected, 4029034852cSGleb Smirnoff the decodenetnum() function will abort with an assertion failure 4039034852cSGleb Smirnoff instead of simply returning a failure condition. 4049034852cSGleb Smirnoff Mitigation: 4059034852cSGleb Smirnoff Implement BCP-38. 4069034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 4079034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page. 4089034852cSGleb Smirnoff If you are unable to upgrade: 4099034852cSGleb Smirnoff mode 7 is disabled by default. Don't enable it. 4109034852cSGleb Smirnoff Use restrict noquery to limit who can send mode 6 4119034852cSGleb Smirnoff and mode 7 requests. 4129034852cSGleb Smirnoff Configure and use the controlkey and requestkey 4139034852cSGleb Smirnoff authentication directives to limit who can 4149034852cSGleb Smirnoff send mode 6 and mode 7 requests. 4159034852cSGleb Smirnoff Monitor your ntpd instances. 4169034852cSGleb Smirnoff Credit: This weakness was discovered by John D "Doug" Birdwell of IDA.org. 4179034852cSGleb Smirnoff 4189034852cSGleb Smirnoff* NAK to the Future: Symmetric association authentication bypass via 4199034852cSGleb Smirnoff crypto-NAK. 4209034852cSGleb Smirnoff 4219034852cSGleb Smirnoff References: Sec 2941 / CVE-2015-7871 4229034852cSGleb Smirnoff Affects: All ntp-4 releases between 4.2.5p186 up to but not including 4239034852cSGleb Smirnoff 4.2.8p4, and 4.3.0 up to but not including 4.3.77 4249034852cSGleb Smirnoff CVSS: (AV:N/AC:L/Au:N/C:N/I:P/A:P) Base Score: 6.4 4259034852cSGleb Smirnoff Summary: Crypto-NAK packets can be used to cause ntpd to accept time 4269034852cSGleb Smirnoff from unauthenticated ephemeral symmetric peers by bypassing the 4279034852cSGleb Smirnoff authentication required to mobilize peer associations. This 4289034852cSGleb Smirnoff vulnerability appears to have been introduced in ntp-4.2.5p186 4299034852cSGleb Smirnoff when the code handling mobilization of new passive symmetric 4309034852cSGleb Smirnoff associations (lines 1103-1165) was refactored. 4319034852cSGleb Smirnoff Mitigation: 4329034852cSGleb Smirnoff Implement BCP-38. 4339034852cSGleb Smirnoff Upgrade to 4.2.8p4, or later, from the NTP Project Download 4349034852cSGleb Smirnoff Page or the NTP Public Services Project Download Page. 4359034852cSGleb Smirnoff If you are unable to upgrade: 4369034852cSGleb Smirnoff Apply the patch to the bottom of the "authentic" check 4379034852cSGleb Smirnoff block around line 1136 of ntp_proto.c. 4389034852cSGleb Smirnoff Monitor your ntpd instances. 4399034852cSGleb Smirnoff Credit: This weakness was discovered by Stephen Gray <stepgray@cisco.com>. 4409034852cSGleb Smirnoff 4419034852cSGleb SmirnoffBackward-Incompatible changes: 4429034852cSGleb Smirnoff* [Bug 2817] Default on Linux is now "rlimit memlock -1". 4439034852cSGleb Smirnoff While the general default of 32M is still the case, under Linux 4449034852cSGleb Smirnoff the default value has been changed to -1 (do not lock ntpd into 4459034852cSGleb Smirnoff memory). A value of 0 means "lock ntpd into memory with whatever 4469034852cSGleb Smirnoff memory it needs." If your ntp.conf file has an explicit "rlimit memlock" 4479034852cSGleb Smirnoff value in it, that value will continue to be used. 4489034852cSGleb Smirnoff 4499034852cSGleb Smirnoff* [Bug 2886] Misspelling: "outlyer" should be "outlier". 4509034852cSGleb Smirnoff If you've written a script that looks for this case in, say, the 4519034852cSGleb Smirnoff output of ntpq, you probably want to change your regex matches 4529034852cSGleb Smirnoff from 'outlyer' to 'outl[iy]er'. 4539034852cSGleb Smirnoff 4549034852cSGleb SmirnoffNew features in this release: 4559034852cSGleb Smirnoff* 'rlimit memlock' now has finer-grained control. A value of -1 means 4569034852cSGleb Smirnoff "don't lock ntpd into memore". This is the default for Linux boxes. 4579034852cSGleb Smirnoff A value of 0 means "lock ntpd into memory" with no limits. Otherwise 4589034852cSGleb Smirnoff the value is the number of megabytes of memory to lock. The default 4599034852cSGleb Smirnoff is 32 megabytes. 4609034852cSGleb Smirnoff 4619034852cSGleb Smirnoff* The old Google Test framework has been replaced with a new framework, 4629034852cSGleb Smirnoff based on http://www.throwtheswitch.org/unity/ . 4639034852cSGleb Smirnoff 4649034852cSGleb SmirnoffBug Fixes and Improvements: 4659034852cSGleb Smirnoff* [Bug 2332] (reopened) Exercise thread cancellation once before dropping 4669034852cSGleb Smirnoff privileges and limiting resources in NTPD removes the need to link 4679034852cSGleb Smirnoff forcefully against 'libgcc_s' which does not always work. J.Perlinger 4689034852cSGleb Smirnoff* [Bug 2595] ntpdate man page quirks. Hal Murray, Harlan Stenn. 4699034852cSGleb Smirnoff* [Bug 2625] Deprecate flag1 in local refclock. Hal Murray, Harlan Stenn. 4709034852cSGleb Smirnoff* [Bug 2817] Stop locking ntpd into memory by default under Linux. H.Stenn. 4719034852cSGleb Smirnoff* [Bug 2821] minor build issues: fixed refclock_gpsdjson.c. perlinger@ntp.org 4729034852cSGleb Smirnoff* [Bug 2823] ntpsweep with recursive peers option doesn't work. H.Stenn. 4739034852cSGleb Smirnoff* [Bug 2849] Systems with more than one default route may never 4749034852cSGleb Smirnoff synchronize. Brian Utterback. Note that this patch might need to 4759034852cSGleb Smirnoff be reverted once Bug 2043 has been fixed. 4769034852cSGleb Smirnoff* [Bug 2864] 4.2.8p3 fails to compile on Windows. Juergen Perlinger 4779034852cSGleb Smirnoff* [Bug 2866] segmentation fault at initgroups(). Harlan Stenn. 4789034852cSGleb Smirnoff* [Bug 2867] ntpd with autokey active crashed by 'ntpq -crv'. J.Perlinger 4799034852cSGleb Smirnoff* [Bug 2873] libevent should not include .deps/ in the tarball. H.Stenn 4809034852cSGleb Smirnoff* [Bug 2874] Don't distribute generated sntp/tests/fileHandlingTest.h. H.Stenn 4819034852cSGleb Smirnoff* [Bug 2875] sntp/Makefile.am: Get rid of DIST_SUBDIRS. libevent must 4829034852cSGleb Smirnoff be configured for the distribution targets. Harlan Stenn. 4839034852cSGleb Smirnoff* [Bug 2883] ntpd crashes on exit with empty driftfile. Miroslav Lichvar. 4849034852cSGleb Smirnoff* [Bug 2886] Mis-spelling: "outlyer" should be "outlier". dave@horsfall.org 4859034852cSGleb Smirnoff* [Bug 2888] streamline calendar functions. perlinger@ntp.org 4869034852cSGleb Smirnoff* [Bug 2889] ntp-dev-4.3.67 does not build on Windows. perlinger@ntp.org 4879034852cSGleb Smirnoff* [Bug 2890] Ignore ENOBUFS on routing netlink socket. Konstantin Khlebnikov. 4889034852cSGleb Smirnoff* [Bug 2906] make check needs better support for pthreads. Harlan Stenn. 4899034852cSGleb Smirnoff* [Bug 2907] dist* build targets require our libevent/ to be enabled. HStenn. 4909034852cSGleb Smirnoff* [Bug 2912] no munlockall() under Windows. David Taylor, Harlan Stenn. 4919034852cSGleb Smirnoff* libntp/emalloc.c: Remove explicit include of stdint.h. Harlan Stenn. 4929034852cSGleb Smirnoff* Put Unity CPPFLAGS items in unity_config.h. Harlan Stenn. 4939034852cSGleb Smirnoff* tests/ntpd/g_leapsec.cpp typo fix. Harlan Stenn. 4949034852cSGleb Smirnoff* Phase 1 deprecation of google test in sntp/tests/. Harlan Stenn. 4959034852cSGleb Smirnoff* On some versions of HP-UX, inttypes.h does not include stdint.h. H.Stenn. 4969034852cSGleb Smirnoff* top_srcdir can change based on ntp v. sntp. Harlan Stenn. 4979034852cSGleb Smirnoff* sntp/tests/ function parameter list cleanup. Damir Tomić. 4989034852cSGleb Smirnoff* tests/libntp/ function parameter list cleanup. Damir Tomić. 4999034852cSGleb Smirnoff* tests/ntpd/ function parameter list cleanup. Damir Tomić. 5009034852cSGleb Smirnoff* sntp/unity/unity_config.h: handle stdint.h. Harlan Stenn. 5019034852cSGleb Smirnoff* sntp/unity/unity_internals.h: handle *INTPTR_MAX on old Solaris. H.Stenn. 5029034852cSGleb Smirnoff* tests/libntp/timevalops.c and timespecops.c fixed error printing. D.Tomić. 5039034852cSGleb Smirnoff* tests/libntp/ improvements in code and fixed error printing. Damir Tomić. 5049034852cSGleb Smirnoff* tests/libntp: a_md5encrypt.c, authkeys.c, buftvtots.c, calendar.c, caljulian.c, 5059034852cSGleb Smirnoff caltontp.c, clocktime.c, humandate.c, hextolfp.c, decodenetnum.c - fixed 5069034852cSGleb Smirnoff formatting; first declaration, then code (C90); deleted unnecessary comments; 5079034852cSGleb Smirnoff changed from sprintf to snprintf; fixed order of includes. Tomasz Flendrich 5089034852cSGleb Smirnoff* tests/libntp/lfpfunc.c remove unnecessary include, remove old comments, 5099034852cSGleb Smirnoff fix formatting, cleanup. Tomasz Flendrich 5109034852cSGleb Smirnoff* tests/libntp/lfptostr.c remove unnecessary include, add consts, fix formatting. 5119034852cSGleb Smirnoff Tomasz Flendrich 5129034852cSGleb Smirnoff* tests/libntp/statestr.c remove empty functions, remove unnecessary include, 5139034852cSGleb Smirnoff fix formatting. Tomasz Flendrich 5149034852cSGleb Smirnoff* tests/libntp/modetoa.c fixed formatting. Tomasz Flendrich 5159034852cSGleb Smirnoff* tests/libntp/msyslog.c fixed formatting. Tomasz Flendrich 5169034852cSGleb Smirnoff* tests/libntp/numtoa.c deleted unnecessary empty functions, fixed formatting. 5179034852cSGleb Smirnoff Tomasz Flendrich 5189034852cSGleb Smirnoff* tests/libntp/numtohost.c added const, fixed formatting. Tomasz Flendrich 5199034852cSGleb Smirnoff* tests/libntp/refnumtoa.c fixed formatting. Tomasz Flendrich 5209034852cSGleb Smirnoff* tests/libntp/ssl_init.c fixed formatting. Tomasz Flendrich 5219034852cSGleb Smirnoff* tests/libntp/tvtots.c fixed a bug, fixed formatting. Tomasz Flendrich 5229034852cSGleb Smirnoff* tests/libntp/uglydate.c removed an unnecessary include. Tomasz Flendrich 5239034852cSGleb Smirnoff* tests/libntp/vi64ops.c removed an unnecessary comment, fixed formatting. 5249034852cSGleb Smirnoff* tests/libntp/ymd3yd.c removed an empty function and an unnecessary include, 5259034852cSGleb Smirnofffixed formatting. Tomasz Flendrich 5269034852cSGleb Smirnoff* tests/libntp/timespecops.c fixed formatting, fixed the order of includes, 5279034852cSGleb Smirnoff removed unnecessary comments, cleanup. Tomasz Flendrich 5289034852cSGleb Smirnoff* tests/libntp/timevalops.c fixed the order of includes, deleted unnecessary 5299034852cSGleb Smirnoff comments, cleanup. Tomasz Flendrich 5309034852cSGleb Smirnoff* tests/libntp/sockaddrtest.h making it agree to NTP's conventions of formatting. 5319034852cSGleb Smirnoff Tomasz Flendrich 5329034852cSGleb Smirnoff* tests/libntp/lfptest.h cleanup. Tomasz Flendrich 5339034852cSGleb Smirnoff* tests/libntp/test-libntp.c fix formatting. Tomasz Flendrich 5349034852cSGleb Smirnoff* sntp/tests/crypto.c is now using proper Unity's assertions, fixed formatting. 5359034852cSGleb Smirnoff Tomasz Flendrich 5369034852cSGleb Smirnoff* sntp/tests/kodDatabase.c added consts, deleted empty function, 5379034852cSGleb Smirnoff fixed formatting. Tomasz Flendrich 5389034852cSGleb Smirnoff* sntp/tests/kodFile.c cleanup, fixed formatting. Tomasz Flendrich 5399034852cSGleb Smirnoff* sntp/tests/packetHandling.c is now using proper Unity's assertions, 5409034852cSGleb Smirnoff fixed formatting, deleted unused variable. Tomasz Flendrich 5419034852cSGleb Smirnoff* sntp/tests/keyFile.c is now using proper Unity's assertions, fixed formatting. 5429034852cSGleb Smirnoff Tomasz Flendrich 5439034852cSGleb Smirnoff* sntp/tests/packetProcessing.c changed from sprintf to snprintf, 5449034852cSGleb Smirnoff fixed formatting. Tomasz Flendrich 5459034852cSGleb Smirnoff* sntp/tests/utilities.c is now using proper Unity's assertions, changed 5469034852cSGleb Smirnoff the order of includes, fixed formatting, removed unnecessary comments. 5479034852cSGleb Smirnoff Tomasz Flendrich 5489034852cSGleb Smirnoff* sntp/tests/sntptest.h fixed formatting. Tomasz Flendrich 5499034852cSGleb Smirnoff* sntp/tests/fileHandlingTest.h.in fixed a possible buffer overflow problem, 5509034852cSGleb Smirnoff made one function do its job, deleted unnecessary prints, fixed formatting. 5519034852cSGleb Smirnoff Tomasz Flendrich 5529034852cSGleb Smirnoff* sntp/unity/Makefile.am added a missing header. Tomasz Flendrich 5539034852cSGleb Smirnoff* sntp/unity/unity_config.h: Distribute it. Harlan Stenn. 5549034852cSGleb Smirnoff* sntp/libevent/evconfig-private.h: remove generated filefrom SCM. H.Stenn. 5559034852cSGleb Smirnoff* sntp/unity/Makefile.am: fix some broken paths. Harlan Stenn. 5569034852cSGleb Smirnoff* sntp/unity/unity.c: Clean up a printf(). Harlan Stenn. 5579034852cSGleb Smirnoff* Phase 1 deprecation of google test in tests/libntp/. Harlan Stenn. 5589034852cSGleb Smirnoff* Don't build sntp/libevent/sample/. Harlan Stenn. 5599034852cSGleb Smirnoff* tests/libntp/test_caltontp needs -lpthread. Harlan Stenn. 5609034852cSGleb Smirnoff* br-flock: --enable-local-libevent. Harlan Stenn. 5619034852cSGleb Smirnoff* Wrote tests for ntpd/ntp_prio_q.c. Tomasz Flendrich 5629034852cSGleb Smirnoff* scripts/lib/NTP/Util.pm: stratum output is version-dependent. Harlan Stenn. 5639034852cSGleb Smirnoff* Get rid of the NTP_ prefix on our assertion macros. Harlan Stenn. 5649034852cSGleb Smirnoff* Code cleanup. Harlan Stenn. 5659034852cSGleb Smirnoff* libntp/icom.c: Typo fix. Harlan Stenn. 5669034852cSGleb Smirnoff* util/ntptime.c: initialization nit. Harlan Stenn. 5679034852cSGleb Smirnoff* ntpd/ntp_peer.c:newpeer(): added a DEBUG_REQUIRE(srcadr). Harlan Stenn. 5689034852cSGleb Smirnoff* Add std_unity_tests to various Makefile.am files. Harlan Stenn. 5699034852cSGleb Smirnoff* ntpd/ntp_restrict.c: added a few assertions, created tests for this file. 5709034852cSGleb Smirnoff Tomasz Flendrich 5719034852cSGleb Smirnoff* Changed progname to be const in many files - now it's consistent. Tomasz 5729034852cSGleb Smirnoff Flendrich 5739034852cSGleb Smirnoff* Typo fix for GCC warning suppression. Harlan Stenn. 5749034852cSGleb Smirnoff* Added tests/ntpd/ntp_scanner.c test. Damir Tomić. 5759034852cSGleb Smirnoff* Added declarations to all Unity tests, and did minor fixes to them. 5769034852cSGleb Smirnoff Reduced the number of warnings by half. Damir Tomić. 5779034852cSGleb Smirnoff* Updated generate_test_runner.rb and updated the sntp/unity/auto directory 5789034852cSGleb Smirnoff with the latest Unity updates from Mark. Damir Tomić. 5799034852cSGleb Smirnoff* Retire google test - phase I. Harlan Stenn. 5809034852cSGleb Smirnoff* Unity test cleanup: move declaration of 'initializing'. Harlan Stenn. 5819034852cSGleb Smirnoff* Update the NEWS file. Harlan Stenn. 5829034852cSGleb Smirnoff* Autoconf cleanup. Harlan Stenn. 5839034852cSGleb Smirnoff* Unit test dist cleanup. Harlan Stenn. 5849034852cSGleb Smirnoff* Cleanup various test Makefile.am files. Harlan Stenn. 5859034852cSGleb Smirnoff* Pthread autoconf macro cleanup. Harlan Stenn. 5869034852cSGleb Smirnoff* Fix progname definition in unity runner scripts. Harlan Stenn. 5879034852cSGleb Smirnoff* Clean trailing whitespace in tests/ntpd/Makefile.am. Harlan Stenn. 5889034852cSGleb Smirnoff* Update the patch for bug 2817. Harlan Stenn. 5899034852cSGleb Smirnoff* More updates for bug 2817. Harlan Stenn. 5909034852cSGleb Smirnoff* Fix bugs in tests/ntpd/ntp_prio_q.c. Harlan Stenn. 5919034852cSGleb Smirnoff* gcc on older HPUX may need +allowdups. Harlan Stenn. 5929034852cSGleb Smirnoff* Adding missing MCAST protection. Harlan Stenn. 5939034852cSGleb Smirnoff* Disable certain test programs on certain platforms. Harlan Stenn. 5949034852cSGleb Smirnoff* Implement --enable-problem-tests (on by default). Harlan Stenn. 5959034852cSGleb Smirnoff* build system tweaks. Harlan Stenn. 5969034852cSGleb Smirnoff 5979034852cSGleb Smirnoff--- 598276da39aSCy SchubertNTP 4.2.8p3 (Harlan Stenn <stenn@ntp.org>, 2015/06/29) 599276da39aSCy Schubert 600276da39aSCy SchubertFocus: 1 Security fix. Bug fixes and enhancements. Leap-second improvements. 601276da39aSCy Schubert 602276da39aSCy SchubertSeverity: MEDIUM 603276da39aSCy Schubert 604276da39aSCy SchubertSecurity Fix: 605276da39aSCy Schubert 606276da39aSCy Schubert* [Sec 2853] Crafted remote config packet can crash some versions of 607276da39aSCy Schubert ntpd. Aleksis Kauppinen, Juergen Perlinger, Harlan Stenn. 608276da39aSCy Schubert 609276da39aSCy SchubertUnder specific circumstances an attacker can send a crafted packet to 610276da39aSCy Schubertcause a vulnerable ntpd instance to crash. This requires each of the 611276da39aSCy Schubertfollowing to be true: 612276da39aSCy Schubert 613276da39aSCy Schubert1) ntpd set up to allow remote configuration (not allowed by default), and 614276da39aSCy Schubert2) knowledge of the configuration password, and 615276da39aSCy Schubert3) access to a computer entrusted to perform remote configuration. 616276da39aSCy Schubert 617276da39aSCy SchubertThis vulnerability is considered low-risk. 618276da39aSCy Schubert 619276da39aSCy SchubertNew features in this release: 620276da39aSCy Schubert 621276da39aSCy SchubertOptional (disabled by default) support to have ntpd provide smeared 622276da39aSCy Schubertleap second time. A specially built and configured ntpd will only 623276da39aSCy Schubertoffer smeared time in response to client packets. These response 624276da39aSCy Schubertpackets will also contain a "refid" of 254.a.b.c, where the 24 bits 625276da39aSCy Schubertof a, b, and c encode the amount of smear in a 2:22 integer:fraction 626276da39aSCy Schubertformat. See README.leapsmear and http://bugs.ntp.org/2855 for more 627276da39aSCy Schubertinformation. 628276da39aSCy Schubert 629276da39aSCy Schubert *IF YOU CHOOSE TO CONFIGURE NTPD TO PROVIDE LEAP SMEAR TIME* 630276da39aSCy Schubert *BE SURE YOU DO NOT OFFER THAT TIME ON PUBLIC TIMESERVERS.* 631276da39aSCy Schubert 632276da39aSCy SchubertWe've imported the Unity test framework, and have begun converting 633276da39aSCy Schubertthe existing google-test items to this new framework. If you want 634276da39aSCy Schubertto write new tests or change old ones, you'll need to have ruby 635276da39aSCy Schubertinstalled. You don't need ruby to run the test suite. 636276da39aSCy Schubert 637276da39aSCy SchubertBug Fixes and Improvements: 638276da39aSCy Schubert 639276da39aSCy Schubert* CID 739725: Fix a rare resource leak in libevent/listener.c. 640276da39aSCy Schubert* CID 1295478: Quiet a pedantic potential error from the fix for Bug 2776. 641276da39aSCy Schubert* CID 1296235: Fix refclock_jjy.c and correcting type of the driver40-ja.html 642276da39aSCy Schubert* CID 1269537: Clean up a line of dead code in getShmTime(). 643276da39aSCy Schubert* [Bug 1060] Buffer overruns in libparse/clk_rawdcf.c. Helge Oldach. 644276da39aSCy Schubert* [Bug 2590] autogen-5.18.5. 645276da39aSCy Schubert* [Bug 2612] restrict: Warn when 'monitor' can't be disabled because 646276da39aSCy Schubert of 'limited'. 647276da39aSCy Schubert* [Bug 2650] fix includefile processing. 648276da39aSCy Schubert* [Bug 2745] ntpd -x steps clock on leap second 649276da39aSCy Schubert Fixed an initial-value problem that caused misbehaviour in absence of 650276da39aSCy Schubert any leapsecond information. 651276da39aSCy Schubert Do leap second stepping only of the step adjustment is beyond the 652276da39aSCy Schubert proper jump distance limit and step correction is allowed at all. 653276da39aSCy Schubert* [Bug 2750] build for Win64 654276da39aSCy Schubert Building for 32bit of loopback ppsapi needs def file 655276da39aSCy Schubert* [Bug 2776] Improve ntpq's 'help keytype'. 656276da39aSCy Schubert* [Bug 2778] Implement "apeers" ntpq command to include associd. 657276da39aSCy Schubert* [Bug 2782] Refactor refclock_shm.c, add memory barrier protection. 658276da39aSCy Schubert* [Bug 2792] If the IFF_RUNNING interface flag is supported then an 659276da39aSCy Schubert interface is ignored as long as this flag is not set since the 660276da39aSCy Schubert interface is not usable (e.g., no link). 661276da39aSCy Schubert* [Bug 2794] Clean up kernel clock status reports. 662276da39aSCy Schubert* [Bug 2800] refclock_true.c true_debug() can't open debug log because 663276da39aSCy Schubert of incompatible open/fdopen parameters. 664276da39aSCy Schubert* [Bug 2804] install-local-data assumes GNU 'find' semantics. 665276da39aSCy Schubert* [Bug 2805] ntpd fails to join multicast group. 666276da39aSCy Schubert* [Bug 2806] refclock_jjy.c supports the Telephone JJY. 667276da39aSCy Schubert* [Bug 2808] GPSD_JSON driver enhancements, step 1. 668276da39aSCy Schubert Fix crash during cleanup if GPS device not present and char device. 669276da39aSCy Schubert Increase internal token buffer to parse all JSON data, even SKY. 670276da39aSCy Schubert Defer logging of errors during driver init until the first unit is 671276da39aSCy Schubert started, so the syslog is not cluttered when the driver is not used. 672276da39aSCy Schubert Various improvements, see http://bugs.ntp.org/2808 for details. 673276da39aSCy Schubert Changed libjsmn to a more recent version. 674276da39aSCy Schubert* [Bug 2810] refclock_shm.c memory barrier code needs tweaks for QNX. 675276da39aSCy Schubert* [Bug 2813] HP-UX needs -D__STDC_VERSION__=199901L and limits.h. 676276da39aSCy Schubert* [Bug 2815] net-snmp before v5.4 has circular library dependencies. 677276da39aSCy Schubert* [Bug 2821] Add a missing NTP_PRINTF and a missing const. 678276da39aSCy Schubert* [Bug 2822] New leap column in sntp broke NTP::Util.pm. 679276da39aSCy Schubert* [Bug 2824] Convert update-leap to perl. (also see 2769) 680276da39aSCy Schubert* [Bug 2825] Quiet file installation in html/ . 681276da39aSCy Schubert* [Bug 2830] ntpd doesn't always transfer the correct TAI offset via autokey 682276da39aSCy Schubert NTPD transfers the current TAI (instead of an announcement) now. 683276da39aSCy Schubert This might still needed improvement. 684276da39aSCy Schubert Update autokey data ASAP when 'sys_tai' changes. 685276da39aSCy Schubert Fix unit test that was broken by changes for autokey update. 686276da39aSCy Schubert Avoid potential signature length issue and use DPRINTF where possible 687276da39aSCy Schubert in ntp_crypto.c. 688276da39aSCy Schubert* [Bug 2832] refclock_jjy.c supports the TDC-300. 689276da39aSCy Schubert* [Bug 2834] Correct a broken html tag in html/refclock.html 690276da39aSCy Schubert* [Bug 2836] DFC77 patches from Frank Kardel to make decoding more 691276da39aSCy Schubert robust, and require 2 consecutive timestamps to be consistent. 692276da39aSCy Schubert* [Bug 2837] Allow a configurable DSCP value. 693276da39aSCy Schubert* [Bug 2837] add test for DSCP to ntpd/complete.conf.in 694276da39aSCy Schubert* [Bug 2842] Glitch in ntp.conf.def documentation stanza. 695276da39aSCy Schubert* [Bug 2842] Bug in mdoc2man. 696276da39aSCy Schubert* [Bug 2843] make check fails on 4.3.36 697276da39aSCy Schubert Fixed compiler warnings about numeric range overflow 698276da39aSCy Schubert (The original topic was fixed in a byplay to bug#2830) 699276da39aSCy Schubert* [Bug 2845] Harden memory allocation in ntpd. 700276da39aSCy Schubert* [Bug 2852] 'make check' can't find unity.h. Hal Murray. 701276da39aSCy Schubert* [Bug 2854] Missing brace in libntp/strdup.c. Masanari Iida. 702276da39aSCy Schubert* [Bug 2855] Parser fix for conditional leap smear code. Harlan Stenn. 703276da39aSCy Schubert* [Bug 2855] Report leap smear in the REFID. Harlan Stenn. 704276da39aSCy Schubert* [Bug 2855] Implement conditional leap smear code. Martin Burnicki. 705276da39aSCy Schubert* [Bug 2856] ntpd should wait() on terminated child processes. Paul Green. 706276da39aSCy Schubert* [Bug 2857] Stratus VOS does not support SIGIO. Paul Green. 707276da39aSCy Schubert* [Bug 2859] Improve raw DCF77 robustness deconding. Frank Kardel. 708276da39aSCy Schubert* [Bug 2860] ntpq ifstats sanity check is too stringent. Frank Kardel. 709276da39aSCy Schubert* html/drivers/driver22.html: typo fix. Harlan Stenn. 710276da39aSCy Schubert* refidsmear test cleanup. Tomasz Flendrich. 711276da39aSCy Schubert* refidsmear function support and tests. Harlan Stenn. 712276da39aSCy Schubert* sntp/tests/Makefile.am: remove g_nameresolution.cpp as it tested 713276da39aSCy Schubert something that was only in the 4.2.6 sntp. Harlan Stenn. 714276da39aSCy Schubert* Modified tests/bug-2803/Makefile.am so it builds Unity framework tests. 715276da39aSCy Schubert Damir Tomić 716276da39aSCy Schubert* Modified tests/libtnp/Makefile.am so it builds Unity framework tests. 717276da39aSCy Schubert Damir Tomić 718276da39aSCy Schubert* Modified sntp/tests/Makefile.am so it builds Unity framework tests. 719276da39aSCy Schubert Damir Tomić 720276da39aSCy Schubert* tests/sandbox/smeartest.c: Harlan Stenn, Damir Tomic, Juergen Perlinger. 721276da39aSCy Schubert* Converted from gtest to Unity: tests/bug-2803/. Damir Tomić 722276da39aSCy Schubert* Converted from gtest to Unity: tests/libntp/ a_md5encrypt, atoint.c, 723276da39aSCy Schubert atouint.c, authkeys.c, buftvtots.c, calendar.c, caljulian.c, 724276da39aSCy Schubert calyearstart.c, clocktime.c, hextoint.c, lfpfunc.c, modetoa.c, 725276da39aSCy Schubert numtoa.c, numtohost.c, refnumtoa.c, ssl_init.c, statestr.c, 726276da39aSCy Schubert timespecops.c, timevalops.c, uglydate.c, vi64ops.c, ymd2yd.c. 727276da39aSCy Schubert Damir Tomić 728276da39aSCy Schubert* Converted from gtest to Unity: sntp/tests/ kodDatabase.c, kodFile.c, 729276da39aSCy Schubert networking.c, keyFile.c, utilities.cpp, sntptest.h, 730276da39aSCy Schubert fileHandlingTest.h. Damir Tomić 731276da39aSCy Schubert* Initial support for experimental leap smear code. Harlan Stenn. 732276da39aSCy Schubert* Fixes to sntp/tests/fileHandlingTest.h.in. Harlan Stenn. 733276da39aSCy Schubert* Report select() debug messages at debug level 3 now. 734276da39aSCy Schubert* sntp/scripts/genLocInfo: treat raspbian as debian. 735276da39aSCy Schubert* Unity test framework fixes. 736276da39aSCy Schubert ** Requires ruby for changes to tests. 737276da39aSCy Schubert* Initial support for PACKAGE_VERSION tests. 738276da39aSCy Schubert* sntp/libpkgver belongs in EXTRA_DIST, not DIST_SUBDIRS. 739276da39aSCy Schubert* tests/bug-2803/Makefile.am must distribute bug-2803.h. 740276da39aSCy Schubert* Add an assert to the ntpq ifstats code. 741276da39aSCy Schubert* Clean up the RLIMIT_STACK code. 742276da39aSCy Schubert* Improve the ntpq documentation around the controlkey keyid. 743276da39aSCy Schubert* ntpq.c cleanup. 744276da39aSCy Schubert* Windows port build cleanup. 745276da39aSCy Schubert 746276da39aSCy Schubert--- 747276da39aSCy SchubertNTP 4.2.8p2 (Harlan Stenn <stenn@ntp.org>, 2015/04/07) 748a25439b6SCy Schubert 749a25439b6SCy SchubertFocus: Security and Bug fixes, enhancements. 750a25439b6SCy Schubert 751a25439b6SCy SchubertSeverity: MEDIUM 752a25439b6SCy Schubert 753a25439b6SCy SchubertIn addition to bug fixes and enhancements, this release fixes the 754a25439b6SCy Schubertfollowing medium-severity vulnerabilities involving private key 755a25439b6SCy Schubertauthentication: 756a25439b6SCy Schubert 757a25439b6SCy Schubert* [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto. 758a25439b6SCy Schubert 759a25439b6SCy Schubert References: Sec 2779 / CVE-2015-1798 / VU#374268 760a25439b6SCy Schubert Affects: All NTP4 releases starting with ntp-4.2.5p99 up to but not 761a25439b6SCy Schubert including ntp-4.2.8p2 where the installation uses symmetric keys 762a25439b6SCy Schubert to authenticate remote associations. 763a25439b6SCy Schubert CVSS: (AV:A/AC:M/Au:N/C:P/I:P/A:P) Base Score: 5.4 764a25439b6SCy Schubert Date Resolved: Stable (4.2.8p2) 07 Apr 2015 765a25439b6SCy Schubert Summary: When ntpd is configured to use a symmetric key to authenticate 766a25439b6SCy Schubert a remote NTP server/peer, it checks if the NTP message 767a25439b6SCy Schubert authentication code (MAC) in received packets is valid, but not if 768a25439b6SCy Schubert there actually is any MAC included. Packets without a MAC are 769a25439b6SCy Schubert accepted as if they had a valid MAC. This allows a MITM attacker to 770a25439b6SCy Schubert send false packets that are accepted by the client/peer without 771a25439b6SCy Schubert having to know the symmetric key. The attacker needs to know the 772a25439b6SCy Schubert transmit timestamp of the client to match it in the forged reply 773a25439b6SCy Schubert and the false reply needs to reach the client before the genuine 774a25439b6SCy Schubert reply from the server. The attacker doesn't necessarily need to be 775a25439b6SCy Schubert relaying the packets between the client and the server. 776a25439b6SCy Schubert 777a25439b6SCy Schubert Authentication using autokey doesn't have this problem as there is 778a25439b6SCy Schubert a check that requires the key ID to be larger than NTP_MAXKEY, 779a25439b6SCy Schubert which fails for packets without a MAC. 780a25439b6SCy Schubert Mitigation: 781a25439b6SCy Schubert Upgrade to 4.2.8p2, or later, from the NTP Project Download Page 782a25439b6SCy Schubert or the NTP Public Services Project Download Page 783a25439b6SCy Schubert Configure ntpd with enough time sources and monitor it properly. 784a25439b6SCy Schubert Credit: This issue was discovered by Miroslav Lichvar, of Red Hat. 785a25439b6SCy Schubert 786a25439b6SCy Schubert* [Sec 2781] Authentication doesn't protect symmetric associations against 787a25439b6SCy Schubert DoS attacks. 788a25439b6SCy Schubert 789a25439b6SCy Schubert References: Sec 2781 / CVE-2015-1799 / VU#374268 790a25439b6SCy Schubert Affects: All NTP releases starting with at least xntp3.3wy up to but 791a25439b6SCy Schubert not including ntp-4.2.8p2 where the installation uses symmetric 792a25439b6SCy Schubert key authentication. 793a25439b6SCy Schubert CVSS: (AV:A/AC:M/Au:N/C:P/I:P/A:P) Base Score: 5.4 794a25439b6SCy Schubert Note: the CVSS base Score for this issue could be 4.3 or lower, and 795a25439b6SCy Schubert it could be higher than 5.4. 796a25439b6SCy Schubert Date Resolved: Stable (4.2.8p2) 07 Apr 2015 797a25439b6SCy Schubert Summary: An attacker knowing that NTP hosts A and B are peering with 798a25439b6SCy Schubert each other (symmetric association) can send a packet to host A 799a25439b6SCy Schubert with source address of B which will set the NTP state variables 800a25439b6SCy Schubert on A to the values sent by the attacker. Host A will then send 801a25439b6SCy Schubert on its next poll to B a packet with originate timestamp that 802a25439b6SCy Schubert doesn't match the transmit timestamp of B and the packet will 803a25439b6SCy Schubert be dropped. If the attacker does this periodically for both 804a25439b6SCy Schubert hosts, they won't be able to synchronize to each other. This is 805a25439b6SCy Schubert a known denial-of-service attack, described at 806a25439b6SCy Schubert https://www.eecis.udel.edu/~mills/onwire.html . 807a25439b6SCy Schubert 808a25439b6SCy Schubert According to the document the NTP authentication is supposed to 809a25439b6SCy Schubert protect symmetric associations against this attack, but that 810a25439b6SCy Schubert doesn't seem to be the case. The state variables are updated even 811a25439b6SCy Schubert when authentication fails and the peers are sending packets with 812a25439b6SCy Schubert originate timestamps that don't match the transmit timestamps on 813a25439b6SCy Schubert the receiving side. 814a25439b6SCy Schubert 815a25439b6SCy Schubert This seems to be a very old problem, dating back to at least 816a25439b6SCy Schubert xntp3.3wy. It's also in the NTPv3 (RFC 1305) and NTPv4 (RFC 5905) 817a25439b6SCy Schubert specifications, so other NTP implementations with support for 818a25439b6SCy Schubert symmetric associations and authentication may be vulnerable too. 819a25439b6SCy Schubert An update to the NTP RFC to correct this error is in-process. 820a25439b6SCy Schubert Mitigation: 821a25439b6SCy Schubert Upgrade to 4.2.8p2, or later, from the NTP Project Download Page 822a25439b6SCy Schubert or the NTP Public Services Project Download Page 823a25439b6SCy Schubert Note that for users of autokey, this specific style of MITM attack 824a25439b6SCy Schubert is simply a long-known potential problem. 825a25439b6SCy Schubert Configure ntpd with appropriate time sources and monitor ntpd. 826a25439b6SCy Schubert Alert your staff if problems are detected. 827a25439b6SCy Schubert Credit: This issue was discovered by Miroslav Lichvar, of Red Hat. 828a25439b6SCy Schubert 829a25439b6SCy Schubert* New script: update-leap 830a25439b6SCy SchubertThe update-leap script will verify and if necessary, update the 831a25439b6SCy Schubertleap-second definition file. 832a25439b6SCy SchubertIt requires the following commands in order to work: 833a25439b6SCy Schubert 834a25439b6SCy Schubert wget logger tr sed shasum 835a25439b6SCy Schubert 836a25439b6SCy SchubertSome may choose to run this from cron. It needs more portability testing. 837a25439b6SCy Schubert 838a25439b6SCy SchubertBug Fixes and Improvements: 839a25439b6SCy Schubert 840a25439b6SCy Schubert* [Bug 1787] DCF77's formerly "antenna" bit is "call bit" since 2003. 841a25439b6SCy Schubert* [Bug 1960] setsockopt IPV6_MULTICAST_IF: Invalid argument. 842a25439b6SCy Schubert* [Bug 2346] "graceful termination" signals do not do peer cleanup. 843a25439b6SCy Schubert* [Bug 2728] See if C99-style structure initialization works. 844a25439b6SCy Schubert* [Bug 2747] Upgrade libevent to 2.1.5-beta. 845a25439b6SCy Schubert* [Bug 2749] ntp/lib/NTP/Util.pm needs update for ntpq -w, IPv6, .POOL. . 846a25439b6SCy Schubert* [Bug 2751] jitter.h has stale copies of l_fp macros. 847a25439b6SCy Schubert* [Bug 2756] ntpd hangs in startup with gcc 3.3.5 on ARM. 848a25439b6SCy Schubert* [Bug 2757] Quiet compiler warnings. 849a25439b6SCy Schubert* [Bug 2759] Expose nonvolatile/clk_wander_threshold to ntpq. 850a25439b6SCy Schubert* [Bug 2763] Allow different thresholds for forward and backward steps. 851a25439b6SCy Schubert* [Bug 2766] ntp-keygen output files should not be world-readable. 852a25439b6SCy Schubert* [Bug 2767] ntp-keygen -M should symlink to ntp.keys. 853a25439b6SCy Schubert* [Bug 2771] nonvolatile value is documented in wrong units. 854a25439b6SCy Schubert* [Bug 2773] Early leap announcement from Palisade/Thunderbolt 855a25439b6SCy Schubert* [Bug 2774] Unreasonably verbose printout - leap pending/warning 856a25439b6SCy Schubert* [Bug 2775] ntp-keygen.c fails to compile under Windows. 857a25439b6SCy Schubert* [Bug 2777] Fixed loops and decoding of Meinberg GPS satellite info. 858a25439b6SCy Schubert Removed non-ASCII characters from some copyright comments. 859a25439b6SCy Schubert Removed trailing whitespace. 860a25439b6SCy Schubert Updated definitions for Meinberg clocks from current Meinberg header files. 861a25439b6SCy Schubert Now use C99 fixed-width types and avoid non-ASCII characters in comments. 862a25439b6SCy Schubert Account for updated definitions pulled from Meinberg header files. 863a25439b6SCy Schubert Updated comments on Meinberg GPS receivers which are not only called GPS16x. 864a25439b6SCy Schubert Replaced some constant numbers by defines from ntp_calendar.h 865a25439b6SCy Schubert Modified creation of parse-specific variables for Meinberg devices 866a25439b6SCy Schubert in gps16x_message(). 867a25439b6SCy Schubert Reworked mk_utcinfo() to avoid printing of ambiguous leap second dates. 868a25439b6SCy Schubert Modified mbg_tm_str() which now expexts an additional parameter controlling 869a25439b6SCy Schubert if the time status shall be printed. 870a25439b6SCy Schubert* [Sec 2779] ntpd accepts unauthenticated packets with symmetric key crypto. 871a25439b6SCy Schubert* [Sec 2781] Authentication doesn't protect symmetric associations against 872a25439b6SCy Schubert DoS attacks. 873a25439b6SCy Schubert* [Bug 2783] Quiet autoconf warnings about missing AC_LANG_SOURCE. 874a25439b6SCy Schubert* [Bug 2789] Quiet compiler warnings from libevent. 875a25439b6SCy Schubert* [Bug 2790] If ntpd sets the Windows MM timer highest resolution 876a25439b6SCy Schubert pause briefly before measuring system clock precision to yield 877a25439b6SCy Schubert correct results. 878a25439b6SCy Schubert* Comment from Juergen Perlinger in ntp_calendar.c to make the code clearer. 879a25439b6SCy Schubert* Use predefined function types for parse driver functions 880a25439b6SCy Schubert used to set up function pointers. 881a25439b6SCy Schubert Account for changed prototype of parse_inp_fnc_t functions. 882a25439b6SCy Schubert Cast parse conversion results to appropriate types to avoid 883a25439b6SCy Schubert compiler warnings. 884a25439b6SCy Schubert Let ioctl() for Windows accept a (void *) to avoid compiler warnings 885a25439b6SCy Schubert when called with pointers to different types. 886a25439b6SCy Schubert 887a25439b6SCy Schubert--- 8882b15cb3dSCy SchubertNTP 4.2.8p1 (Harlan Stenn <stenn@ntp.org>, 2015/02/04) 8892b15cb3dSCy Schubert 8902b15cb3dSCy SchubertFocus: Security and Bug fixes, enhancements. 8912b15cb3dSCy Schubert 8922b15cb3dSCy SchubertSeverity: HIGH 8932b15cb3dSCy Schubert 8942b15cb3dSCy SchubertIn addition to bug fixes and enhancements, this release fixes the 8952b15cb3dSCy Schubertfollowing high-severity vulnerabilities: 8962b15cb3dSCy Schubert 8972b15cb3dSCy Schubert* vallen is not validated in several places in ntp_crypto.c, leading 8982b15cb3dSCy Schubert to a potential information leak or possibly a crash 8992b15cb3dSCy Schubert 9002b15cb3dSCy Schubert References: Sec 2671 / CVE-2014-9297 / VU#852879 9012b15cb3dSCy Schubert Affects: All NTP4 releases before 4.2.8p1 that are running autokey. 9022b15cb3dSCy Schubert CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5 9032b15cb3dSCy Schubert Date Resolved: Stable (4.2.8p1) 04 Feb 2015 9042b15cb3dSCy Schubert Summary: The vallen packet value is not validated in several code 9052b15cb3dSCy Schubert paths in ntp_crypto.c which can lead to information leakage 9062b15cb3dSCy Schubert or perhaps a crash of the ntpd process. 9072b15cb3dSCy Schubert Mitigation - any of: 9082b15cb3dSCy Schubert Upgrade to 4.2.8p1, or later, from the NTP Project Download Page 9092b15cb3dSCy Schubert or the NTP Public Services Project Download Page. 9102b15cb3dSCy Schubert Disable Autokey Authentication by removing, or commenting out, 9112b15cb3dSCy Schubert all configuration directives beginning with the "crypto" 9122b15cb3dSCy Schubert keyword in your ntp.conf file. 9132b15cb3dSCy Schubert Credit: This vulnerability was discovered by Stephen Roettger of the 9142b15cb3dSCy Schubert Google Security Team, with additional cases found by Sebastian 9152b15cb3dSCy Schubert Krahmer of the SUSE Security Team and Harlan Stenn of Network 9162b15cb3dSCy Schubert Time Foundation. 9172b15cb3dSCy Schubert 9182b15cb3dSCy Schubert* ::1 can be spoofed on some OSes, so ACLs based on IPv6 ::1 addresses 9192b15cb3dSCy Schubert can be bypassed. 9202b15cb3dSCy Schubert 9212b15cb3dSCy Schubert References: Sec 2672 / CVE-2014-9298 / VU#852879 9222b15cb3dSCy Schubert Affects: All NTP4 releases before 4.2.8p1, under at least some 9232b15cb3dSCy Schubert versions of MacOS and Linux. *BSD has not been seen to be vulnerable. 9242b15cb3dSCy Schubert CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:C) Base Score: 9 9252b15cb3dSCy Schubert Date Resolved: Stable (4.2.8p1) 04 Feb 2014 9262b15cb3dSCy Schubert Summary: While available kernels will prevent 127.0.0.1 addresses 9272b15cb3dSCy Schubert from "appearing" on non-localhost IPv4 interfaces, some kernels 9282b15cb3dSCy Schubert do not offer the same protection for ::1 source addresses on 9292b15cb3dSCy Schubert IPv6 interfaces. Since NTP's access control is based on source 9302b15cb3dSCy Schubert address and localhost addresses generally have no restrictions, 9312b15cb3dSCy Schubert an attacker can send malicious control and configuration packets 9322b15cb3dSCy Schubert by spoofing ::1 addresses from the outside. Note Well: This is 9332b15cb3dSCy Schubert not really a bug in NTP, it's a problem with some OSes. If you 9342b15cb3dSCy Schubert have one of these OSes where ::1 can be spoofed, ALL ::1 -based 9352b15cb3dSCy Schubert ACL restrictions on any application can be bypassed! 9362b15cb3dSCy Schubert Mitigation: 9372b15cb3dSCy Schubert Upgrade to 4.2.8p1, or later, from the NTP Project Download Page 9382b15cb3dSCy Schubert or the NTP Public Services Project Download Page 9392b15cb3dSCy Schubert Install firewall rules to block packets claiming to come from 9402b15cb3dSCy Schubert ::1 from inappropriate network interfaces. 9412b15cb3dSCy Schubert Credit: This vulnerability was discovered by Stephen Roettger of 9422b15cb3dSCy Schubert the Google Security Team. 9432b15cb3dSCy Schubert 9442b15cb3dSCy SchubertAdditionally, over 30 bugfixes and improvements were made to the codebase. 9452b15cb3dSCy SchubertSee the ChangeLog for more information. 9462b15cb3dSCy Schubert 9472b15cb3dSCy Schubert--- 9482b15cb3dSCy SchubertNTP 4.2.8 (Harlan Stenn <stenn@ntp.org>, 2014/12/18) 9492b15cb3dSCy Schubert 9502b15cb3dSCy SchubertFocus: Security and Bug fixes, enhancements. 9512b15cb3dSCy Schubert 9522b15cb3dSCy SchubertSeverity: HIGH 9532b15cb3dSCy Schubert 9542b15cb3dSCy SchubertIn addition to bug fixes and enhancements, this release fixes the 9552b15cb3dSCy Schubertfollowing high-severity vulnerabilities: 9562b15cb3dSCy Schubert 9572b15cb3dSCy Schubert************************** vv NOTE WELL vv ***************************** 9582b15cb3dSCy Schubert 9592b15cb3dSCy SchubertThe vulnerabilities listed below can be significantly mitigated by 9602b15cb3dSCy Schubertfollowing the BCP of putting 9612b15cb3dSCy Schubert 9622b15cb3dSCy Schubert restrict default ... noquery 9632b15cb3dSCy Schubert 9642b15cb3dSCy Schubertin the ntp.conf file. With the exception of: 9652b15cb3dSCy Schubert 9662b15cb3dSCy Schubert receive(): missing return on error 9672b15cb3dSCy Schubert References: Sec 2670 / CVE-2014-9296 / VU#852879 9682b15cb3dSCy Schubert 9692b15cb3dSCy Schubertbelow (which is a limited-risk vulnerability), none of the recent 9702b15cb3dSCy Schubertvulnerabilities listed below can be exploited if the source IP is 9712b15cb3dSCy Schubertrestricted from sending a 'query'-class packet by your ntp.conf file. 9722b15cb3dSCy Schubert 9732b15cb3dSCy Schubert************************** ^^ NOTE WELL ^^ ***************************** 9742b15cb3dSCy Schubert 9752b15cb3dSCy Schubert* Weak default key in config_auth(). 9762b15cb3dSCy Schubert 9772b15cb3dSCy Schubert References: [Sec 2665] / CVE-2014-9293 / VU#852879 9782b15cb3dSCy Schubert CVSS: (AV:N/AC:L/Au:M/C:P/I:P/A:C) Base Score: 7.3 9792b15cb3dSCy Schubert Vulnerable Versions: all releases prior to 4.2.7p11 9802b15cb3dSCy Schubert Date Resolved: 28 Jan 2010 9812b15cb3dSCy Schubert 9822b15cb3dSCy Schubert Summary: If no 'auth' key is set in the configuration file, ntpd 9832b15cb3dSCy Schubert would generate a random key on the fly. There were two 9842b15cb3dSCy Schubert problems with this: 1) the generated key was 31 bits in size, 9852b15cb3dSCy Schubert and 2) it used the (now weak) ntp_random() function, which was 9862b15cb3dSCy Schubert seeded with a 32-bit value and could only provide 32 bits of 9872b15cb3dSCy Schubert entropy. This was sufficient back in the late 1990s when the 9882b15cb3dSCy Schubert code was written. Not today. 9892b15cb3dSCy Schubert 9902b15cb3dSCy Schubert Mitigation - any of: 9912b15cb3dSCy Schubert - Upgrade to 4.2.7p11 or later. 9922b15cb3dSCy Schubert - Follow BCP and put 'restrict ... noquery' in your ntp.conf file. 9932b15cb3dSCy Schubert 9942b15cb3dSCy Schubert Credit: This vulnerability was noticed in ntp-4.2.6 by Neel Mehta 9952b15cb3dSCy Schubert of the Google Security Team. 9962b15cb3dSCy Schubert 9972b15cb3dSCy Schubert* Non-cryptographic random number generator with weak seed used by 9982b15cb3dSCy Schubert ntp-keygen to generate symmetric keys. 9992b15cb3dSCy Schubert 10002b15cb3dSCy Schubert References: [Sec 2666] / CVE-2014-9294 / VU#852879 10012b15cb3dSCy Schubert CVSS: (AV:N/AC:L/Au:M/C:P/I:P/A:C) Base Score: 7.3 10022b15cb3dSCy Schubert Vulnerable Versions: All NTP4 releases before 4.2.7p230 10032b15cb3dSCy Schubert Date Resolved: Dev (4.2.7p230) 01 Nov 2011 10042b15cb3dSCy Schubert 10052b15cb3dSCy Schubert Summary: Prior to ntp-4.2.7p230 ntp-keygen used a weak seed to 10062b15cb3dSCy Schubert prepare a random number generator that was of good quality back 10072b15cb3dSCy Schubert in the late 1990s. The random numbers produced was then used to 10082b15cb3dSCy Schubert generate symmetric keys. In ntp-4.2.8 we use a current-technology 10092b15cb3dSCy Schubert cryptographic random number generator, either RAND_bytes from 10102b15cb3dSCy Schubert OpenSSL, or arc4random(). 10112b15cb3dSCy Schubert 10122b15cb3dSCy Schubert Mitigation - any of: 10132b15cb3dSCy Schubert - Upgrade to 4.2.7p230 or later. 10142b15cb3dSCy Schubert - Follow BCP and put 'restrict ... noquery' in your ntp.conf file. 10152b15cb3dSCy Schubert 10162b15cb3dSCy Schubert Credit: This vulnerability was discovered in ntp-4.2.6 by 10172b15cb3dSCy Schubert Stephen Roettger of the Google Security Team. 10182b15cb3dSCy Schubert 10192b15cb3dSCy Schubert* Buffer overflow in crypto_recv() 10202b15cb3dSCy Schubert 10212b15cb3dSCy Schubert References: Sec 2667 / CVE-2014-9295 / VU#852879 10222b15cb3dSCy Schubert CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5 10232b15cb3dSCy Schubert Versions: All releases before 4.2.8 10242b15cb3dSCy Schubert Date Resolved: Stable (4.2.8) 18 Dec 2014 10252b15cb3dSCy Schubert 10262b15cb3dSCy Schubert Summary: When Autokey Authentication is enabled (i.e. the ntp.conf 10272b15cb3dSCy Schubert file contains a 'crypto pw ...' directive) a remote attacker 10282b15cb3dSCy Schubert can send a carefully crafted packet that can overflow a stack 10292b15cb3dSCy Schubert buffer and potentially allow malicious code to be executed 10302b15cb3dSCy Schubert with the privilege level of the ntpd process. 10312b15cb3dSCy Schubert 10322b15cb3dSCy Schubert Mitigation - any of: 10332b15cb3dSCy Schubert - Upgrade to 4.2.8, or later, or 10342b15cb3dSCy Schubert - Disable Autokey Authentication by removing, or commenting out, 10352b15cb3dSCy Schubert all configuration directives beginning with the crypto keyword 10362b15cb3dSCy Schubert in your ntp.conf file. 10372b15cb3dSCy Schubert 10382b15cb3dSCy Schubert Credit: This vulnerability was discovered by Stephen Roettger of the 10392b15cb3dSCy Schubert Google Security Team. 10402b15cb3dSCy Schubert 10412b15cb3dSCy Schubert* Buffer overflow in ctl_putdata() 10422b15cb3dSCy Schubert 10432b15cb3dSCy Schubert References: Sec 2668 / CVE-2014-9295 / VU#852879 10442b15cb3dSCy Schubert CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5 10452b15cb3dSCy Schubert Versions: All NTP4 releases before 4.2.8 10462b15cb3dSCy Schubert Date Resolved: Stable (4.2.8) 18 Dec 2014 10472b15cb3dSCy Schubert 10482b15cb3dSCy Schubert Summary: A remote attacker can send a carefully crafted packet that 10492b15cb3dSCy Schubert can overflow a stack buffer and potentially allow malicious 10502b15cb3dSCy Schubert code to be executed with the privilege level of the ntpd process. 10512b15cb3dSCy Schubert 10522b15cb3dSCy Schubert Mitigation - any of: 10532b15cb3dSCy Schubert - Upgrade to 4.2.8, or later. 10542b15cb3dSCy Schubert - Follow BCP and put 'restrict ... noquery' in your ntp.conf file. 10552b15cb3dSCy Schubert 10562b15cb3dSCy Schubert Credit: This vulnerability was discovered by Stephen Roettger of the 10572b15cb3dSCy Schubert Google Security Team. 10582b15cb3dSCy Schubert 10592b15cb3dSCy Schubert* Buffer overflow in configure() 10602b15cb3dSCy Schubert 10612b15cb3dSCy Schubert References: Sec 2669 / CVE-2014-9295 / VU#852879 10622b15cb3dSCy Schubert CVSS: (AV:N/AC:L/Au:N/C:P/I:P/A:P) Base Score: 7.5 10632b15cb3dSCy Schubert Versions: All NTP4 releases before 4.2.8 10642b15cb3dSCy Schubert Date Resolved: Stable (4.2.8) 18 Dec 2014 10652b15cb3dSCy Schubert 10662b15cb3dSCy Schubert Summary: A remote attacker can send a carefully crafted packet that 10672b15cb3dSCy Schubert can overflow a stack buffer and potentially allow malicious 10682b15cb3dSCy Schubert code to be executed with the privilege level of the ntpd process. 10692b15cb3dSCy Schubert 10702b15cb3dSCy Schubert Mitigation - any of: 10712b15cb3dSCy Schubert - Upgrade to 4.2.8, or later. 10722b15cb3dSCy Schubert - Follow BCP and put 'restrict ... noquery' in your ntp.conf file. 10732b15cb3dSCy Schubert 10742b15cb3dSCy Schubert Credit: This vulnerability was discovered by Stephen Roettger of the 10752b15cb3dSCy Schubert Google Security Team. 10762b15cb3dSCy Schubert 10772b15cb3dSCy Schubert* receive(): missing return on error 10782b15cb3dSCy Schubert 10792b15cb3dSCy Schubert References: Sec 2670 / CVE-2014-9296 / VU#852879 10802b15cb3dSCy Schubert CVSS: (AV:N/AC:L/Au:N/C:N/I:N/A:P) Base Score: 5.0 10812b15cb3dSCy Schubert Versions: All NTP4 releases before 4.2.8 10822b15cb3dSCy Schubert Date Resolved: Stable (4.2.8) 18 Dec 2014 10832b15cb3dSCy Schubert 10842b15cb3dSCy Schubert Summary: Code in ntp_proto.c:receive() was missing a 'return;' in 10852b15cb3dSCy Schubert the code path where an error was detected, which meant 10862b15cb3dSCy Schubert processing did not stop when a specific rare error occurred. 10872b15cb3dSCy Schubert We haven't found a way for this bug to affect system integrity. 10882b15cb3dSCy Schubert If there is no way to affect system integrity the base CVSS 10892b15cb3dSCy Schubert score for this bug is 0. If there is one avenue through which 10902b15cb3dSCy Schubert system integrity can be partially affected, the base score 10912b15cb3dSCy Schubert becomes a 5. If system integrity can be partially affected 10922b15cb3dSCy Schubert via all three integrity metrics, the CVSS base score become 7.5. 10932b15cb3dSCy Schubert 10942b15cb3dSCy Schubert Mitigation - any of: 10952b15cb3dSCy Schubert - Upgrade to 4.2.8, or later, 10962b15cb3dSCy Schubert - Remove or comment out all configuration directives 10972b15cb3dSCy Schubert beginning with the crypto keyword in your ntp.conf file. 10982b15cb3dSCy Schubert 10992b15cb3dSCy Schubert Credit: This vulnerability was discovered by Stephen Roettger of the 11002b15cb3dSCy Schubert Google Security Team. 11012b15cb3dSCy Schubert 11022b15cb3dSCy SchubertSee http://support.ntp.org/security for more information. 11032b15cb3dSCy Schubert 11042b15cb3dSCy SchubertNew features / changes in this release: 11052b15cb3dSCy Schubert 11062b15cb3dSCy SchubertImportant Changes 11072b15cb3dSCy Schubert 11082b15cb3dSCy Schubert* Internal NTP Era counters 11092b15cb3dSCy Schubert 11102b15cb3dSCy SchubertThe internal counters that track the "era" (range of years) we are in 11112b15cb3dSCy Schubertrolls over every 136 years'. The current "era" started at the stroke of 11122b15cb3dSCy Schubertmidnight on 1 Jan 1900, and ends just before the stroke of midnight on 11132b15cb3dSCy Schubert1 Jan 2036. 11142b15cb3dSCy SchubertIn the past, we have used the "midpoint" of the range to decide which 11152b15cb3dSCy Schubertera we were in. Given the longevity of some products, it became clear 11162b15cb3dSCy Schubertthat it would be more functional to "look back" less, and "look forward" 11172b15cb3dSCy Schubertmore. We now compile a timestamp into the ntpd executable and when we 11182b15cb3dSCy Schubertget a timestamp we us the "built-on" to tell us what era we are in. 11192b15cb3dSCy SchubertThis check "looks back" 10 years, and "looks forward" 126 years. 11202b15cb3dSCy Schubert 11212b15cb3dSCy Schubert* ntpdc responses disabled by default 11222b15cb3dSCy Schubert 11232b15cb3dSCy SchubertDave Hart writes: 11242b15cb3dSCy Schubert 11252b15cb3dSCy SchubertFor a long time, ntpq and its mostly text-based mode 6 (control) 11262b15cb3dSCy Schubertprotocol have been preferred over ntpdc and its mode 7 (private 11272b15cb3dSCy Schubertrequest) protocol for runtime queries and configuration. There has 11282b15cb3dSCy Schubertbeen a goal of deprecating ntpdc, previously held back by numerous 11292b15cb3dSCy Schubertcapabilities exposed by ntpdc with no ntpq equivalent. I have been 11302b15cb3dSCy Schubertadding commands to ntpq to cover these cases, and I believe I've 11312b15cb3dSCy Schubertcovered them all, though I've not compared command-by-command 11322b15cb3dSCy Schubertrecently. 11332b15cb3dSCy Schubert 11342b15cb3dSCy SchubertAs I've said previously, the binary mode 7 protocol involves a lot of 11352b15cb3dSCy Schuberthand-rolled structure layout and byte-swapping code in both ntpd and 11362b15cb3dSCy Schubertntpdc which is hard to get right. As ntpd grows and changes, the 11372b15cb3dSCy Schubertchanges are difficult to expose via ntpdc while maintaining forward 11382b15cb3dSCy Schubertand backward compatibility between ntpdc and ntpd. In contrast, 11392b15cb3dSCy Schubertntpq's text-based, label=value approach involves more code reuse and 11402b15cb3dSCy Schubertallows compatible changes without extra work in most cases. 11412b15cb3dSCy Schubert 11422b15cb3dSCy SchubertMode 7 has always been defined as vendor/implementation-specific while 11432b15cb3dSCy Schubertmode 6 is described in RFC 1305 and intended to be open to interoperate 11442b15cb3dSCy Schubertwith other implementations. There is an early draft of an updated 11452b15cb3dSCy Schubertmode 6 description that likely will join the other NTPv4 RFCs 11462b15cb3dSCy Schuberteventually. (http://tools.ietf.org/html/draft-odonoghue-ntpv4-control-01) 11472b15cb3dSCy Schubert 11482b15cb3dSCy SchubertFor these reasons, ntpd 4.2.7p230 by default disables processing of 11492b15cb3dSCy Schubertntpdc queries, reducing ntpd's attack surface and functionally 11502b15cb3dSCy Schubertdeprecating ntpdc. If you are in the habit of using ntpdc for certain 11512b15cb3dSCy Schubertoperations, please try the ntpq equivalent. If there's no equivalent, 11522b15cb3dSCy Schubertplease open a bug report at http://bugs.ntp.org./ 11532b15cb3dSCy Schubert 11542b15cb3dSCy SchubertIn addition to the above, over 1100 issues have been resolved between 11552b15cb3dSCy Schubertthe 4.2.6 branch and 4.2.8. The ChangeLog file in the distribution 11562b15cb3dSCy Schubertlists these. 11572b15cb3dSCy Schubert 11582b15cb3dSCy Schubert--- 11592b15cb3dSCy SchubertNTP 4.2.6p5 (Harlan Stenn <stenn@ntp.org>, 2011/12/24) 11602b15cb3dSCy Schubert 11612b15cb3dSCy SchubertFocus: Bug fixes 11622b15cb3dSCy Schubert 11632b15cb3dSCy SchubertSeverity: Medium 11642b15cb3dSCy Schubert 11652b15cb3dSCy SchubertThis is a recommended upgrade. 11662b15cb3dSCy Schubert 11672b15cb3dSCy SchubertThis release updates sys_rootdisp and sys_jitter calculations to match the 11682b15cb3dSCy SchubertRFC specification, fixes a potential IPv6 address matching error for the 11692b15cb3dSCy Schubert"nic" and "interface" configuration directives, suppresses the creation of 11702b15cb3dSCy Schubertextraneous ephemeral associations for certain broadcastclient and 11712b15cb3dSCy Schubertmulticastclient configurations, cleans up some ntpq display issues, and 11722b15cb3dSCy Schubertincludes improvements to orphan mode, minor bugs fixes and code clean-ups. 11732b15cb3dSCy Schubert 11742b15cb3dSCy SchubertNew features / changes in this release: 11752b15cb3dSCy Schubert 11762b15cb3dSCy Schubertntpd 11772b15cb3dSCy Schubert 11782b15cb3dSCy Schubert * Updated "nic" and "interface" IPv6 address handling to prevent 11792b15cb3dSCy Schubert mismatches with localhost [::1] and wildcard [::] which resulted from 11802b15cb3dSCy Schubert using the address/prefix format (e.g. fe80::/64) 11812b15cb3dSCy Schubert * Fix orphan mode stratum incorrectly counting to infinity 11822b15cb3dSCy Schubert * Orphan parent selection metric updated to includes missing ntohl() 11832b15cb3dSCy Schubert * Non-printable stratum 16 refid no longer sent to ntp 11842b15cb3dSCy Schubert * Duplicate ephemeral associations suppressed for broadcastclient and 11852b15cb3dSCy Schubert multicastclient without broadcastdelay 11862b15cb3dSCy Schubert * Exclude undetermined sys_refid from use in loopback TEST12 11872b15cb3dSCy Schubert * Exclude MODE_SERVER responses from KoD rate limiting 11882b15cb3dSCy Schubert * Include root delay in clock_update() sys_rootdisp calculations 11892b15cb3dSCy Schubert * get_systime() updated to exclude sys_residual offset (which only 11902b15cb3dSCy Schubert affected bits "below" sys_tick, the precision threshold) 11912b15cb3dSCy Schubert * sys.peer jitter weighting corrected in sys_jitter calculation 11922b15cb3dSCy Schubert 11932b15cb3dSCy Schubertntpq 11942b15cb3dSCy Schubert 11952b15cb3dSCy Schubert * -n option extended to include the billboard "server" column 11962b15cb3dSCy Schubert * IPv6 addresses in the local column truncated to prevent overruns 11972b15cb3dSCy Schubert 11982b15cb3dSCy Schubert--- 11992b15cb3dSCy SchubertNTP 4.2.6p4 (Harlan Stenn <stenn@ntp.org>, 2011/09/22) 12002b15cb3dSCy Schubert 12012b15cb3dSCy SchubertFocus: Bug fixes and portability improvements 12022b15cb3dSCy Schubert 12032b15cb3dSCy SchubertSeverity: Medium 12042b15cb3dSCy Schubert 12052b15cb3dSCy SchubertThis is a recommended upgrade. 12062b15cb3dSCy Schubert 12072b15cb3dSCy SchubertThis release includes build infrastructure updates, code 12082b15cb3dSCy Schubertclean-ups, minor bug fixes, fixes for a number of minor 12092b15cb3dSCy Schubertref-clock issues, and documentation revisions. 12102b15cb3dSCy Schubert 12112b15cb3dSCy SchubertPortability improvements affect AIX, HP-UX, Linux, OS X and 64-bit time_t. 12122b15cb3dSCy Schubert 12132b15cb3dSCy SchubertNew features / changes in this release: 12142b15cb3dSCy Schubert 12152b15cb3dSCy SchubertBuild system 12162b15cb3dSCy Schubert 12172b15cb3dSCy Schubert* Fix checking for struct rtattr 12182b15cb3dSCy Schubert* Update config.guess and config.sub for AIX 12192b15cb3dSCy Schubert* Upgrade required version of autogen and libopts for building 12202b15cb3dSCy Schubert from our source code repository 12212b15cb3dSCy Schubert 12222b15cb3dSCy Schubertntpd 12232b15cb3dSCy Schubert 12242b15cb3dSCy Schubert* Back-ported several fixes for Coverity warnings from ntp-dev 12252b15cb3dSCy Schubert* Fix a rare boundary condition in UNLINK_EXPR_SLIST() 12262b15cb3dSCy Schubert* Allow "logconfig =allall" configuration directive 12272b15cb3dSCy Schubert* Bind tentative IPv6 addresses on Linux 12282b15cb3dSCy Schubert* Correct WWVB/Spectracom driver to timestamp CR instead of LF 12292b15cb3dSCy Schubert* Improved tally bit handling to prevent incorrect ntpq peer status reports 12302b15cb3dSCy Schubert* Exclude the Undisciplined Local Clock and ACTS drivers from the initial 12312b15cb3dSCy Schubert candidate list unless they are designated a "prefer peer" 12322b15cb3dSCy Schubert* Prevent the consideration of Undisciplined Local Clock or ACTS drivers for 12332b15cb3dSCy Schubert selection during the 'tos orphanwait' period 12342b15cb3dSCy Schubert* Prefer an Orphan Mode Parent over the Undisciplined Local Clock or ACTS 12352b15cb3dSCy Schubert drivers 12362b15cb3dSCy Schubert* Improved support of the Parse Refclock trusttime flag in Meinberg mode 12372b15cb3dSCy Schubert* Back-port utility routines from ntp-dev: mprintf(), emalloc_zero() 12382b15cb3dSCy Schubert* Added the NTPD_TICKADJ_PPM environment variable for specifying baseline 12392b15cb3dSCy Schubert clock slew on Microsoft Windows 12402b15cb3dSCy Schubert* Code cleanup in libntpq 12412b15cb3dSCy Schubert 12422b15cb3dSCy Schubertntpdc 12432b15cb3dSCy Schubert 12442b15cb3dSCy Schubert* Fix timerstats reporting 12452b15cb3dSCy Schubert 12462b15cb3dSCy Schubertntpdate 12472b15cb3dSCy Schubert 12482b15cb3dSCy Schubert* Reduce time required to set clock 12492b15cb3dSCy Schubert* Allow a timeout greater than 2 seconds 12502b15cb3dSCy Schubert 12512b15cb3dSCy Schubertsntp 12522b15cb3dSCy Schubert 12532b15cb3dSCy Schubert* Backward incompatible command-line option change: 12542b15cb3dSCy Schubert -l/--filelog changed -l/--logfile (to be consistent with ntpd) 12552b15cb3dSCy Schubert 12562b15cb3dSCy SchubertDocumentation 12572b15cb3dSCy Schubert 12582b15cb3dSCy Schubert* Update html2man. Fix some tags in the .html files 12592b15cb3dSCy Schubert* Distribute ntp-wait.html 12602b15cb3dSCy Schubert 12612b15cb3dSCy Schubert--- 12622b15cb3dSCy SchubertNTP 4.2.6p3 (Harlan Stenn <stenn@ntp.org>, 2011/01/03) 12632b15cb3dSCy Schubert 12642b15cb3dSCy SchubertFocus: Bug fixes and portability improvements 12652b15cb3dSCy Schubert 12662b15cb3dSCy SchubertSeverity: Medium 12672b15cb3dSCy Schubert 12682b15cb3dSCy SchubertThis is a recommended upgrade. 12692b15cb3dSCy Schubert 12702b15cb3dSCy SchubertThis release includes build infrastructure updates, code 12712b15cb3dSCy Schubertclean-ups, minor bug fixes, fixes for a number of minor 12722b15cb3dSCy Schubertref-clock issues, and documentation revisions. 12732b15cb3dSCy Schubert 12742b15cb3dSCy SchubertPortability improvements in this release affect AIX, Atari FreeMiNT, 12752b15cb3dSCy SchubertFreeBSD4, Linux and Microsoft Windows. 12762b15cb3dSCy Schubert 12772b15cb3dSCy SchubertNew features / changes in this release: 12782b15cb3dSCy Schubert 12792b15cb3dSCy SchubertBuild system 12802b15cb3dSCy Schubert* Use lsb_release to get information about Linux distributions. 12812b15cb3dSCy Schubert* 'test' is in /usr/bin (instead of /bin) on some systems. 12822b15cb3dSCy Schubert* Basic sanity checks for the ChangeLog file. 12832b15cb3dSCy Schubert* Source certain build files with ./filename for systems without . in PATH. 12842b15cb3dSCy Schubert* IRIX portability fix. 12852b15cb3dSCy Schubert* Use a single copy of the "libopts" code. 12862b15cb3dSCy Schubert* autogen/libopts upgrade. 12872b15cb3dSCy Schubert* configure.ac m4 quoting cleanup. 12882b15cb3dSCy Schubert 12892b15cb3dSCy Schubertntpd 12902b15cb3dSCy Schubert* Do not bind to IN6_IFF_ANYCAST addresses. 12912b15cb3dSCy Schubert* Log the reason for exiting under Windows. 12922b15cb3dSCy Schubert* Multicast fixes for Windows. 12932b15cb3dSCy Schubert* Interpolation fixes for Windows. 12942b15cb3dSCy Schubert* IPv4 and IPv6 Multicast fixes. 12952b15cb3dSCy Schubert* Manycast solicitation fixes and general repairs. 12962b15cb3dSCy Schubert* JJY refclock cleanup. 12972b15cb3dSCy Schubert* NMEA refclock improvements. 12982b15cb3dSCy Schubert* Oncore debug message cleanup. 12992b15cb3dSCy Schubert* Palisade refclock now builds under Linux. 13002b15cb3dSCy Schubert* Give RAWDCF more baud rates. 13012b15cb3dSCy Schubert* Support Truetime Satellite clocks under Windows. 13022b15cb3dSCy Schubert* Support Arbiter 1093C Satellite clocks under Windows. 13032b15cb3dSCy Schubert* Make sure that the "filegen" configuration command defaults to "enable". 13042b15cb3dSCy Schubert* Range-check the status codes (plus other cleanup) in the RIPE-NCC driver. 13052b15cb3dSCy Schubert* Prohibit 'includefile' directive in remote configuration command. 13062b15cb3dSCy Schubert* Fix 'nic' interface bindings. 13072b15cb3dSCy Schubert* Fix the way we link with openssl if openssl is installed in the base 13082b15cb3dSCy Schubert system. 13092b15cb3dSCy Schubert 13102b15cb3dSCy Schubertntp-keygen 13112b15cb3dSCy Schubert* Fix -V coredump. 13122b15cb3dSCy Schubert* OpenSSL version display cleanup. 13132b15cb3dSCy Schubert 13142b15cb3dSCy Schubertntpdc 13152b15cb3dSCy Schubert* Many counters should be treated as unsigned. 13162b15cb3dSCy Schubert 13172b15cb3dSCy Schubertntpdate 13182b15cb3dSCy Schubert* Do not ignore replies with equal receive and transmit timestamps. 13192b15cb3dSCy Schubert 13202b15cb3dSCy Schubertntpq 13212b15cb3dSCy Schubert* libntpq warning cleanup. 13222b15cb3dSCy Schubert 13232b15cb3dSCy Schubertntpsnmpd 13242b15cb3dSCy Schubert* Correct SNMP type for "precision" and "resolution". 13252b15cb3dSCy Schubert* Update the MIB from the draft version to RFC-5907. 13262b15cb3dSCy Schubert 13272b15cb3dSCy Schubertsntp 13282b15cb3dSCy Schubert* Display timezone offset when showing time for sntp in the local 13292b15cb3dSCy Schubert timezone. 13302b15cb3dSCy Schubert* Pay proper attention to RATE KoD packets. 13312b15cb3dSCy Schubert* Fix a miscalculation of the offset. 13322b15cb3dSCy Schubert* Properly parse empty lines in the key file. 13332b15cb3dSCy Schubert* Logging cleanup. 13342b15cb3dSCy Schubert* Use tv_usec correctly in set_time(). 13352b15cb3dSCy Schubert* Documentation cleanup. 13362b15cb3dSCy Schubert 13372b15cb3dSCy Schubert--- 13382b15cb3dSCy SchubertNTP 4.2.6p2 (Harlan Stenn <stenn@ntp.org>, 2010/07/08) 13392b15cb3dSCy Schubert 13402b15cb3dSCy SchubertFocus: Bug fixes and portability improvements 13412b15cb3dSCy Schubert 13422b15cb3dSCy SchubertSeverity: Medium 13432b15cb3dSCy Schubert 13442b15cb3dSCy SchubertThis is a recommended upgrade. 13452b15cb3dSCy Schubert 13462b15cb3dSCy SchubertThis release includes build infrastructure updates, code 13472b15cb3dSCy Schubertclean-ups, minor bug fixes, fixes for a number of minor 13482b15cb3dSCy Schubertref-clock issues, improved KOD handling, OpenSSL related 13492b15cb3dSCy Schubertupdates and documentation revisions. 13502b15cb3dSCy Schubert 13512b15cb3dSCy SchubertPortability improvements in this release affect Irix, Linux, 13522b15cb3dSCy SchubertMac OS, Microsoft Windows, OpenBSD and QNX6 13532b15cb3dSCy Schubert 13542b15cb3dSCy SchubertNew features / changes in this release: 13552b15cb3dSCy Schubert 13562b15cb3dSCy Schubertntpd 13572b15cb3dSCy Schubert* Range syntax for the trustedkey configuration directive 13582b15cb3dSCy Schubert* Unified IPv4 and IPv6 restrict lists 13592b15cb3dSCy Schubert 13602b15cb3dSCy Schubertntpdate 13612b15cb3dSCy Schubert* Rate limiting and KOD handling 13622b15cb3dSCy Schubert 13632b15cb3dSCy Schubertntpsnmpd 13642b15cb3dSCy Schubert* default connection to net-snmpd via a unix-domain socket 13652b15cb3dSCy Schubert* command-line 'socket name' option 13662b15cb3dSCy Schubert 13672b15cb3dSCy Schubertntpq / ntpdc 13682b15cb3dSCy Schubert* support for the "passwd ..." syntax 13692b15cb3dSCy Schubert* key-type specific password prompts 13702b15cb3dSCy Schubert 13712b15cb3dSCy Schubertsntp 13722b15cb3dSCy Schubert* MD5 authentication of an ntpd 13732b15cb3dSCy Schubert* Broadcast and crypto 13742b15cb3dSCy Schubert* OpenSSL support 13752b15cb3dSCy Schubert 13762b15cb3dSCy Schubert--- 13772b15cb3dSCy SchubertNTP 4.2.6p1 (Harlan Stenn <stenn@ntp.org>, 2010/04/09) 13782b15cb3dSCy Schubert 13792b15cb3dSCy SchubertFocus: Bug fixes, portability fixes, and documentation improvements 13802b15cb3dSCy Schubert 13812b15cb3dSCy SchubertSeverity: Medium 13822b15cb3dSCy Schubert 13832b15cb3dSCy SchubertThis is a recommended upgrade. 13842b15cb3dSCy Schubert 13852b15cb3dSCy Schubert--- 13862b15cb3dSCy SchubertNTP 4.2.6 (Harlan Stenn <stenn@ntp.org>, 2009/12/08) 13872b15cb3dSCy Schubert 13882b15cb3dSCy SchubertFocus: enhancements and bug fixes. 13892b15cb3dSCy Schubert 13902b15cb3dSCy Schubert--- 1391eb6d21b4SOllivier RobertNTP 4.2.4p8 (Harlan Stenn <stenn@ntp.org>, 2009/12/08) 1392eb6d21b4SOllivier Robert 1393eb6d21b4SOllivier RobertFocus: Security Fixes 1394eb6d21b4SOllivier Robert 1395eb6d21b4SOllivier RobertSeverity: HIGH 1396eb6d21b4SOllivier Robert 1397eb6d21b4SOllivier RobertThis release fixes the following high-severity vulnerability: 1398eb6d21b4SOllivier Robert 1399eb6d21b4SOllivier Robert* [Sec 1331] DoS with mode 7 packets - CVE-2009-3563. 1400eb6d21b4SOllivier Robert 1401eb6d21b4SOllivier Robert See http://support.ntp.org/security for more information. 1402eb6d21b4SOllivier Robert 1403eb6d21b4SOllivier Robert NTP mode 7 (MODE_PRIVATE) is used by the ntpdc query and control utility. 1404eb6d21b4SOllivier Robert In contrast, ntpq uses NTP mode 6 (MODE_CONTROL), while routine NTP time 1405eb6d21b4SOllivier Robert transfers use modes 1 through 5. Upon receipt of an incorrect mode 7 1406eb6d21b4SOllivier Robert request or a mode 7 error response from an address which is not listed 1407eb6d21b4SOllivier Robert in a "restrict ... noquery" or "restrict ... ignore" statement, ntpd will 1408eb6d21b4SOllivier Robert reply with a mode 7 error response (and log a message). In this case: 1409eb6d21b4SOllivier Robert 1410eb6d21b4SOllivier Robert * If an attacker spoofs the source address of ntpd host A in a 1411eb6d21b4SOllivier Robert mode 7 response packet sent to ntpd host B, both A and B will 1412eb6d21b4SOllivier Robert continuously send each other error responses, for as long as 1413eb6d21b4SOllivier Robert those packets get through. 1414eb6d21b4SOllivier Robert 1415eb6d21b4SOllivier Robert * If an attacker spoofs an address of ntpd host A in a mode 7 1416eb6d21b4SOllivier Robert response packet sent to ntpd host A, A will respond to itself 1417eb6d21b4SOllivier Robert endlessly, consuming CPU and logging excessively. 1418eb6d21b4SOllivier Robert 1419eb6d21b4SOllivier Robert Credit for finding this vulnerability goes to Robin Park and Dmitri 1420eb6d21b4SOllivier Robert Vinokurov of Alcatel-Lucent. 1421eb6d21b4SOllivier Robert 1422eb6d21b4SOllivier RobertTHIS IS A STRONGLY RECOMMENDED UPGRADE. 1423eb6d21b4SOllivier Robert 1424eb6d21b4SOllivier Robert--- 14252b15cb3dSCy Schubertntpd now syncs to refclocks right away. 14262b15cb3dSCy Schubert 14272b15cb3dSCy SchubertBackward-Incompatible changes: 14282b15cb3dSCy Schubert 14292b15cb3dSCy Schubertntpd no longer accepts '-v name' or '-V name' to define internal variables. 14302b15cb3dSCy SchubertUse '--var name' or '--dvar name' instead. (Bug 817) 14312b15cb3dSCy Schubert 14322b15cb3dSCy Schubert--- 1433eb6d21b4SOllivier RobertNTP 4.2.4p7 (Harlan Stenn <stenn@ntp.org>, 2009/05/04) 1434eb6d21b4SOllivier Robert 1435eb6d21b4SOllivier RobertFocus: Security and Bug Fixes 1436eb6d21b4SOllivier Robert 1437eb6d21b4SOllivier RobertSeverity: HIGH 1438eb6d21b4SOllivier Robert 1439eb6d21b4SOllivier RobertThis release fixes the following high-severity vulnerability: 1440eb6d21b4SOllivier Robert 1441eb6d21b4SOllivier Robert* [Sec 1151] Remote exploit if autokey is enabled. CVE-2009-1252 1442eb6d21b4SOllivier Robert 1443eb6d21b4SOllivier Robert See http://support.ntp.org/security for more information. 1444eb6d21b4SOllivier Robert 1445eb6d21b4SOllivier Robert If autokey is enabled (if ntp.conf contains a "crypto pw whatever" 1446eb6d21b4SOllivier Robert line) then a carefully crafted packet sent to the machine will cause 1447eb6d21b4SOllivier Robert a buffer overflow and possible execution of injected code, running 1448eb6d21b4SOllivier Robert with the privileges of the ntpd process (often root). 1449eb6d21b4SOllivier Robert 1450eb6d21b4SOllivier Robert Credit for finding this vulnerability goes to Chris Ries of CMU. 1451eb6d21b4SOllivier Robert 1452eb6d21b4SOllivier RobertThis release fixes the following low-severity vulnerabilities: 1453eb6d21b4SOllivier Robert 1454eb6d21b4SOllivier Robert* [Sec 1144] limited (two byte) buffer overflow in ntpq. CVE-2009-0159 1455eb6d21b4SOllivier Robert Credit for finding this vulnerability goes to Geoff Keating of Apple. 1456eb6d21b4SOllivier Robert 1457eb6d21b4SOllivier Robert* [Sec 1149] use SO_EXCLUSIVEADDRUSE on Windows 1458eb6d21b4SOllivier Robert Credit for finding this issue goes to Dave Hart. 1459eb6d21b4SOllivier Robert 1460eb6d21b4SOllivier RobertThis release fixes a number of bugs and adds some improvements: 1461eb6d21b4SOllivier Robert 1462eb6d21b4SOllivier Robert* Improved logging 1463eb6d21b4SOllivier Robert* Fix many compiler warnings 1464eb6d21b4SOllivier Robert* Many fixes and improvements for Windows 1465eb6d21b4SOllivier Robert* Adds support for AIX 6.1 1466eb6d21b4SOllivier Robert* Resolves some issues under MacOS X and Solaris 1467eb6d21b4SOllivier Robert 1468eb6d21b4SOllivier RobertTHIS IS A STRONGLY RECOMMENDED UPGRADE. 1469eb6d21b4SOllivier Robert 1470eb6d21b4SOllivier Robert--- 1471eb6d21b4SOllivier RobertNTP 4.2.4p6 (Harlan Stenn <stenn@ntp.org>, 2009/01/07) 1472eb6d21b4SOllivier Robert 1473eb6d21b4SOllivier RobertFocus: Security Fix 1474eb6d21b4SOllivier Robert 1475eb6d21b4SOllivier RobertSeverity: Low 1476eb6d21b4SOllivier Robert 1477eb6d21b4SOllivier RobertThis release fixes oCERT.org's CVE-2009-0021, a vulnerability affecting 1478eb6d21b4SOllivier Robertthe OpenSSL library relating to the incorrect checking of the return 1479eb6d21b4SOllivier Robertvalue of EVP_VerifyFinal function. 1480eb6d21b4SOllivier Robert 1481eb6d21b4SOllivier RobertCredit for finding this issue goes to the Google Security Team for 1482eb6d21b4SOllivier Robertfinding the original issue with OpenSSL, and to ocert.org for finding 1483eb6d21b4SOllivier Robertthe problem in NTP and telling us about it. 1484eb6d21b4SOllivier Robert 1485eb6d21b4SOllivier RobertThis is a recommended upgrade. 1486eb6d21b4SOllivier Robert--- 1487ea906c41SOllivier RobertNTP 4.2.4p5 (Harlan Stenn <stenn@ntp.org>, 2008/08/17) 1488ea906c41SOllivier Robert 1489ea906c41SOllivier RobertFocus: Minor Bugfixes 1490ea906c41SOllivier Robert 1491ea906c41SOllivier RobertThis release fixes a number of Windows-specific ntpd bugs and 1492ea906c41SOllivier Robertplatform-independent ntpdate bugs. A logging bugfix has been applied 1493ea906c41SOllivier Robertto the ONCORE driver. 1494ea906c41SOllivier Robert 1495ea906c41SOllivier RobertThe "dynamic" keyword and is now obsolete and deferred binding to local 1496ea906c41SOllivier Robertinterfaces is the new default. The minimum time restriction for the 1497ea906c41SOllivier Robertinterface update interval has been dropped. 1498ea906c41SOllivier Robert 1499ea906c41SOllivier RobertA number of minor build system and documentation fixes are included. 1500ea906c41SOllivier Robert 1501ea906c41SOllivier RobertThis is a recommended upgrade for Windows. 1502ea906c41SOllivier Robert 1503ea906c41SOllivier Robert--- 1504ea906c41SOllivier RobertNTP 4.2.4p4 (Harlan Stenn <stenn@ntp.org>, 2007/09/10) 1505ea906c41SOllivier Robert 1506ea906c41SOllivier RobertFocus: Minor Bugfixes 1507ea906c41SOllivier Robert 1508ea906c41SOllivier RobertThis release updates certain copyright information, fixes several display 1509ea906c41SOllivier Robertbugs in ntpdc, avoids SIGIO interrupting malloc(), cleans up file descriptor 1510ea906c41SOllivier Robertshutdown in the parse refclock driver, removes some lint from the code, 1511ea906c41SOllivier Robertstops accessing certain buffers immediately after they were freed, fixes 1512ea906c41SOllivier Roberta problem with non-command-line specification of -6, and allows the loopback 1513ea906c41SOllivier Robertinterface to share addresses with other interfaces. 1514ea906c41SOllivier Robert 1515ea906c41SOllivier Robert--- 1516ea906c41SOllivier RobertNTP 4.2.4p3 (Harlan Stenn <stenn@ntp.org>, 2007/06/29) 1517ea906c41SOllivier Robert 1518ea906c41SOllivier RobertFocus: Minor Bugfixes 1519ea906c41SOllivier Robert 1520ea906c41SOllivier RobertThis release fixes a bug in Windows that made it difficult to 1521ea906c41SOllivier Robertterminate ntpd under windows. 1522ea906c41SOllivier RobertThis is a recommended upgrade for Windows. 1523ea906c41SOllivier Robert 1524ea906c41SOllivier Robert--- 1525ea906c41SOllivier RobertNTP 4.2.4p2 (Harlan Stenn <stenn@ntp.org>, 2007/06/19) 1526ea906c41SOllivier Robert 1527ea906c41SOllivier RobertFocus: Minor Bugfixes 1528ea906c41SOllivier Robert 1529ea906c41SOllivier RobertThis release fixes a multicast mode authentication problem, 1530ea906c41SOllivier Robertan error in NTP packet handling on Windows that could lead to 1531ea906c41SOllivier Robertntpd crashing, and several other minor bugs. Handling of 1532ea906c41SOllivier Robertmulticast interfaces and logging configuration were improved. 1533ea906c41SOllivier RobertThe required versions of autogen and libopts were incremented. 1534ea906c41SOllivier RobertThis is a recommended upgrade for Windows and multicast users. 1535ea906c41SOllivier Robert 1536ea906c41SOllivier Robert--- 1537ea906c41SOllivier RobertNTP 4.2.4 (Harlan Stenn <stenn@ntp.org>, 2006/12/31) 1538ea906c41SOllivier Robert 1539ea906c41SOllivier RobertFocus: enhancements and bug fixes. 1540ea906c41SOllivier Robert 1541ea906c41SOllivier RobertDynamic interface rescanning was added to simplify the use of ntpd in 1542ea906c41SOllivier Robertconjunction with DHCP. GNU AutoGen is used for its command-line options 1543ea906c41SOllivier Robertprocessing. Separate PPS devices are supported for PARSE refclocks, MD5 1544ea906c41SOllivier Robertsignatures are now provided for the release files. Drivers have been 1545ea906c41SOllivier Robertadded for some new ref-clocks and have been removed for some older 1546ea906c41SOllivier Robertref-clocks. This release also includes other improvements, documentation 1547ea906c41SOllivier Robertand bug fixes. 1548ea906c41SOllivier Robert 1549ea906c41SOllivier RobertK&R C is no longer supported as of NTP-4.2.4. We are now aiming for ANSI 1550ea906c41SOllivier RobertC support. 1551ea906c41SOllivier Robert 1552ea906c41SOllivier Robert--- 1553ea906c41SOllivier RobertNTP 4.2.0 (Harlan Stenn <stenn@ntp.org>, 2003/10/15) 1554ea906c41SOllivier Robert 1555ea906c41SOllivier RobertFocus: enhancements and bug fixes. 1556