---
id: "CVE-2026-77459"
kind: "vulnerability"
aliases: ["CVE-2026-77459", "GHSA-fmxq-cgp8-87wp", "GO-2026-6784"]
title: "Argo CD: AppProject destination-namespace and resource restrictions bypassed by PreDelete/PostDelete resource hooks in github.com/argoproj/argo-cd"
severity: "critical"
cvss: 9.9
epss: 0.0072
exploited: false
status: "open"
category: "infrastructure"
products: [{"name": "github.com/argoproj/argo-cd", "fixed": [], "affected": "all versions", "ecosystem": "go"}, {"name": "github.com/argoproj/argo-cd/v2", "fixed": [], "affected": ">= 2.10.0", "ecosystem": "go"}, {"name": "github.com/argoproj/argo-cd/v3", "fixed": ["3.3.15", "3.4.10", "3.5.4", "3.6.0-rc2"], "affected": ">= 3.6.0-rc1, < 3.6.0-rc2", "ecosystem": "go"}]
ecosystems: ["go"]
tags: ["argo-cd", "gitops", "infrastructure", "kubernetes", "self-hosted"]
not_affected_if: ["hooks-unused-or-pre-sync-only", "no-untrusted-git-write-access", "version-outside-affected-range"]
published_at: "2026-10-13T17:17:46+00:00"
first_seen_at: "2026-10-23T19:13:08+00:00"
updated_at: "2026-10-23T19:50:16+00:00"
sources: [{"source": "govuln", "url": "https://pkg.go.dev/vuln/GO-2026-6784", "first_seen_at": "2026-10-23T19:13:08+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-77459", "first_seen_at": "2026-10-23T19:13:43+00:00"}, {"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-77459", "first_seen_at": "2026-10-23T19:35:23+00:00"}]
---

# Argo CD: AppProject destination-namespace and resource restrictions bypassed by PreDelete/PostDelete resource hooks in github.com/argoproj/argo-cd

Argo CD skips AppProject destination and resource allow/deny checks when it creates PreDelete/PostDelete hook resources, so anyone who can commit to an Application's Git repo can get the application-controller to create forbidden resources in other namespaces or cluster-scoped objects using the controller's cluster credentials. The attacker gets resource creation bounded only by the controller's cluster access, including persistent hook objects and Jobs.

_Summary, check and fix written by a model from the sources; labelled as such._

## Affected

- go:github.com/argoproj/argo-cd affected all versions fixed ?
- go:github.com/argoproj/argo-cd/v2 affected >= 2.10.0 fixed ?
- go:github.com/argoproj/argo-cd/v3 affected >= 3.6.0-rc1, < 3.6.0-rc2 fixed 3.3.15, 3.4.10, 3.5.4, 3.6.0-rc2

## How to check

Check the Argo CD version: argocd version or the argocd-application-controller image tag. Affected if go module v2 >= 2.10.0 and below the fixes, or v3 in 3.3.x below 3.3.15, 3.4.x below 3.4.10, 3.5.x below 3.5.4, or 3.6.0-rc1.

## Fix

Upgrade Argo CD to 3.3.15, 3.4.10, 3.5.4, or 3.6.0-rc2 (or later in your release line).

## Timeline

- 2026-10-23T19:13:08+00:00 govuln https://pkg.go.dev/vuln/GO-2026-6784
- 2026-10-23T19:13:43+00:00 epss https://api.first.org/data/v1/epss?cve=CVE-2026-77459
- 2026-10-23T19:35:23+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-77459

## From the sources

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.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
