VDB
KO
MEDIUM 6.4

GHSA-g623-jcgg-mhmm

Users with `create` but not `override` privileges can perform local sync

Quick fix

GHSA-g623-jcgg-mhmm — github.com/argoproj/argo-cd/v2: upgrade to the fixed version with the command below.

go get github.com/argoproj/argo-cd/v2@v2.9.8

Details

### Impact

"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 merge 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 in 1.2.0-rc1 when the local manifest sync feature was added.

### Patches

The bug has been patched in the following versions:

* 2.10.3 * 2.9.8 * 2.8.12

### Workarounds

To immediately mitigate the risk of branch protection bypass, remove `applications, create` RBAC access. The only way to eliminate the issue without removing RBAC access is to upgrade to a patched version.

Branch protection rules and review requirements are a great way to enforce security constraints in a GitOps environment, but they should be just one layer in a multi-layered approach. Make sure your AppProject and RBAC restrictions are as thorough as possible to prevent a review bypass vulnerability from permitting excessive damage.

### References

* [Argo CD RBAC documentation](https://argo-cd.readthedocs.io/en/latest/operator-manual/rbac/)

### For more information

* Open an issue in [the Argo CD issue tracker](https://github.com/argoproj/argo-cd/issues) or [discussions](https://github.com/argoproj/argo-cd/discussions) * Join us on [Slack](https://argoproj.github.io/community/join-slack) in channel #argo-cd

Are you affected?

Enter the version of the package you're using.

Affected packages

Go / github.com/argoproj/argo-cd
Introduced in: 1.2.0-rc1

No fixed version published yet for github.com/argoproj/argo-cd (go modules). Pin to a known-safe version or switch to an alternative.

Go / github.com/argoproj/argo-cd/v2
Introduced in: 2.9.0 Fixed in: 2.9.8
Fix go get github.com/argoproj/argo-cd/v2@v2.9.8
Go / github.com/argoproj/argo-cd/v2
Introduced in: 2.10.0 Fixed in: 2.10.3
Fix go get github.com/argoproj/argo-cd/v2@v2.10.3
Go / github.com/argoproj/argo-cd/v2
Introduced in: 2.0.0-rc3 Fixed in: 2.8.12
Fix go get github.com/argoproj/argo-cd/v2@v2.8.12

References