CVE Vulnerabilities

CVE-2020-14422

Use of Insufficiently Random Values

Published: Jun 18, 2020 | Modified: Nov 07, 2023
CVSS 3.x
5.9
MEDIUM
Source:
NVD
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 2.x
4.3 MEDIUM
AV:N/AC:M/Au:N/C:N/I:N/A:P
RedHat/V2
RedHat/V3
5.9 MODERATE
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Ubuntu
LOW

Lib/ipaddress.py in Python through 3.8.3 improperly computes hash values in the IPv4Interface and IPv6Interface classes, which might allow a remote attacker to cause a denial of service if an application is affected by the performance of a dictionary containing IPv4Interface or IPv6Interface objects, and this attacker can cause many dictionary entries to be created. This is fixed in: v3.5.10, v3.5.10rc1; v3.6.12; v3.7.9; v3.8.4, v3.8.4rc1, v3.8.5, v3.8.6, v3.8.6rc1; v3.9.0, v3.9.0b4, v3.9.0b5, v3.9.0rc1, v3.9.0rc2.

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
Python Python 3.0.0 (including) 3.5.10 (excluding)
Python Python 3.6.0 (including) 3.6.12 (excluding)
Python Python 3.7.0 (including) 3.7.9 (excluding)
Python Python 3.8.0 (including) 3.8.4 (excluding)
Leap Opensuse 15.1 (including) 15.1 (including)
Leap Opensuse 15.2 (including) 15.2 (including)
Red Hat Enterprise Linux 7 RedHat python3-0:3.6.8-18.el7 *
Red Hat Enterprise Linux 8 RedHat python3-0:3.6.8-31.el8 *
Red Hat Enterprise Linux 8 RedHat python38:3.8-8030020200818121840.4190259b *
Red Hat Enterprise Linux 8 RedHat python3-0:3.6.8-31.el8 *
Red Hat Software Collections for Red Hat Enterprise Linux 6 RedHat rh-python36-python-0:3.6.12-1.el6 *
Red Hat Software Collections for Red Hat Enterprise Linux 6 RedHat rh-python36-python-pip-0:9.0.1-5.el6 *
Red Hat Software Collections for Red Hat Enterprise Linux 6 RedHat rh-python36-python-virtualenv-0:15.1.0-3.el6 *
Red Hat Software Collections for Red Hat Enterprise Linux 7 RedHat rh-python36-python-0:3.6.12-1.el7 *
Red Hat Software Collections for Red Hat Enterprise Linux 7 RedHat rh-python36-python-pip-0:9.0.1-5.el7 *
Red Hat Software Collections for Red Hat Enterprise Linux 7 RedHat rh-python36-python-virtualenv-0:15.1.0-3.el7 *
Red Hat Software Collections for Red Hat Enterprise Linux 7 RedHat rh-python38-python-0:3.8.6-1.el7 *
Red Hat Software Collections for Red Hat Enterprise Linux 7 RedHat rh-python38-python-psutil-0:5.6.4-5.el7 *
Red Hat Software Collections for Red Hat Enterprise Linux 7 RedHat rh-python38-python-urllib3-0:1.25.7-6.el7 *
Red Hat Software Collections for Red Hat Enterprise Linux 7.6 EUS RedHat rh-python36-python-0:3.6.12-1.el7 *
Red Hat Software Collections for Red Hat Enterprise Linux 7.6 EUS RedHat rh-python36-python-pip-0:9.0.1-5.el7 *
Red Hat Software Collections for Red Hat Enterprise Linux 7.6 EUS RedHat rh-python36-python-virtualenv-0:15.1.0-3.el7 *
Red Hat Software Collections for Red Hat Enterprise Linux 7.6 EUS RedHat rh-python38-python-0:3.8.6-1.el7 *
Red Hat Software Collections for Red Hat Enterprise Linux 7.6 EUS RedHat rh-python38-python-psutil-0:5.6.4-5.el7 *
Red Hat Software Collections for Red Hat Enterprise Linux 7.6 EUS RedHat rh-python38-python-urllib3-0:1.25.7-6.el7 *
Red Hat Software Collections for Red Hat Enterprise Linux 7.7 EUS RedHat rh-python36-python-0:3.6.12-1.el7 *
Red Hat Software Collections for Red Hat Enterprise Linux 7.7 EUS RedHat rh-python36-python-pip-0:9.0.1-5.el7 *
Red Hat Software Collections for Red Hat Enterprise Linux 7.7 EUS RedHat rh-python36-python-virtualenv-0:15.1.0-3.el7 *
Red Hat Software Collections for Red Hat Enterprise Linux 7.7 EUS RedHat rh-python38-python-0:3.8.6-1.el7 *
Red Hat Software Collections for Red Hat Enterprise Linux 7.7 EUS RedHat rh-python38-python-psutil-0:5.6.4-5.el7 *
Red Hat Software Collections for Red Hat Enterprise Linux 7.7 EUS RedHat rh-python38-python-urllib3-0:1.25.7-6.el7 *
Python2.7 Ubuntu disco *
Python2.7 Ubuntu eoan *
Python2.7 Ubuntu groovy *
Python2.7 Ubuntu hirsute *
Python2.7 Ubuntu impish *
Python2.7 Ubuntu trusty *
Python3.4 Ubuntu trusty *
Python3.4 Ubuntu trusty/esm *
Python3.5 Ubuntu esm-infra-legacy/trusty *
Python3.5 Ubuntu trusty *
Python3.5 Ubuntu trusty/esm *
Python3.5 Ubuntu xenial *
Python3.6 Ubuntu bionic *
Python3.7 Ubuntu bionic *
Python3.7 Ubuntu eoan *
Python3.7 Ubuntu esm-apps/bionic *
Python3.7 Ubuntu trusty *
Python3.8 Ubuntu bionic *
Python3.8 Ubuntu eoan *
Python3.8 Ubuntu esm-apps/bionic *
Python3.8 Ubuntu focal *
Python3.8 Ubuntu groovy *
Python3.8 Ubuntu trusty *

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