CVE-2022-24904 Symlink following allows leaking out-of-bound manifests and JSON files from Argo CD repo-server
A malicious user with repository write access can exploit symlink following to leak sensitive files from the Argo CD repo-server.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2022-24904?
CVE-2022-24904 is a medium-severity path traversal vulnerability in Argoproj Argo Cd, published on 20 May 2022. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Argo CD starting with version 0.7.0 and prior to versions 2.1.15m 2.2.9, and 2.3.4 is vulnerable to a symlink following bug allowing a malicious user with repository write access to leak sensitive files from Argo CD's repo-server. A malicious Argo CD user with write access for a repository which is (or may be) used in a directory-type Application may commit a symlink which points to an out-of-bounds file. Sensitive files which could be leaked include manifest files from other Applications' source repositories (potentially decrypted files, if you are using a decryption plugin) or any JSON-formatted secrets which have been mounted as files on the repo-server. A patch for this vulnerability has been released in Argo CD versions 2.3.4, 2.2.9, and 2.1.15. Users of versions 2.3.0 or above who do not have any Jsonnet/directory-type Applications may disable the Jsonnet/directory config management tool as a workaround.
Which versions are affected by CVE-2022-24904?
8 open source packages ship an affected version, including github.com/argoproj/argo-cd/v2 and github.com/argoproj/argo-cd. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
github.com/argoproj/argo-cd/v2 Go | All versions | 2.1.15, 2.2.9, 2.3.4 |
github.com/argoproj/argo-cd/v2 Go | All versions | 2.1.15 |
github.com/argoproj/argo-cd/v2 Go | All versions | 2.1.15 |
github.com/argoproj/argo-cd/v2 Go | From 2.2.0 | 2.2.9 |
github.com/argoproj/argo-cd/v2 Go | From 2.2.0 | 2.2.9 |
github.com/argoproj/argo-cd/v2 Go | From 2.3.0 | 2.3.4 |
2 more packages
github.com/argoproj/argo-cd/v2 Go | From 2.3.0 | 2.3.4 |
github.com/argoproj/argo-cd Go | All versions | None |
Products include Argoproj Argo Cd.
How do I fix CVE-2022-24904?
Upgrade github.com/argoproj/argo-cd/v2 to a fixed version for your release line: 2.1.15, 2.2.9 or 2.3.4.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2022-24904 being exploited?
There is no known exploitation of CVE-2022-24904 in the wild and no public exploit code.
Other vulnerabilities in Argoproj Argo Cd
- CVE-2025-55190 Argo CD: Project API Token Exposes Repository Credentials
- CVE-2022-29165 Argo CD will blindly trust JWT claims if anonymous access is enabled
- CVE-2023-40029 Cluster secret might leak in cluster details page in Argo CD
- CVE-2022-24768 Improper access control allows admin privilege escalation in Argo CD
- CVE-2024-21652 Argo CD vulnerable to Bypassing of Brute Force Protection via Application Crash and In-Memory Data Loss
Sources
Also known as GHSA-6gcg-hp2x-q54h, GO-2022-0453.