CVE Vulnerabilities

CVE-2020-8631

Use of Insufficiently Random Values

Published: Feb 05, 2020 | Modified: Nov 21, 2024
CVSS 3.x
5.5
MEDIUM
Source:
NVD
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
CVSS 2.x
2.1 LOW
AV:L/AC:L/Au:N/C:P/I:N/A:N
RedHat/V2
RedHat/V3
8.1 MODERATE
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Ubuntu
LOW
root.io logo minimus.io logo echo.ai logo

cloud-init through 19.4 relies on Mersenne Twister for a random password, which makes it easier for attackers to predict passwords, because rand_str in cloudinit/util.py calls the random.choice function.

Weakness

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

Affected Software

NameVendorStart VersionEnd Version
Cloud-initCanonical*19.4 (including)
Red Hat Enterprise Linux 7RedHatcloud-init-0:19.4-7.el7*
Red Hat Enterprise Linux 8RedHatcloud-init-0:19.4-11.el8*
Cloud-initUbuntubionic*
Cloud-initUbuntueoan*
Cloud-initUbuntuesm-infra/bionic*
Cloud-initUbuntuesm-infra/xenial*
Cloud-initUbuntugroovy*
Cloud-initUbuntutrusty*
Cloud-initUbuntuupstream*
Cloud-initUbuntuxenial*

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