CVE Vulnerabilities

CVE-2024-40634

Uncontrolled Resource Consumption

Published: Jul 22, 2024 | Modified: Jan 09, 2025
CVSS 3.x
7.5
HIGH
Source:
NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 2.x
RedHat/V2
RedHat/V3
7.5 IMPORTANT
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Ubuntu

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. This report details a security vulnerability in Argo CD, where an unauthenticated attacker can send a specially crafted large JSON payload to the /api/webhook endpoint, causing excessive memory allocation that leads to service disruption by triggering an Out Of Memory (OOM) kill. The issue poses a high risk to the availability of Argo CD deployments. This vulnerability is fixed in 2.11.6, 2.10.15, and 2.9.20.

Weakness

The product does not properly control the allocation and maintenance of a limited resource.

Affected Software

Name Vendor Start Version End Version
Argo_cd Argoproj 1.0.0 (including) 2.9.20 (excluding)
Argo_cd Argoproj 2.10.0 (including) 2.10.15 (excluding)
Argo_cd Argoproj 2.11.0 (including) 2.11.6 (excluding)
Red Hat OpenShift GitOps 1.11 RedHat openshift-gitops-1/argocd-rhel8:v1.11.7-2 *
Red Hat OpenShift GitOps 1.11 RedHat openshift-gitops-1/argo-rollouts-rhel8:v1.11.7-2 *
Red Hat OpenShift GitOps 1.11 RedHat openshift-gitops-1/console-plugin-rhel8:v1.11.7-2 *
Red Hat OpenShift GitOps 1.11 RedHat openshift-gitops-1/dex-rhel8:v1.11.7-2 *
Red Hat OpenShift GitOps 1.11 RedHat openshift-gitops-1/gitops-operator-bundle:v1.11.7-2 *
Red Hat OpenShift GitOps 1.11 RedHat openshift-gitops-1/gitops-rhel8:v1.11.7-2 *
Red Hat OpenShift GitOps 1.11 RedHat openshift-gitops-1/gitops-rhel8-operator:v1.11.7-2 *
Red Hat OpenShift GitOps 1.11 RedHat openshift-gitops-1/kam-delivery-rhel8:v1.11.7-2 *
Red Hat OpenShift GitOps 1.11 RedHat openshift-gitops-1/must-gather-rhel8:v1.11.7-2 *
Red Hat OpenShift GitOps 1.12 RedHat openshift-gitops-1/argocd-rhel8:v1.12.5-5 *
Red Hat OpenShift GitOps 1.12 RedHat openshift-gitops-1/argo-rollouts-rhel8:v1.12.5-5 *
Red Hat OpenShift GitOps 1.12 RedHat openshift-gitops-1/console-plugin-rhel8:v1.12.5-5 *
Red Hat OpenShift GitOps 1.12 RedHat openshift-gitops-1/dex-rhel8:v1.12.5-5 *
Red Hat OpenShift GitOps 1.12 RedHat openshift-gitops-1/gitops-operator-bundle:v1.12.5-5 *
Red Hat OpenShift GitOps 1.12 RedHat openshift-gitops-1/gitops-rhel8:v1.12.5-5 *
Red Hat OpenShift GitOps 1.12 RedHat openshift-gitops-1/gitops-rhel8-operator:v1.12.5-5 *
Red Hat OpenShift GitOps 1.12 RedHat openshift-gitops-1/kam-delivery-rhel8:v1.12.5-5 *
Red Hat OpenShift GitOps 1.12 RedHat openshift-gitops-1/must-gather-rhel8:v1.12.5-5 *
Red Hat OpenShift GitOps 1.12 - RHEL 9 RedHat openshift-gitops-argocd-rhel9-container-v1.12.5-2 *
Red Hat OpenShift GitOps 1.13 RedHat openshift-gitops-1/argocd-rhel8:v1.13.1-6 *
Red Hat OpenShift GitOps 1.13 RedHat openshift-gitops-1/argo-rollouts-rhel8:v1.13.1-6 *
Red Hat OpenShift GitOps 1.13 RedHat openshift-gitops-1/console-plugin-rhel8:v1.13.1-6 *
Red Hat OpenShift GitOps 1.13 RedHat openshift-gitops-1/dex-rhel8:v1.13.1-6 *
Red Hat OpenShift GitOps 1.13 RedHat openshift-gitops-1/gitops-operator-bundle:v1.13.1-6 *
Red Hat OpenShift GitOps 1.13 RedHat openshift-gitops-1/gitops-rhel8:v1.13.1-6 *
Red Hat OpenShift GitOps 1.13 RedHat openshift-gitops-1/gitops-rhel8-operator:v1.13.1-6 *
Red Hat OpenShift GitOps 1.13 RedHat openshift-gitops-1/kam-delivery-rhel8:v1.13.1-6 *
Red Hat OpenShift GitOps 1.13 RedHat openshift-gitops-1/must-gather-rhel8:v1.13.1-6 *
Red Hat OpenShift GitOps 1.13 RedHat openshift-gitops-argocd-rhel9-container-v1.13.1-1 *

Potential Mitigations

  • Mitigation of resource exhaustion attacks requires that the target system either:

  • The first of these solutions is an issue in itself though, since it may allow attackers to prevent the use of the system by a particular valid user. If the attacker impersonates the valid user, they may be able to prevent the user from accessing the server in question.

  • The second solution is simply difficult to effectively institute – and even when properly done, it does not provide a full solution. It simply makes the attack require more resources on the part of the attacker.

References