CVE Vulnerabilities

CVE-2020-2099

Use of Insufficiently Random Values

Published: Jan 29, 2020 | Modified: Oct 25, 2023
CVSS 3.x
8.6
HIGH
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L
CVSS 2.x
7.5 HIGH
AV:N/AC:L/Au:N/C:P/I:P/A:P
RedHat/V2
RedHat/V3
8.6 IMPORTANT
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L
Ubuntu

Jenkins 2.213 and earlier, LTS 2.204.1 and earlier improperly reuses encryption key parameters in the Inbound TCP Agent Protocol/3, allowing unauthorized attackers with knowledge of agent names to obtain the connection secrets for those agents, which can be used to connect to Jenkins, impersonating those agents.

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
Jenkins Jenkins * 2.204.1 (including)
Jenkins Jenkins * 2.218 (including)
Red Hat OpenShift Container Platform 3.11 RedHat atomic-enterprise-service-catalog-1:3.11.170-1.git.1.91db82e.el7 *
Red Hat OpenShift Container Platform 3.11 RedHat atomic-openshift-0:3.11.170-1.git.0.00cac56.el7 *
Red Hat OpenShift Container Platform 3.11 RedHat atomic-openshift-cluster-autoscaler-0:3.11.170-1.git.1.0a0df6a.el7 *
Red Hat OpenShift Container Platform 3.11 RedHat atomic-openshift-descheduler-0:3.11.170-1.git.1.9ad83f2.el7 *
Red Hat OpenShift Container Platform 3.11 RedHat atomic-openshift-dockerregistry-0:3.11.170-1.git.1.55fab05.el7 *
Red Hat OpenShift Container Platform 3.11 RedHat atomic-openshift-metrics-server-0:3.11.170-1.git.1.357f177.el7 *
Red Hat OpenShift Container Platform 3.11 RedHat atomic-openshift-node-problem-detector-0:3.11.170-1.git.1.b1f90a6.el7 *
Red Hat OpenShift Container Platform 3.11 RedHat atomic-openshift-service-idler-0:3.11.170-1.git.1.8328979.el7 *
Red Hat OpenShift Container Platform 3.11 RedHat atomic-openshift-web-console-0:3.11.170-1.git.1.3d64e8b.el7 *
Red Hat OpenShift Container Platform 3.11 RedHat cri-o-0:1.11.16-0.5.dev.rhaos3.11.git3f89eba.el7 *
Red Hat OpenShift Container Platform 3.11 RedHat golang-github-openshift-oauth-proxy-0:3.11.170-1.git.1.b49be83.el7 *
Red Hat OpenShift Container Platform 3.11 RedHat golang-github-prometheus-alertmanager-0:3.11.170-1.git.1.61d7960.el7 *
Red Hat OpenShift Container Platform 3.11 RedHat golang-github-prometheus-node_exporter-0:3.11.170-1.git.1.51473b7.el7 *
Red Hat OpenShift Container Platform 3.11 RedHat golang-github-prometheus-prometheus-0:3.11.170-1.git.1.227bc98.el7 *
Red Hat OpenShift Container Platform 3.11 RedHat jenkins-0:2.204.2.1580891656-1.el7 *
Red Hat OpenShift Container Platform 3.11 RedHat jenkins-2-plugins-0:3.11.1579107288-1.el7 *
Red Hat OpenShift Container Platform 3.11 RedHat openshift-ansible-0:3.11.170-2.git.5.8802564.el7 *
Red Hat OpenShift Container Platform 3.11 RedHat openshift-enterprise-autoheal-0:3.11.170-1.git.1.dfe6c52.el7 *
Red Hat OpenShift Container Platform 3.11 RedHat openshift-enterprise-cluster-capacity-0:3.11.170-1.git.1.661684b.el7 *
Red Hat OpenShift Container Platform 3.11 RedHat openshift-kuryr-0:3.11.170-1.git.1.7265da1.el7 *
Red Hat OpenShift Container Platform 4.3 RedHat jenkins-0:2.204.2.1583446818-1.el7 *

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