Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain access to Git repository configuration
-
DeliverySet malicious proxy URL on SSH repo
-
ExploitInject shell metacharacters into SSH command
-
ExecutionExecute arbitrary commands in Image Updater process
-
ImpactAccess and exfiltrate Git 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 | Exploitation requires the attacker to be able to set the proxy URL on an SSH Git repository consumed by Argo CD Image Updater, and the vulnerable code path is the SSH credential handling that passes that proxy value unsanitized into a shell-interpreted SSH command (ProxyCommand/GIT_SSH_COMMAND, via connect-proxy). The deployment must therefore use SSH Git credentials with a proxy configured. Limiting factors: the attacker needs existing privilege to create or modify the repository/proxy configuration (consistent with CVSS PR:L), so this is not anonymous exploitation; the fixed releases reject non-conforming proxy URLs (allow-listed schemes socks5/socks5h for SSH, safe hostname characters only, valid port) which closes the path. Per the vendor fix, upgrading to a patched release is the remediation. |
| Impact | This is a credible, action-worthy issue but not an emergency. The input CVSS vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H, base 8.8) indicates a network-reachable, low-complexity flaw requiring some existing privilege (PR:L) and no user interaction, with full compromise of confidentiality, integrity, and availability within the Image Updater process scope. The exploitation mechanism is well-understood from the source evidence: the fix PR (argocd-image-updater #1905) adds strict proxy-URL validation (scheme allow-listing, hostname character regex, IPv6/port checks) precisely because a proxy value was being interpolated unsanitized into a shell-interpreted SSH ProxyCommand/GIT_SSH_COMMAND - this directly corroborates the CWE-78 command-injection description rather than relying on paraphrase. The vuln.today decision label is 'this_week', consistent with a serious-but-not-active-exploitation posture. No EPSS score, no CISA KEV listing, and no public exploit were provided in the input, so there is no signal of widespread or active exploitation; the only linked code is the vendor fix, not a working exploit. The main qualifier on real-world risk is the PR:L requirement: an attacker must already be able to set the proxy field on an SSH Git repository definition, which limits this to actors with some level of repository/configuration access rather than fully anonymous internet attackers. EPSS and KEV data are missing, so exploitation probability cannot be quantified from the provided signals - treat urgency as governed by the 'this_week' decision label. |
| Exploit ScenarioDerived | An attacker who can define or edit an SSH Git repository used by Argo CD Image Updater sets the repository's proxy URL to a value containing shell metacharacters. When Image Updater builds the shell-interpreted SSH command for that repository, the injected characters are executed, running arbitrary commands and exposing credentials in the context of the Image Updater process. No public exploit was identified at time of analysis; the only linked GitHub code is the vendor fix (PR #1905), not an exploit. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 03, 2026
Command injection in Argo CD Image Updater's SSH Git credential handling lets an attacker who can set the proxy URL on an SSH Git repository run arbitrary commands and reach credentials in the Image Updater process context. The proxy value is interpolated unsanitized into a shell-interpreted SSH command (ProxyCommand/GIT_SSH_COMMAND via connect-proxy), so shell metacharacters in the proxy host break out of the intended argument. The issue is rated CVSS 8.8 (AV:N/AC:L/PR:L/UI:N/C:H/I:H/A:H), meaning it is remote but requires an attacker to already hold privileges sufficient to create or modify the repository/proxy configuration; an upstream fix is available in PR 1905, and no public exploit was identified at time of analysis.
RemediationAI
Apply the upstream fix from https://github.com/argoproj-labs/argocd-image-updater/pull/1905; the provided data identifies the fix only as a pull request, so the exact patched release version is not independently confirmed and should be taken from the Red Hat advisory at https://access.redhat.com/security/cve/CVE-2026-121621 or Bugzilla 2565914. Because PR:L applies, interim risk reduction centers on restricting who can create or modify SSH Git repository proxy settings consumed by Image Updater, which removes the attacker's ability to supply a malicious proxy value but leaves the vulnerable code path in place. After the fix, proxy URLs failing validation (non socks5/socks5h schemes for SSH, hostnames outside alphanumerics/hyphens/dots or invalid IPv6, missing or out-of-range ports) are rejected and the proxy is dropped, so operators relying on unconventional proxy formats should confirm their configuration still validates. Per the vendor fix, upgrading to a patched release is the remediation.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The flaw is an OS command injection (CWE-78) in the Go code of argoproj-labs/argocd-image-updater, specifically ext/git/creds.go. When SSH credentials are used with a proxy, the updater builds a GIT_SSH_COMMAND containing a ProxyCommand of the form connect-proxy -S <host>:<port> -5 %h %p, embedding the configured proxy host and port directly into a string that is later interpreted by a shell. A proxy value containing shell metacharacters therefore escapes the intended argument and executes commands in the Image Updater process context, exposing its credentials. The upstream fix introduces validateProxyURL for SSH credentials (allow-listing only socks5 and socks5h schemes, a hostname restricted to alphanumerics, hyphens and dots per the regexp ^[a-zA-Z0-9.\-]+$ or a valid IPv6 address via net.ParseIP, and a TCP port between 1 and 65535) and a broader ValidateHTTPProxyURL for HTTP/HTTPS credential paths that also permits http and https. Invalid proxy URLs are logged as high-severity CWE-78 events and dropped, and the SSH path now writes the connect-proxy invocation to a temporary wrapper script instead of embedding host and port in the shell-interpreted command string. The trigger for exploitation is a configured SSH Git repository proxy value under attacker influence; the deployment must use SSH Git credentials with a proxy set for the vulnerable path to be reachable.
Know when Red Hat Openshift Gitops 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
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Attacker needs privilege to set the repository proxy config (PR:L) but no user interaction or added complexity; command execution yields full C/I/A within the Image Updater process, so scope unchanged.
Primary rating from Vendor (redhat).
CVSS VectorNVD
DescriptionNVD
A command injection vulnerability was found in Argo CD Image Updater, where a proxy URL configured on an SSH Git repository is passed unsanitized into a shell-interpreted SSH command. An attacker able to set a malicious proxy value can inject shell metacharacters to execute arbitrary commands and access credentials in the context of the Image Updater process.
Executive ViewAI
Argo CD Image Updater contains a command injection vulnerability (CVE-2026-121621) in its SSH Git credential handling. An authenticated attacker with permissions to modify repository or proxy configuration can execute arbitrary commands in the Image Updater process context, potentially accessing sensitive credentials used for container image registry and Git operations. This threatens the integrity of the software supply chain, as a compromise could allow manipulation of image updates or credential theft, affecting all teams relying on this component.
If patch cannot be applied immediately, enforce strict access controls limiting repository/proxy configuration to fully trusted administrators, validate and sanitize proxy URLs before use (e.g., disallow shell metacharacters), run Image Updater with minimal privileges (non-root, drop capabilities, read-only filesystem), and isolate it from broader network access to limit lateral movement.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
Affected Products (CPE)NVD
More in Red Hat Openshift Gitops
View allPrivilege escalation in ArgoCD Image Updater allows authenticated low-privileged users in a multi-tenant Red Hat OpenShi
Remote code execution in the Argo CD repo-server component (as shipped in Red Hat OpenShift GitOps and the argoproj argo
Denial of service in Red Hat OpenShift GitOps (Argo CD operator) lets a tenant who controls a namespace-scoped Argo CD i
EUVD-2026-116381
GHSA-3cw2-hq94-57x5
NVD
CVE.org
Exploit-DB