Path traversal allows leaking out-of-bound files from Argo CD repo-server
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 2.1.11, 2.2.6, 2.3.0
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: partial
Summary
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Argo CD starting with version 1.5.0 but before versions 2.1.11, 2.2.6, and 2.3.0 is vulnerable to a path traversal vulnerability, allowing a malicious user with read/write access to leak sensitive files from Argo CD's repo-server. A malicious Argo CD user who has been granted `create` or `update` access to Applications can leak the contents of any text file on the repo-server. By crafting a malicious Helm chart and using it in an Application, the attacker can retrieve the sensitive file's contents either as part of the generated manifests or in an error message. The attacker would have to know or guess the location of the target file. Sensitive files which could be leaked include files from another Application's source repositories or any secrets which have been mounted as files on the repo-server. This vulnerability is patched in Argo CD versions 2.1.11, 2.2.6, and 2.3.0. The problem can be mitigated by avoiding storing secrets in git, avoiding mounting secrets as files on the repo-server, avoiding decrypting secrets into files on the repo-server, and carefully limiting who can `create` or `update` Applications.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- argoproj argo-cd
From 1.5.0 · fixed in 2.1.11; From 2.2.0 · fixed in 2.2.6; From 2.3.0-rc1 · fixed in 2.3.0
- github.com/argoproj/argo-cdGo
From 1.5.0 · fixed in 2.1.11
- github.com/argoproj/argo-cdGo
From 2.2.0 · fixed in 2.2.6
- github.com/argoproj/argo-cdGo
From 2.3.0-rc1 · fixed in 2.3.0
- github.com/argoproj/argo-cdGo
From 1.5.0
- github.com/argoproj/argo-cd/v2Go
fixed in 2.1.11; From 2.2.0 · fixed in 2.2.6; From 2.3.0-rc1 · fixed in 2.3.0