CVE-2026-77459: Argo CD: AppProject destination-namespace and resource restrictions bypassed by PreDelete/PostDelete resource hooks
Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. From 2.10.0 until 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2, Argo CD creates PostDelete resource hooks without applying the AppProject destination and resource authorization checks used during ordinary synchronization. The omitted checks include cluster-scoped and namespaced resource allow/deny lists. A user who can write to an Application's Git repository can commit a delete hook targeting a forbidden namespace, server, group, kind, or resource name, and deletion of the Application causes the application-controller to create that resource with its destination-cluster credentials. The reachable impact is bounded by the controller's cluster access but can include cluster-scoped resources, disallowed namespaces, persistent hook objects, and secondary objects created by a hook Job. PreSync, Sync, PostSync, and SyncFail hooks continue to use the normal project checks. This issue is fixed in versions 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Argo CDto a version that resolves this vulnerability.Fixed in 3.3.15 - Upgrade
Upgrade
Argo CDto a version that resolves this vulnerability.Fixed in 3.4.10 - Upgrade
Upgrade
Argo CDto a version that resolves this vulnerability.Fixed in 3.5.4 - Upgrade
Upgrade
Argo CDto a version that resolves this vulnerability.Fixed in 3.6.0-rc2
Event History
Frequently Asked Questions
Who can exploit this issue?
An attacker needs write access to an Application’s Git repository so they can commit a malicious delete hook. The Application must then be deleted for the application-controller to create the hook resource.
What limits the impact of a successful exploit?
The impact is bounded by the application-controller’s access to the destination cluster. Within those credentials, the attacker may be able to create cluster-scoped resources, resources in disallowed namespaces, persistent hook objects, or secondary objects created by a hook Job.
Are all Argo CD hooks affected?
No. PreSync, Sync, PostSync, and SyncFail hooks continue to receive the normal AppProject authorization checks. The omitted checks apply when the controller creates PostDelete resource hooks.
Which versions contain the fix?
The issue is fixed in versions 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2. Affected releases begin at 2.10.0 and extend until the applicable fixed release.