CVE Vulnerabilities

CVE-2022-31034

Use of Insufficiently Random Values

Published: Jun 27, 2022 | Modified: Nov 21, 2024
CVSS 3.x
8.1
HIGH
Source:
NVD
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS 2.x
6.8 MEDIUM
AV:N/AC:M/Au:N/C:P/I:P/A:P
RedHat/V2
RedHat/V3
8.1 IMPORTANT
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Ubuntu

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. All versions of Argo CD starting with v0.11.0 are vulnerable to a variety of attacks when an SSO login is initiated from the Argo CD CLI or UI. The vulnerabilities are due to the use of insufficiently random values in parameters in Oauth2/OIDC login flows. In each case, using a relatively-predictable (time-based) seed in a non-cryptographically-secure pseudo-random number generator made the parameter less random than required by the relevant spec or by general best practices. In some cases, using too short a value made the entropy even less sufficient. The attacks on login flows which are meant to be mitigated by these parameters are difficult to accomplish but can have a high impact potentially granting an attacker admin access to Argo CD. Patches for this vulnerability has been released in the following Argo CD versions: v2.4.1, v2.3.5, v2.2.10 and v2.1.16. There are no known workarounds for this vulnerability.

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
Argo_cd Argoproj 0.11.0 (including) 2.1.16 (excluding)
Argo_cd Argoproj 2.2.9 (including) 2.2.9 (including)
Argo_cd Argoproj 2.3.4 (including) 2.3.4 (including)
Argo_cd Argoproj 2.4.0 (including) 2.4.0 (including)
Red Hat OpenShift GitOps 1.3 RedHat openshift-gitops-1/argocd-rhel8:v1.3.12-1 *
Red Hat OpenShift GitOps 1.3 RedHat openshift-gitops-1/argocd-rhel8:v1.3.11-4 *
Red Hat OpenShift GitOps 1.4 RedHat openshift-gitops-1/argocd-rhel8:v1.4.9-3 *
Red Hat OpenShift GitOps 1.5 RedHat openshift-gitops-1/argocd-rhel8:v1.5.3-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