Skip to main content

Argo CD Image Updater EUVDEUVD-2026-116381

| CVE-2026-121621 HIGH
OS Command Injection (CWE-78)
2026-11-03 redhat GHSA-3cw2-hq94-57x5
8.8
CVSS 3.1 · NVD
View

Attack ChainAIDerived

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

  1. Access
    Gain access to Git repository configuration
  2. Delivery
    Set malicious proxy URL on SSH repo
  3. Exploit
    Inject shell metacharacters into SSH command
  4. Execution
    Execute arbitrary commands in Image Updater process
  5. Impact
    Access 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet

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

Alert me

AnalysisAIv1 – 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

Vendor (redhat) PRIMARY HIGH
NVD 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

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.

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 (redhat).

CVSS VectorNVD

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

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

Why It Matters

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.

Business Impact: High
Compensating Controls

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

Prevalence
Medium
optional image-updater add-on for Argo CD / OpenShift GitOps, common in enterprise Kubernetes but not universal
Data Quality
3 sources
Confidence: Low

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 N/A
Patch available No
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· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
High

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
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.

Affected Products (CPE)NVD

cpe:2.3:a:red_hat:red_hat_openshift_gitops:*:*:*:*:*:*:*:*
cpe:2.3:a:red_hat:red_hat_openshift_gitops:*:*:*:*:*:*:*:*

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