CVE Vulnerabilities

CVE-2020-13817

Use of Insufficiently Random Values

Published: Jun 04, 2020 | Modified: Mar 29, 2022
CVSS 3.x
7.4
HIGH
Source:
NVD
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H
CVSS 2.x
5.8 MEDIUM
AV:N/AC:M/Au:N/C:N/I:P/A:P
RedHat/V2
RedHat/V3
7.4 MODERATE
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:H
Ubuntu
LOW

ntpd in ntp before 4.2.8p14 and 4.3.x before 4.3.100 allows remote attackers to cause a denial of service (daemon exit or system time change) by predicting transmit timestamps for use in spoofed packets. The victim must be relying on unauthenticated IPv4 time sources. There must be an off-path attacker who can query time from the victims ntpd instance.

Weakness

The product uses insufficiently random numbers or values in a security context that depends on unpredictable numbers.

Affected Software

Name Vendor Start Version End Version
Ntp Ntp * 4.2.8 (excluding)
Ntp Ntp 4.3.0 (including) 4.3.100 (excluding)
Ntp Ntp 4.2.8 (including) 4.2.8 (including)
Ntp Ntp 4.2.8-p1 (including) 4.2.8-p1 (including)
Ntp Ntp 4.2.8-p1-beta1 (including) 4.2.8-p1-beta1 (including)
Ntp Ntp 4.2.8-p1-beta2 (including) 4.2.8-p1-beta2 (including)
Ntp Ntp 4.2.8-p1-beta3 (including) 4.2.8-p1-beta3 (including)
Ntp Ntp 4.2.8-p1-beta4 (including) 4.2.8-p1-beta4 (including)
Ntp Ntp 4.2.8-p1-beta5 (including) 4.2.8-p1-beta5 (including)
Ntp Ntp 4.2.8-p1-rc1 (including) 4.2.8-p1-rc1 (including)
Ntp Ntp 4.2.8-p1-rc2 (including) 4.2.8-p1-rc2 (including)
Ntp Ntp 4.2.8-p10 (including) 4.2.8-p10 (including)
Ntp Ntp 4.2.8-p11 (including) 4.2.8-p11 (including)
Ntp Ntp 4.2.8-p12 (including) 4.2.8-p12 (including)
Ntp Ntp 4.2.8-p13 (including) 4.2.8-p13 (including)
Ntp Ntp 4.2.8-p2 (including) 4.2.8-p2 (including)
Ntp Ntp 4.2.8-p2-rc1 (including) 4.2.8-p2-rc1 (including)
Ntp Ntp 4.2.8-p2-rc2 (including) 4.2.8-p2-rc2 (including)
Ntp Ntp 4.2.8-p2-rc3 (including) 4.2.8-p2-rc3 (including)
Ntp Ntp 4.2.8-p3 (including) 4.2.8-p3 (including)
Ntp Ntp 4.2.8-p3-rc1 (including) 4.2.8-p3-rc1 (including)
Ntp Ntp 4.2.8-p3-rc2 (including) 4.2.8-p3-rc2 (including)
Ntp Ntp 4.2.8-p3-rc3 (including) 4.2.8-p3-rc3 (including)
Ntp Ntp 4.2.8-p4 (including) 4.2.8-p4 (including)
Ntp Ntp 4.2.8-p5 (including) 4.2.8-p5 (including)
Ntp Ntp 4.2.8-p6 (including) 4.2.8-p6 (including)
Ntp Ntp 4.2.8-p7 (including) 4.2.8-p7 (including)
Ntp Ntp 4.2.8-p8 (including) 4.2.8-p8 (including)
Ntp Ntp 4.2.8-p9 (including) 4.2.8-p9 (including)
Ntp Ubuntu bionic *
Ntp Ubuntu eoan *
Ntp Ubuntu groovy *
Ntp Ubuntu hirsute *
Ntp Ubuntu impish *
Ntp Ubuntu precise/esm *
Ntp Ubuntu trusty *
Ntp Ubuntu upstream *
Ntp Ubuntu xenial *
Red Hat Enterprise Linux 7 RedHat ntp-0:4.2.6p5-29.el7_8.2 *

Potential Mitigations

  • Use a well-vetted algorithm that is currently considered to be strong by experts in the field, and select well-tested implementations with adequate length seeds.
  • In general, if a pseudo-random number generator is not advertised as being cryptographically secure, then it is probably a statistical PRNG and should not be used in security-sensitive contexts.
  • Pseudo-random number generators can produce predictable numbers if the generator is known and the seed can be guessed. A 256-bit seed is a good starting point for producing a “random enough” number.

References