CVE-2022-24904 Symlink following allows leaking out-of-bound manifests and JSON files from Argo CD repo-server

Medium 4.3 Published Updated

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.

Weakness: CWE-61, CWE-59

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.

PackageAffectedFixed in
github.com/argoproj/argo-cd/v2 GoAll versions2.1.15, 2.2.9, 2.3.4
github.com/argoproj/argo-cd/v2 GoAll versions2.1.15
github.com/argoproj/argo-cd/v2 GoAll versions2.1.15
github.com/argoproj/argo-cd/v2 GoFrom 2.2.02.2.9
github.com/argoproj/argo-cd/v2 GoFrom 2.2.02.2.9
github.com/argoproj/argo-cd/v2 GoFrom 2.3.02.3.4
2 more packages
github.com/argoproj/argo-cd/v2 GoFrom 2.3.02.3.4
github.com/argoproj/argo-cd GoAll versionsNone

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.

All Argoproj Argo Cd vulnerabilities

Sources

Also known as GHSA-6gcg-hp2x-q54h, GO-2022-0453.

Is CVE-2022-24904 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free