CVE-2024-53862
📋 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
- Argo Workflows
📦 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.
🎯 Exploit Status
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
linuxTemporarily 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
linuxRestrict 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")