CVE-2022-24730

7.7 HIGH

📋 TL;DR

Argo CD versions 1.3.0 through 2.3.0 contain a path traversal vulnerability combined with improper access control. This allows authenticated users with read-only repository access to leak sensitive files from the repo-server, potentially exposing secrets and source code from other applications. Organizations using vulnerable Argo CD versions for Kubernetes deployments are affected.

💻 Affected Systems

Products:
  • Argo CD
Versions: 1.3.0 through 2.3.0 (excluding 2.1.11, 2.2.6, and 2.3.0)
Operating Systems: All platforms running Argo CD
Default Config Vulnerable: ⚠️ Yes
Notes: Requires user with read-only repository access. Vulnerable in default configurations where users have repository access.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete compromise of sensitive data including Kubernetes secrets, application source code, and mounted files from the repo-server, potentially leading to lateral movement and full cluster compromise.

🟠

Likely Case

Unauthorized access to sensitive files from other applications' repositories, exposing proprietary code and configuration secrets.

🟢

If Mitigated

Limited impact with proper network segmentation and minimal sensitive data on repo-server, though vulnerability still exists.

🌐 Internet-Facing: MEDIUM - Requires authenticated access but could be exploited if Argo CD API is exposed to internet.
🏢 Internal Only: HIGH - Internal attackers with read-only access can exploit this to escalate privileges and access sensitive data.

🎯 Exploit Status

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

Requires authenticated user with repository access and knowledge of target file paths. No public exploit code available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.1.11, 2.2.6, or 2.3.0

Vendor Advisory: https://github.com/argoproj/argo-cd/security/advisories/GHSA-r9cr-hvjj-496v

Restart Required: Yes

Instructions:

1. Backup current Argo CD configuration. 2. Upgrade to patched version (2.1.11, 2.2.6, or 2.3.0). 3. Restart Argo CD components. 4. Verify upgrade completed successfully.

🔧 Temporary Workarounds

No known workarounds

all

Vendor states there are no known workarounds for this vulnerability

🧯 If You Can't Patch

  • Restrict repository access to minimal required users only
  • Implement network segmentation to isolate repo-server from untrusted networks

🔍 How to Verify

Check if Vulnerable:

Check Argo CD version: kubectl get pods -n argocd -l app.kubernetes.io/name=argocd-server -o jsonpath='{.items[0].spec.containers[0].image}'

Check Version:

kubectl get pods -n argocd -l app.kubernetes.io/name=argocd-server -o jsonpath='{.items[0].spec.containers[0].image}'

Verify Fix Applied:

Verify version is 2.1.11, 2.2.6, or 2.3.0 using same command and test API endpoint with path traversal attempts

📡 Detection & Monitoring

Log Indicators:

  • Unusual API requests to /api/v1/repositories/*/appdetails with path traversal patterns
  • Error messages containing file contents in responses

Network Indicators:

  • Multiple failed attempts to access /api/v1/repositories endpoint with malformed paths
  • Unusual outbound data transfers from repo-server

SIEM Query:

source="argocd" AND (uri_path="/api/v1/repositories/*/appdetails" AND (request_contains="../" OR request_contains="/.."))

🔗 References

📤 Share & Export