REDHAT-BUG-2565914: Command Injection
A command injection flaw was found in Argo CD Image Updater. When Argo CD Image Updater clones or fetches a Git repository over SSH that has a proxy configured, the proxy host and port are copied into an SSH ProxyCommand that is passed to Git through the shell-interpreted GITSSHCOMMAND environment variable. Because the proxy host and port are not neutralized, a proxy URL whose hostname contains shell metacharacters can break out of the intended command and execute arbitrary commands in the context of the Image Updater process. This is the same class of issue as CVE-2026-55797 in Argo CD (GHSA-j6cw-g6p4-7hch), which stems from the SOCKS5 proxy support for SSH Git URLs. Argo CD Image Updater shares the affected credential/proxy handling code (ext/git/creds.go), so it is affected in the same way. Only SSH repositories are affected: http, https, and socks5 proxy URLs all take this code path when set on an SSH repository. An HTTPS Git repository uses the proxy as an HTTP proxy and does not build this command. Anyone able to create or update a repository, a repository credential template, or the backing repository Secret can set a malicious proxy value. The command is executed when the repository connection is tested and on subsequent fetches, and the resulting process can access other Git, Helm, and OCI credentials available to Image Updater. The fix validates the proxy URL (scheme, hostname, and port) and writes the proxy settings to a temporary wrapper script instead of embedding the host and port directly into the shell-interpreted GITSSHCOMMAND string, preventing shell metacharacters from being interpreted. Upstream fix: https://github.com/argoproj-labs/argocd-image-updater/pull/1905 References: https://github.com/advisories/GHSA-j6cw-g6p4-7hch https://github.com/argoproj/argo-cd/commit/1e3ddd0b7250aa23f489956b5fab8c13d0493a9f