MEDIUM 4.8 Go
Argo CD's API server does not enforce project sourceNamespaces
GHSA-2gvw-w6fj-7m3c · BIT-argo-cd-2024-31990 · CVE-2024-31990 · GO-2024-2728
Published · Modified
Description
Impact
I can convince the UI to let me do things with an invalid Application.
- Admin gives me
p, michael, applications, *, demo/*, allow, wheredemocan just deploy to thedemonamespace - Admin gives me AppProject
devwhich reconciles from nsdev-apps - Admin gives me
p, michael, applications, sync, dev/*, allow, i.e. no updating via the UI allowed, gitops-only - I create an Application called
pwnindev-appswith project dev and sync the app with sources from git - I change the Application’s project to demo via kubectl or gitops (whichever mechanism my admins have given me, because it should be safe)
- I use the UI to edit the resource which should only be mutable via gitops
Patches
A patch for this vulnerability has been released in the following Argo CD versions:
v2.10.7
v2.9.12
v2.8.16
For more information
If you have any questions or comments about this advisory:
Open an issue in the Argo CD issue tracker or discussions
Join us on Slack in channel #argo-cd
Credits
This vulnerability was found & reported by @crenshaw-dev (Michael Crenshaw)
The Argo team would like to thank these contributors for their responsible disclosure and constructive communications during the resolve of this issue
References
- WEB https://github.com/argoproj/argo-cd/security/advisories/GHSA-2gvw-w6fj-7m3c
- ADVISORY https://nvd.nist.gov/vuln/detail/CVE-2024-31990
- WEB https://github.com/argoproj/argo-cd/commit/c514105af739eebedb9dbe89d8a6dd8dfc30bb2c
- WEB https://github.com/argoproj/argo-cd/commit/c5a252c4cc260e240e2074794aedb861d07e9ca5
- WEB https://github.com/argoproj/argo-cd/commit/e0ff56d89fbd7d066e9c862b30337f6520f13f17
- PACKAGE https://github.com/argoproj/argo-cd
Ready to move
Start Securing
Free, no credit card | First findings in minutes