Synopsis: Moderate: ntp security, bug fix, and enhancement update
Advisory ID: SLSA-2015:1459-1
Issue Date: 2015-07-22
CVE Numbers: CVE-2014-9298
CVE-2014-9297
CVE-2015-1798
CVE-2015-1799
CVE-2015-3405
—
It was found that because NTP’s access control was based on a source IP
address, an attacker could bypass source IP restrictions and send
malicious control and configuration packets by spoofing ::1 addresses.
(CVE-2014-9298)
A denial of service flaw was found in the way NTP hosts that were peering
with each other authenticated themselves before updating their internal
state variables. An attacker could send packets to one peer host, which
could cascade to other peers, and stop the synchronization process among
the reached peers. (CVE-2015-1799)
A flaw was found in the way the ntp-keygen utility generated MD5 symmetric
keys on big-endian systems. An attacker could possibly use this flaw to
guess generated MD5 keys, which could then be used to spoof an NTP client
or server. (CVE-2015-3405)
A stack-based buffer overflow was found in the way the NTP autokey
protocol was implemented. When an NTP client decrypted a secret received
from an NTP server, it could cause that client to crash. (CVE-2014-9297)
It was found that ntpd did not check whether a Message Authentication Code
(MAC) was present in a received packet when ntpd was configured to use
symmetric cryptographic keys. A man-in-the-middle attacker could use this
flaw to send crafted packets that would be accepted by a client or a peer
without the attacker knowing the symmetric key. (CVE-2015-1798)
Bug fixes:
* The ntpd daemon truncated symmetric keys specified in the key file to 20
bytes. As a consequence, it was impossible to configure NTP authentication
to work with peers that use longer keys. The maximum length of keys has
now been changed to 32 bytes.
* The ntp-keygen utility used the exponent of 3 when generating RSA keys,
and generating RSA keys failed when FIPS mode was enabled. ntp-keygen has
been modified to use the exponent of 65537, and generating keys in FIPS
mode now works as expected.
* The ntpd daemon included a root delay when calculating its root
dispersion. Consequently, the NTP server reported larger root dispersion
than it should have and clients could reject the source when its distance
reached the maximum synchronization distance (1.5 seconds by default).
Calculation of root dispersion has been fixed, the root dispersion is now
reported correctly, and clients no longer reject the server due to a large
synchronization distance.
* The ntpd daemon dropped incoming NTP packets if their source port was
lower than 123 (the NTP port). Clients behind Network Address Translation
(NAT) were unable to synchronize with the server if their source port was
translated to ports below 123. With this update, ntpd no longer checks the
source port number.
Enhancements:
* This update introduces configurable access of memory segments used for
Shared Memory Driver (SHM) reference clocks. Previously, only the first
two memory segments were created with owner-only access, allowing just two
SHM reference clocks to be used securely on a system. Now, the owner-only
access to SHM is configurable with the “mode” option, and it is therefore
possible to use more SHM reference clocks securely.
* Support for nanosecond resolution has been added to the SHM reference
clock. Prior to this update, when a Precision Time Protocol (PTP) hardware
clock was used as a time source to synchronize the system clock (for
example, with the timemaster service from the linuxptp package), the
accuracy of the synchronization was limited due to the microsecond
resolution of the SHM protocol. The nanosecond extension in the SHM
protocol now enables sub-microsecond synchronization of the system clock.
—
SL6
x86_64
ntp-4.2.6p5-5.el6.x86_64.rpm
ntp-debuginfo-4.2.6p5-5.el6.x86_64.rpm
ntpdate-4.2.6p5-5.el6.x86_64.rpm
ntp-perl-4.2.6p5-5.el6.x86_64.rpm
i386
ntp-4.2.6p5-5.el6.i686.rpm
ntp-debuginfo-4.2.6p5-5.el6.i686.rpm
ntpdate-4.2.6p5-5.el6.i686.rpm
ntp-perl-4.2.6p5-5.el6.i686.rpm
noarch
ntp-doc-4.2.6p5-5.el6.noarch.rpm
– Scientific Linux Development Team