Описание
Argo CD's API server does not enforce project sourceNamespaces
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
Ссылки
- https://github.com/argoproj/argo-cd/security/advisories/GHSA-2gvw-w6fj-7m3c
- https://nvd.nist.gov/vuln/detail/CVE-2024-31990
- https://github.com/argoproj/argo-cd/commit/c514105af739eebedb9dbe89d8a6dd8dfc30bb2c
- https://github.com/argoproj/argo-cd/commit/c5a252c4cc260e240e2074794aedb861d07e9ca5
- https://github.com/argoproj/argo-cd/commit/e0ff56d89fbd7d066e9c862b30337f6520f13f17
Пакеты
github.com/argoproj/argo-cd/v2
>= 2.4.0, < 2.8.16
2.8.16
github.com/argoproj/argo-cd/v2
>= 2.9.0, < 2.9.12
2.9.12
github.com/argoproj/argo-cd/v2
>= 2.10.0, < 2.10.7
2.10.7
Связанные уязвимости
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. The API server does not enforce project sourceNamespaces which allows attackers to use the UI to edit resources which should only be mutable via gitops. This vulenrability is fixed in 2.10.7, 2.9.12, and 2.8.16.
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. The API server does not enforce project sourceNamespaces which allows attackers to use the UI to edit resources which should only be mutable via gitops. This vulenrability is fixed in 2.10.7, 2.9.12, and 2.8.16.