GHSA-h6h5-6fmq-rh28
MEDIUMPath traversal allows leaking out-of-bound files from Argo CD repo-server
EPSS Exploitation Probability
EPSS (Exploit Prediction Scoring System) is a daily probability model maintained by FIRST.org. It estimates the likelihood a CVE will be exploited in production environments within the next 30 days, derived from real-world threat intelligence signals.
Blast Radius
github.com/argoproj/argo-cd🐹github.com/argoproj/argo-cd🐹github.com/argoproj/argo-cdReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Go packages — download data is not available via public APIs for these ecosystems.
Description
Impact
All unpatched versions of Argo CD starting with v1.5.0 are 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 other Application's source repositories (potentially decrypted files, if you are using a decryption plugin) or any secrets which have been mounted as files on the repo-server.
Patches
A patch for this vulnerability has been released in the following Argo CD versions:
- v2.3.0
- v2.2.6
- v2.1.11
Workarounds
The only certain way to avoid the vulnerability is to upgrade.
To mitigate the problem, you can
- avoid storing secrets in git
- avoid mounting secrets as files on the repo-server
- avoid decrypting secrets into files on the repo-server
- carefully limit who can
createorupdateApplications
References
For more information
Open an issue in the Argo CD issue tracker or discussions Join us on Slack in channel #argo-cd
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐹Go | github.com/argoproj/argo-cd | ≥ 1.5.0&&< 2.1.11 | 2.1.11 |
| 🐹Go | github.com/argoproj/argo-cd | ≥ 2.2.0&&< 2.2.6 | 2.2.6 |
| 🐹Go | github.com/argoproj/argo-cd | ≥ 2.3.0-rc1&&< 2.3.0 | 2.3.0 |
Detection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for github.com/argoproj/argo-cd. O3's reachability analysis confirms whether the vulnerable code path is actually invoked in your application, so you act on real exposure instead of every transitive match.
Fix
Update github.com/argoproj/argo-cd to 2.1.11 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-h6h5-6fmq-rh28 is resolved across your whole dependency graph.
Workarounds
If you can't upgrade right away: gate or disable the affected feature, validate untrusted input at the boundary, and avoid passing attacker-controlled data into the vulnerable path. O3's runtime protection blocks exploitation in production as an interim safeguard until the upgrade lands.
How O3 protects you
O3 pinpoints whether GHSA-h6h5-6fmq-rh28 is reachable in your code and exactly where to fix it, then blocks exploitation in production at runtime until the patched version is deployed.
Tailored to GHSA-h6h5-6fmq-rh28. Runtime protection reduces exposure until a permanent patch is applied and verified — it complements patching, it doesn't replace it.
Frequently Asked Questions
Is GHSA-h6h5-6fmq-rh28 in your dependencies?
O3 detects GHSA-h6h5-6fmq-rh28 across Go dependencies and uses function-level reachability to confirm whether the vulnerable code path is actually reachable — not just present. No false positives.