CVE-2022-29164
📋 TL;DR
This vulnerability in Argo Workflows allows authenticated attackers to create malicious workflows that generate HTML artifacts containing scripts. When victims open these artifacts, the scripts execute with the victim's permissions, enabling unauthorized access to workflow data and management functions. Only authenticated users within the same Kubernetes cluster can exploit this vulnerability.
💻 Affected Systems
- Argo Workflows
📦 What is this software?
⚠️ Risk & Real-World Impact
Worst Case
Attackers could read sensitive workflow data, delete critical workflows, or create malicious workflows that compromise the entire Kubernetes cluster.
Likely Case
Insider threats could exfiltrate workflow metadata, disrupt business processes by deleting workflows, or escalate privileges within the Argo Workflows environment.
If Mitigated
With proper network segmentation and least privilege access, impact would be limited to workflow data within the attacker's authorized scope.
🎯 Exploit Status
Exploitation requires insider access, workflow creation privileges, and understanding of the target's Argo Server API endpoints.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: v3.3.1 or v3.2.11
Vendor Advisory: https://github.com/argoproj/argo-workflows/security/advisories/GHSA-cmv8-6362-r5w9
Restart Required: Yes
Instructions:
1. Backup your workflows and configurations. 2. Update Argo Workflows to v3.3.1 or v3.2.11 using Helm or kubectl. 3. Restart all Argo Workflows components. 4. Verify the update with 'argo version' command.
🔧 Temporary Workarounds
Disable HTML Artifact Access
linuxRestrict access to HTML artifacts by modifying ingress/network policies to block direct artifact access
kubectl apply -f network-policy.yaml # Create network policy restricting artifact access
Implement Content Security Policy
allAdd CSP headers to block inline script execution in HTML artifacts
argo-server --csp "default-src 'self'; script-src 'self'" # Example CSP configuration
🧯 If You Can't Patch
- Implement strict RBAC to limit workflow creation and artifact access to trusted users only
- Monitor for suspicious workflow creations and HTML artifact generation patterns
🔍 How to Verify
Check if Vulnerable:
Check Argo Workflows version with 'argo version' or 'kubectl get deployment argo-server -o yaml | grep image'
Check Version:
argo version
Verify Fix Applied:
Confirm version is v3.3.1 or v3.2.11+ and test that HTML artifacts no longer execute scripts with API access
📡 Detection & Monitoring
Log Indicators:
- Unusual HTML artifact generation patterns
- Workflow creations from unexpected users
- API calls from artifact URLs
Network Indicators:
- HTTP requests from artifact endpoints to Argo Server API
- Cross-origin requests from artifact domains
SIEM Query:
source="argo-server" AND (artifact_type="html" OR uri="/artifacts/*.html") AND status=200
🔗 References
- https://github.com/argoproj/argo-workflows/commit/87470e1c2bf703a9110e97bb755614ce8757fdcc
- https://github.com/argoproj/argo-workflows/pull/8585
- https://github.com/argoproj/argo-workflows/security/advisories/GHSA-cmv8-6362-r5w9
- https://github.com/argoproj/argo-workflows/commit/87470e1c2bf703a9110e97bb755614ce8757fdcc
- https://github.com/argoproj/argo-workflows/pull/8585
- https://github.com/argoproj/argo-workflows/security/advisories/GHSA-cmv8-6362-r5w9