CVE-2024-53862

7.5 HIGH

📋 TL;DR

This vulnerability in Argo Workflows allows attackers to retrieve archived workflows without proper authentication. When using client or SSO authentication modes, attackers can bypass token validation and access sensitive workflow data. This affects organizations running vulnerable versions of Argo Workflows with workflow archiving enabled.

💻 Affected Systems

Products:
  • Argo Workflows
Versions: 3.5.7, 3.5.8
Operating Systems: Linux (containerized on Kubernetes)
Default Config Vulnerable: ✅ No
Notes: Only vulnerable when using --auth-mode=client or --auth-mode=sso AND workflow archiving is enabled. The vulnerability requires archived workflows to exist.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could exfiltrate all archived workflows containing sensitive data like credentials, configuration secrets, or proprietary business logic, potentially leading to data breaches and operational compromise.

🟠

Likely Case

Unauthorized access to archived workflows exposing sensitive information such as environment variables, container images, and workflow parameters that may contain secrets.

🟢

If Mitigated

With proper network segmentation and access controls, impact is limited to unauthorized viewing of archived workflow metadata and configurations.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires sending HTTP requests to the vulnerable endpoint with crafted tokens. No special tools or deep knowledge needed beyond understanding the API structure.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.6.2 or 3.5.13

Vendor Advisory: https://github.com/argoproj/argo-workflows/security/advisories/GHSA-h36c-m3rf-34h9

Restart Required: Yes

Instructions:

1. Upgrade Argo Workflows to version 3.6.2 or 3.5.13. 2. Update the deployment manifests. 3. Restart all Argo Workflows components. 4. Verify the fix by testing token validation.

🔧 Temporary Workarounds

Disable workflow archiving

linux

Temporarily disable the workflow archive feature to prevent exploitation

kubectl edit configmap workflow-controller-configmap -n argo
Set archiveTTLSeconds: 0 or remove archive configuration

Network access restrictions

linux

Restrict access to Argo Workflows API endpoints using network policies or firewalls

kubectl apply -f network-policy.yaml (create policy restricting access to Argo API)

🧯 If You Can't Patch

  • Implement strict network segmentation to limit access to Argo Workflows API endpoints
  • Enable audit logging for all API requests and monitor for unauthorized access attempts

🔍 How to Verify

Check if Vulnerable:

Check Argo Workflows version: kubectl get deployment argo-server -n argo -o jsonpath='{.spec.template.spec.containers[0].image}'. If version is 3.5.7 or 3.5.8, you are vulnerable.

Check Version:

kubectl get deployment argo-server -n argo -o jsonpath='{.spec.template.spec.containers[0].image}' | grep -o 'v[0-9.]*'

Verify Fix Applied:

After patching, attempt to access archived workflows with invalid tokens via /api/v1/workflows/{namespace}/{name}. Requests should be rejected with proper authentication errors.

📡 Detection & Monitoring

Log Indicators:

  • Failed authentication attempts with invalid tokens to archived workflow endpoints
  • Successful GET requests to /api/v1/workflows/* without proper authentication logs

Network Indicators:

  • Unusual patterns of API requests to archived workflow endpoints
  • Requests with malformed or suspicious tokens

SIEM Query:

source="argo-server" AND (uri_path="/api/v1/workflows/*" OR message="archived workflow") AND (token_validation="failed" OR auth_result="bypassed")

🔗 References

📤 Share & Export