Incorrect Authorization
CVE-2023-50726
Summary
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. "Local sync" is an Argo CD feature that allows developers to temporarily override an Application's manifests with locally-defined manifests. Use of the feature should generally be limited to highly-trusted users, since it allows the user to bypass any merger protections in git. An improper validation bug allows users who have `create` privileges but not `override` privileges to sync local manifests on app creation. All other restrictions, including AppProject restrictions, are still enforced. The only restriction which is not enforced is that the manifests come from some approved `git/Helm/OCI` source. The bug was introduced when the local manifest sync feature was added. This vulnerability affects github.com/argoproj/argo-cd package versions 1.2.0-rc1 through 1.8.7, 2.0.0-rc3 through 2.8.11, 2.9.0-rc1 through 2.9.7, and 2.10.0-rc1 through 2.10.2. Users are advised to upgrade. Users unable to upgrade may mitigate the risk of branch protection bypass by removing `applications, create` RBAC access. The only way to eliminate the issue without removing RBAC access is to upgrade to a patched version.
- LOW
- NETWORK
- LOW
- CHANGED
- NONE
- LOW
- NONE
- LOW
CWE-863 - Incorrect Authorization
Authorization is a security mechanism performed by an application to grant or deny access to the requested resources by verifying the privileges of the user. When an application lacks effective authorization mechanisms, it enables unauthorized users to gain unintended privileges and illegitimate access to resources. Such a vulnerability may result in exposure of sensitive information, denial of service, arbitrary code execution, and complete system takeover.
Advisory Timeline
- Published