☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2024-52814

CVE-2024-52814 Supply Chain Attack in Argo
📅 PUBLISHED: 2024-11-22 15:53 UTC 🔄 UPDATED: 2026-09-23 20:37 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.18%
👁️
0.18% probability
4.4× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
Patch available — upgrade to latest release
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
2.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2024-52814 is a low-severity privilege assignment vulnerability in the Argo Helm charts, specifically within the workflow-role RBAC configuration. The issue, present in versions prior to 0.45.0, grants excessive permissions to all workflow Pods for workflowtasksets and workflowartifactgctasks resources. This lack of granularity means that Pods which do not require these privileges can still access them, potentially allowing a compromised or malicious Pod to interfere with status reporting for certain Pod types and templates. The impact is minimal due to the limited scope of the affected resources, but it violates the principle of least privilege and could be leveraged in a multi-tenant or high-security environment.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

This vulnerability affects the Argo Helm charts, which are community-maintained Helm packages for deploying Argo projects (e.g., Argo Workflows, Argo CD). As a supply chain issue, organizations using these charts should verify their Helm chart versions and ensure they are not deploying an over-privileged RBAC configuration. The fix is available in version 0.45.0, and users should update their chart dependencies accordingly.

CVSS Breakdown & Threat Level

  • CVSS Score: 2.8 (Low)
  • Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N
  • Attack Vector (AV): Local – The attacker must have local access to a Pod.
  • Attack Complexity (AC): Low – No special conditions required.
  • Privileges Required (PR): Low – Attacker needs low-level Pod access.
  • User Interaction (UI): None – No user action needed.
  • Scope (S): Unchanged – The vulnerability does not cross trust boundaries.
  • Confidentiality (C): None – No data exposure.
  • Integrity (I): Low – Limited ability to affect status reporting.
  • Availability (A): None – No denial of service.

Threat Level: Low. The EPSS score of 0.0% indicates no active exploitation in the wild. The vulnerability is primarily a hardening issue rather than an active attack vector.

Deep Dive & Mechanics

The vulnerability resides in the RBAC (Role-Based Access Control) configuration of the Argo Helm charts. The workflow-role is a ClusterRole or Role that grants permissions to workflow Pods. In versions prior to 0.45.0, this role includes permissions for workflowtasksets and workflowartifactgctasks resources across all workflow Pods, regardless of whether they need them.

  • Affected Component: charts/argo-workflows/templates/controller/workflow-role.yaml (or similar path in the Helm chart).
  • Root Cause: The RBAC rules are too broad. The workflow-role grants get, list, watch, create, update, patch, delete (or a subset) on workflowtasksets and workflowartifactgctasks to all workflow Pods. Only specific Pods (e.g., those created by the Controller for certain template types) require these permissions.
  • Attack Scenario: An attacker who gains access to a workflow Pod (e.g., via a compromised container image or a malicious workflow step) can abuse these permissions to manipulate workflowtasksets or workflowartifactgctasks resources. This could allow them to:
    • Modify task statuses.
    • Delete or alter artifact garbage collection tasks.
    • Disrupt status reporting for certain Pods and templates.

The impact is limited because these resources are internal to the Argo Workflows system and do not provide access to sensitive data or critical system functions.

Vulnerable vs. Patched Code

Vulnerable Code (pre-0.45.0): In the workflow-role.yaml file, the RBAC rules might look like:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: workflow-role
rules:
- apiGroups: ["argoproj.io"]
  resources: ["workflowtasksets", "workflowartifactgctasks"]
  verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]

Patched Code (0.45.0): The fix introduces a more specific role or uses resourceNames to restrict permissions to only the Pods that need them. For example:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: workflow-role
rules:
- apiGroups: ["argoproj.io"]
  resources: ["workflowtasksets", "workflowartifactgctasks"]
  verbs: ["get", "list", "watch", "create", "update", "patch", "delete"]
  # Added resourceNames or a separate role for specific Pods
  resourceNames: ["specific-pod-name-*"]

Alternatively, the fix may involve creating a separate, more restrictive role for general workflow Pods and a dedicated role for the Controller's Pods that require these permissions.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Access to a Kubernetes cluster running Argo Workflows with Helm chart version < 0.45.0.
  • Ability to execute commands inside a workflow Pod (e.g., via a malicious container image or a compromised workflow step).

Exploitation Steps:

  1. Identify a vulnerable Pod: List workflow Pods and check their associated ServiceAccount.
    kubectl get pods -n <namespace> -l workflows.argoproj.io/workflow=<workflow-name>
    
  2. Access the Pod: Use kubectl exec to get a shell.
    kubectl exec -it <pod-name> -n <namespace> -- /bin/sh
    
  3. Check current permissions: Use kubectl auth can-i to verify access to workflowtasksets.
    kubectl auth can-i create workflowtasksets -n <namespace>
    
    If the response is yes, the Pod has excessive privileges.
  4. Exploit the permissions: Create a malicious workflowtaskset to disrupt status reporting.
    kubectl create -f - <<EOF
    apiVersion: argoproj.io/v1alpha1
    kind: WorkflowTaskSet
    metadata:
      name: malicious-taskset
      namespace: <namespace>
    spec:
      tasks:
      - name: fake-task
        template: fake-template
    EOF
    
    This could cause the Controller to report incorrect statuses or fail to process legitimate tasks.

Note: No public exploit code is available for this CVE.

Blue Team

Detection and Response:

  1. Monitor RBAC changes: Use Kubernetes audit logs to detect unauthorized creation or modification of workflowtasksets or workflowartifactgctasks resources.
  2. Review Pod permissions: Regularly audit ServiceAccounts and their associated roles to ensure least privilege.
  3. Alert on anomalous API calls: Set up alerts for create, update, patch, or delete operations on these resources from unexpected Pods.
  4. Harden Helm charts: Ensure all Helm chart deployments use the latest version (0.45.0 or later) and validate RBAC configurations.

Lab Setup:

  • Deploy a vulnerable Argo Workflows instance using Helm chart version 0.44.0.
  • Create a workflow with a step that runs a container with kubectl installed.
  • Use the container to test the excessive permissions.

Indicators of Compromise (IOCs)

  • Kubernetes Audit Logs: Entries showing create, update, patch, or delete operations on workflowtasksets or workflowartifactgctasks resources from Pods that are not the Controller.
  • Unexpected WorkflowTaskSet Resources: Presence of WorkflowTaskSet objects with names or specifications that do not match expected workflow patterns.
  • Abnormal Status Reports: Workflow statuses that are inconsistent with actual task execution (e.g., tasks marked as completed when they were not started).
  • ServiceAccount Anomalies: ServiceAccounts with excessive permissions beyond the workflow-role baseline.

Detection Engineering

YARA Rule

rule CVE_2024_52814_Argo_Helm_RBAC {
   meta:
      description = "Detects over-privileged RBAC configuration in Argo Helm charts"
      author = "Valters IT"
      date = "2025-04-10"
      cve = "CVE-2024-52814"
   strings:
      $rbac_rule = /resources: \[.*workflowtasksets.*workflowartifactgctasks.*\]/ nocase
      $broad_verbs = /verbs: \[.*(create|update|patch|delete).*\]/ nocase
   condition:
      $rbac_rule and $broad_verbs
}

Sigma Rule

title: CVE-2024-52814 - Excessive RBAC Permissions for Argo Workflow Pods
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects creation or modification of workflowtasksets or workflowartifactgctasks resources by non-Controller Pods
author: Valters IT
date: 2025-04-10
logsource:
   product: kubernetes
   service: audit
detection:
   selection:
      objectRef.resource: ["workflowtasksets", "workflowartifactgctasks"]
      verb: ["create", "update", "patch", "delete"]
      user.username|startswith: "system:serviceaccount:"
   filter:
      user.username|contains: "argo-workflows-controller"
   condition: selection and not filter
falsepositives:
   - Legitimate Controller operations
level: low
tags:
   - attack.t1068
   - cve.2024-52814

Suricata Rule

alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2024-52814 - Argo Helm RBAC Exploitation Attempt"; flow:to_server,established; content:"workflowtasksets"; nocase; content:"create"; nocase; distance:0; within:100; classtype:attempted-admin; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade Helm chart: Update to version 0.45.0 or later.
    helm upgrade <release-name> argo/argo-workflows --version 0.45.0
    
  2. Verify RBAC: After upgrade, check that the workflow-role no longer grants broad permissions.
    kubectl describe clusterrole workflow-role
    

Long-term Mitigations:

  • Principle of Least Privilege: Regularly audit all RBAC configurations in the cluster.
  • Network Policies: Restrict Pod-to-API server communication to only necessary endpoints.
  • Pod Security Standards: Enforce baseline or restricted Pod Security Standards to limit container capabilities.
  • Monitoring: Implement continuous monitoring of Kubernetes audit logs for anomalous RBAC usage.

Workarounds (if upgrade is not possible):

  • Manually edit the workflow-role ClusterRole to remove workflowtasksets and workflowartifactgctasks permissions from general workflow Pods, and create a separate role for the Controller's Pods.

Valters IT
Securing DevOps, One CVE at a Time.

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2024-52814/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.