Skip to content
← Blog · · df00tech

CVE-2026-77459: Argo CD AppProject Guardrail Bypass via PreDelete/PostDelete Resource Hooks

vuln-intel go CVE-2026-77459

What's Happening

CVE-2026-77459 is an improper authorization vulnerability (CWE-863) in Argo CD. AppProjects are meant to restrict which destination namespaces and resource kinds an Application can touch, but Argo CD does not enforce those restrictions for PreDelete and PostDelete resource hooks. A user who only has permission to manage an Application scoped to a restricted AppProject can embed a hook resource — a Job, Pod, or even an RBAC object annotated with argocd.argoproj.io/hook: PreDelete or PostDelete — that targets a namespace or kind outside the project's allow-list.

When the Application (or a resource within it) is deleted, the argocd-application-controller applies that hook using its own cluster-wide service account. Because the hook bypasses project-level guardrails entirely, this allows privilege escalation and cross-tenant resource creation: a low-privileged Argo CD user can effectively get the controller to create arbitrary resources — including RBAC bindings — anywhere in the cluster.

Affected Software

The flaw affects both major Argo CD module lines:

  • github.com/argoproj/argo-cd/v2: versions 2.10.0 through 2.14.21
  • github.com/argoproj/argo-cd/v3: versions 3.0.0 through 3.3.14, 3.4.0 through 3.4.9, 3.5.0 through 3.5.3, and the 3.6.0-rc1 pre-release

This spans nearly every actively deployed Argo CD release line, making exposure assessment a priority for any multi-tenant GitOps environment.

Exploitation Status

A public proof-of-concept is available for this vulnerability. With a CVSS score of 9.9 and a PoC in the wild, defenders should treat this as an active risk rather than a theoretical one — especially in environments where AppProjects are relied on as a tenant isolation boundary between teams with differing trust levels. There is no patched date recorded yet, so compensating detection and monitoring controls are the primary mitigation until a fix is available.

How Our Detection Catches It

This detection ships across Microsoft Sentinel (KQL), Splunk (SPL), Elastic (EQL), QRadar (AQL), Sumo Logic, Chronicle (YARA-L), and CrowdStrike (CQL). The underlying logic focuses on the actor and action that matter most: it surfaces hook resources — identified by the argocd.argoproj.io/hook annotation values PreDelete or PostDelete — that are applied by the Argo CD application controller's service account to namespaces or resource kinds that fall outside the originating AppProject's declared destinations, correlated around Application delete events. Because the controller's service account is the actor of record regardless of which low-privileged user triggered the deletion, the detection keys on the mismatch between the hook's target scope and the AppProject's allow-list rather than on the identity of the requester, which is what makes the cross-tenant escalation visible.

Full detection logic, sample events, and per-SIEM queries are available on the CVE-2026-77459 detection page.

Get new detections in your inbox

New ATT&CK coverage plus CISA KEV / CVE detection rules, roughly weekly. No spam, unsubscribe anytime.