Skip to main content

Argo CD CVE-2026-55797

| EUVDEUVD-2026-95912 HIGH
OS Command Injection (CWE-78)
2026-10-09 https://github.com/argoproj/argo-cd GHSA-j6cw-g6p4-7hch
8.8
CVSS 3.1 · Vendor: https://github.com/argoproj/argo-cd
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain repository create/update permission
  2. Delivery
    Add SSH repo with malicious proxy host
  3. Exploit
    Trigger connection test or fetch
  4. Execution
    ProxyCommand executes injected shell command
  5. Impact
    Read stored repo-server credentials

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK

2 techniques across 1 tactic: Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires (1) a Git repository configured to use SSH, and (2) a proxy URL (http, https, socks5, or socks5h all take this path for SSH repos) whose host contains shell metacharacters. The attacker must be able to set that proxy, meaning they hold repository create/update rights via a project-scoped repository permission, 'argocd repo add --proxy', or write access to a repository Secret / credential template; a credential template's proxy applies to every matching SSH repo lacking its own credentials. The command fires when Argo CD tests the repository connection and on subsequent fetches. LIMITING FACTORS: not exploitable by fully unauthenticated/anonymous users (PR:L - needs delegated repository or credential-template write privilege), does not apply to HTTPS Git repositories (which use the proxy as an HTTP proxy and never build the ProxyCommand), and only affects v2.11.0 onward (v2.10.20 and earlier are not vulnerable). No end-user interaction is required once the malicious proxy is stored.

Impact

This is a genuine high-priority issue for organizations running Argo CD, though not a mass-internet threat. The CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N) and the CWE-78 classification are internally consistent with the description: a network-reachable attacker with low-level privileges (the ability to create/update a repository or credential template) can inject OS commands into the repo-server with no user interaction. The C:H/I:H/A:H impact is well-supported - the repo-server process can read other Git, Helm, and OCI credentials, giving a path from a single project-scoped repository permission to broad credential theft and code execution, effectively a privilege-escalation/lateral-movement primitive inside the cluster. Signals partially conflict on exposure, however: it is NOT in CISA KEV and no public exploit was provided in the input, so this is 'no public exploit identified at time of analysis' rather than active exploitation - the 8.8 score reflects potential impact, not observed in-the-wild use. The critical limiting factor, which the raw score obscures, is PR:L: exploitation requires a pre-existing privileged position (repository write or credential-template management), so realistic risk concentrates in multi-tenant Argo CD deployments where repository permissions are delegated to less-trusted users. EPSS was not provided in the input and cannot be assessed. Patch availability is confirmed by the vendor, which should drive prompt remediation given the credential-exposure impact.

Exploit ScenarioDerived

A user holding project-scoped repository permissions in a multi-tenant Argo CD instance adds or updates an SSH Git repository (or a matching credential template) and sets its proxy field to a value whose host contains shell metacharacters. When Argo CD tests the connection or later fetches the repo, the repo-server builds an SSH ProxyCommand and executes the injected command, running attacker-controlled code that can exfiltrate other tenants' stored Git, Helm, and OCI credentials. No public exploit code was identified at time of analysis, but the technique is straightforward given the documented ProxyCommand string-building flaw.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 1.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 09, 2026

Command injection in the Argo CD repo-server allows anyone holding repository create/update privileges to execute arbitrary shell commands on the repo-server by configuring an SSH Git repository with a proxy URL whose hostname contains shell metacharacters. The flaw affects all Argo CD releases from v2.11.0 onward (v2.10.20 and earlier are not vulnerable) and carries a CVSS v3.1 score of 8.8 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H); exploitation requires delegated repository or repository-credential-template write access (PR:L), not anonymous access, and no user interaction is needed once the malicious proxy is stored. No public exploit code and no confirmed active exploitation were identified at time of analysis, and vendor patches are available in v3.3.15, v3.4.10, v3.5.4, and v3.6.0-rc2.

RemediationAI

Vendor-released patch: upgrade to Argo CD v3.3.15, v3.4.10, v3.5.4, or v3.6.0-rc2, all of which are published in the GHSA-j6cw-g6p4-7hch advisory and correspond to upstream fix commit 1e3ddd0b7250aa23f489956b5fab8c13d0493a9f, which removes shell interpretation of the proxy host and port. Argo CD 2.x and 3.0 through 3.2 are end-of-support and will not receive patches, so operators on those lines must upgrade to a patched 3.3 or newer release. No configuration exists that preserves SSH repository proxy support while removing the shell command, so until upgrading, apply these compensating controls: revoke repository create/update permissions from untrusted users, including project-scoped repository access and write access to repository Secrets and credential templates (the RBAC model is documented at https://argo-cd.readthedocs.io/en/stable/operator-manual/rbac/#rbac-model-structure and project-scoped repositories at https://argo-cd.readthedocs.io/en/stable/user-guide/projects/#project-scoped-repositories-and-clusters); audit existing repository and credential-template Secrets for unexpected proxy values, since a credential template's proxy applies to every matching SSH repository that lacks its own credentials; and avoid setting proxy values on SSH repositories or on credential templates that match SSH repositories altogether (see https://argo-cd.readthedocs.io/en/stable/operator-manual/declarative-setup/#configure-repositories-with-proxy and https://argo-cd.readthedocs.io/en/stable/user-guide/private-repositories/#credential-templates). The trade-off is that SSH Git repositories that genuinely require a proxy will stop working while the proxy is unset, and tightening repository RBAC can disrupt normal onboarding or GitOps workflows; HTTPS Git repositories with HTTP proxies are unaffected and need no change.

Affected VersionsENISA

argo-cd 3.5.0, < 3.5.4
argo-cd 3.0.0, < 3.3.15
argo-cd 2.11.0, ≤ 2.14.21
argo-cd = 3.6.0-rc1
argo-cd 3.4.0, < 3.4.10

Affected Packages

go github.com/argoproj/argo-cd/v2 no fix
go github.com/argoproj/argo-cd/v3 fix: 3.3.15, 3.4.10, 3.5.4, 3.6.0-rc2
euvd argo_cd fix: 3.3.15, 3.4.10, 3.5.4

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

This is a CWE-78 OS command injection rooted in how the Argo CD repo-server builds the SSH transport for Git operations. When an SSH Git repository is configured with a proxy (http, https, socks5, or socks5h all take this code path for SSH repos; HTTPS Git repos instead use the proxy as an HTTP proxy and never build the ProxyCommand), the proxy host and port are interpolated into an SSH ProxyCommand that is embedded in the shell-interpreted GIT_SSH_COMMAND environment string. A hostname containing shell metacharacters breaks out of that command and executes inside the repo-server process, which holds other Git, Helm, and OCI credentials in memory and on disk. The vulnerable behavior was introduced by commit 9b27aeb1a4 (#15864, 2024-01-09), which added SOCKS5 proxy support for SSH Git URLs, and first shipped in v2.11.0. The vendor fix (commit 1e3ddd0b7250aa23f489956b5fab8c13d0493a9f) stops passing the proxy host and port through a shell: it validates proxy URLs by allowing only alphanumerics, hyphens, and dots in hostnames (with strict IPv6 parsing for colon-containing hosts) and replaces the inline shell command with a generated temporary wrapper script invoked directly, logging high-severity security events when unsafe proxy URLs are rejected.

Know when Kubernetes gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (https://github.com/argoproj/argo-cd) PRIMARY 8.8 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 8.8 HIGH

Network-reachable via the repo API with no user interaction (AV:N/AC:L/UI:N); requires delegated repository or credential-template write rights, so PR:L not PR:N; command execution in repo-server yields full C/I/A impact.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (https://github.com/argoproj/argo-cd).

CVSS VectorVendor: https://github.com/argoproj/argo-cd

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

DescriptionCVE.org

Impact

Argo CD runs a shell command in the repo-server when it clones or fetches an SSH Git repository that has a proxy URL. The proxy host and port are copied into an SSH ProxyCommand. A host that contains shell metacharacters breaks out of that command and runs in the repo-server.

All versions from v2.11.0 onward are affected, including every currently supported release. v2.10.20 and earlier are not. The behavior was introduced in 9b27aeb1a4 (2024-01-09, #15864), the change that added SOCKS5 proxy support for SSH Git URLs, and was first released in v2.11.0.

The repository must use SSH. http, https, and socks5 proxy URLs all take this path when they are set on an SSH repository. An HTTPS Git repository uses the proxy as an HTTP proxy and does not build this command.

Anyone who can create or update a repository or a repository credential template can set the proxy. That includes a project-scoped repository permission, argocd repo add --proxy, and a repository Secret. A credential template applies its proxy to every matching SSH repository that does not have its own credentials. Argo CD runs the command when it tests the repository connection and on later fetches. The process can read other Git, Helm, and OCI credentials stored for the repo-server.

Patches

A patch for this vulnerability has been released in the following Argo CD versions:

  • v3.6.0-rc2
  • v3.5.4
  • v3.4.10
  • v3.3.15

The fix stops passing the proxy host and port through a shell.

Argo CD 2.x and 3.0 through 3.2 are out of support and will not receive a patch. Upgrade to a patched 3.3 or newer release.

Workarounds

There is no setting that keeps SSH repository proxies and removes the shell command.

An HTTPS Git repository with an HTTP proxy does not use this command. Review existing repository and credential-template Secrets for unexpected proxy values.

Credits

The Argo CD team would like to thank @kamil-sawicki, @yuvalelarat, @cherez0ff, @McCaulay, @gehan-psbc, @ria-labs-security, @parameter-ai-security, and @zwindler for responsibly disclosing this issue according to our security reporting guidelines.

References

For more information

Technical POC Analysis

CWE-78.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Argo CD releases from v2.11.0 onward carry a command injection flaw in the repo-server that allows a user with delegated repository or repository-credential-template write access to run arbitrary shell commands on the repo-server host. Since Argo CD usually sits at the center of an organization's software delivery pipeline, a single privileged or compromised repository-writing identity could pivot into build infrastructure, deployment credentials, and downstream production environments. Leadership should note that the attacker must already hold trusted delegated access rather than being anonymous, but the potential blast radius extends across pipeline integrity and any secrets reachable from the repo-server.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
1.5%
Top 26% exploitable
Prevalence
High
de facto standard GitOps controller across Kubernetes enterprise deployments
Threat Intel
1
1 sources
Social Media
4
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 1.5%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

46
Low Medium High Critical
KEV: 0
EPSS: +2
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

OS command injection occurs when an application passes unsanitized user input directly into system shell commands.

CVE-2025-1974 CRITICAL POC
9.8 Mar 25

A critical vulnerability in Kubernetes ingress-nginx controller allows unauthenticated attackers with pod network access

CVE-2026-45321 CRITICAL POC
9.6 May 12

Credential-harvesting malware compromised 84 versions of 42 TanStack npm packages on 2026-05-11 via chained GitHub Actio

CVE-2025-1098 HIGH POC
8.8 Mar 25

Kubernetes ingress-nginx contains a configuration injection vulnerability via the mirror-target and mirror-host Ingress

CVE-2025-24514 HIGH POC
8.8 Mar 25

A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-url` Ingres

CVE-2025-1097 HIGH POC
8.8 Mar 25

A security issue was discovered in ingress-nginx https://github.com/kubernetes/ingress-nginx where the `auth-tls-match-c

CVE-2020-8554 MEDIUM POC
6.3 Jan 21

Kubernetes API server in all versions allow an attacker who is able to create a ClusterIP service and set the spec.exter

CVE-2023-3676 HIGH POC
8.8 Oct 31

A security issue was discovered in Kubernetes where a user that can create pods on Windows nodes may be able to escalate

CVE-2025-55190 CRITICAL POC
9.9 Sep 04

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Rated critical severity (CVSS 9.9), this vulne

CVE-2026-34976 CRITICAL POC
10.0 Apr 02

Unauthenticated remote attackers can trigger complete database overwrites, server-side file reads, and SSRF attacks agai

CVE-2018-18843 CRITICAL POC
10.0 Dec 04

The Kubernetes integration in GitLab Enterprise Edition 11.x before 11.2.8, 11.3.x before 11.3.9, and 11.4.x before 11.4

CVE-2026-54680 CRITICAL POC
9.9 Jul 29

Fluentd configuration injection in the kube-logging Logging operator before 6.6.0 allows a namespace-scoped user who can

CVE-2026-22039 CRITICAL POC
9.9 Jan 27

Kyverno Kubernetes policy engine prior to 1.x has a privilege escalation vulnerability (CVSS 9.9) allowing policy bypass

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy