Skip to main content

Argo CD EUVDEUVD-2026-98917

| CVE-2026-77459 CRITICAL
Incorrect Authorization (CWE-863)
2026-10-13 GitHub_M GHSA-fmxq-cgp8-87wp
9.9
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain write access to Application Git repo
  2. Delivery
    Commit PostDelete hook targeting forbidden namespace or kind
  3. Exploit
    Trigger Application deletion
  4. Execution
    Controller creates resource with destination-cluster credentials
  5. Impact
    Deploy forbidden cluster-scoped or cross-namespace resources

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires: (1) write access to the Git repository backing an Argo CD Application (the PR:L privilege), (2) the ability to author a PreDelete or PostDelete resource hook manifest that pins a forbidden metadata.namespace, server, group, kind, or resource name, and (3) that the Application subsequently be deleted, which causes the application-controller to create the hooked resource with the destination cluster's credentials. Limiting factors that reduce real-world risk: only PreDelete/PostDelete hooks are affected - PreSync, Sync, PostSync, and SyncFail hooks still enforce the normal AppProject checks; the achievable impact is bounded by the application-controller's own cluster RBAC on the destination cluster; and the flaw is only meaningful where AppProject destination/resource allow-deny lists are relied upon as a security boundary (typically multi-tenant deployments). Affected versions are 2.10.0 through the releases immediately preceding 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2.

Impact

The vendor CVSS of 9.9 (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H) is credible for this authorization-bypass (CWE-863): the scope change (S:C) correctly captures that the application-controller acts with destination-cluster credentials, letting an attacker escape the AppProject authorization boundary and affect resources the user was never permitted to touch. However, the AV:N/PR:L framing understates the real preconditions - exploitation is not a simple remote request but requires write access to an Application's Git repository AND that the Application subsequently be deleted, so the practical attack complexity is higher than AC:L implies. No EPSS score, CISA KEV listing, or public POC is present in the provided data, so exploitation status is: no public exploit identified at time of analysis - this is a high-CVSS issue driven by potential impact rather than any evidence of active or at-scale exploitation. The dominant risk factor is the insider/supply-chain angle: in multi-tenant Argo CD deployments where Git write access is delegated to teams but AppProject restrictions are the trust boundary, this flaw silently voids that boundary for PostDelete and PreDelete hooks only (PreSync/Sync/PostSync/SyncFail still enforce checks). Realistic impact is bounded by the controller's own cluster RBAC, which should temper the 9.9 in environments that scope controller credentials tightly.

Exploit ScenarioDerived

In a multi-tenant Argo CD setup, a developer who can commit to an Application's Git repository adds a PostDelete (or PreDelete) hook manifest pinned to a forbidden namespace such as kube-system or a cluster-scoped kind the AppProject denies. When that Application is deleted, the application-controller creates the hook resource using the privileged destination-cluster credentials, bypassing the AppProject allow/deny lists and letting the attacker run a Job or plant a persistent object in an off-limits location. No public exploit code is identified at time of analysis, though the vendor test suite demonstrates the forbidden-namespace and forbidden-kind cases.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.7% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 13, 2026

PreDelete and PostDelete hook creation in Argo CD (2.10.0 through the releases preceding 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2) bypasses AppProject destination and resource authorization checks, so a low-privileged attacker with write access to an Application's Git repository can commit a delete hook that pins a forbidden namespace, cluster server, group, kind, or resource name and have the application-controller create that resource with the destination cluster's credentials when the Application is deleted. The scope change in the assessed vector reflects that the controller acts outside the user's AppProject boundary, so impact can include cluster-scoped resources, disallowed namespaces, persistent hook objects, and secondary objects spawned by a hook Job, all bounded by the application-controller's own cluster RBAC. No public exploit code has been identified at time of analysis, and the flaw is only meaningful where AppProject destination and resource allow/deny lists are relied upon as a security boundary, which is typical of multi-tenant deployments.

RemediationAI

Upgrade to a vendor-released fixed version: Argo CD 3.3.15, 3.4.10, 3.5.4, or 3.6.0-rc2, which remove the delete-hook authorization gap by passing the destination cluster context into the PreDelete and PostDelete hook creation paths; see GitHub Security Advisory GHSA-fmxq-cgp8-87wp and the corresponding upstream commits and release tags for the exact builds. If upgrading immediately is not possible, treat the AppProject destination and resource allow/deny lists as no longer enforcing anything for PreDelete and PostDelete hooks and compensate at the layers that still hold: tighten Argo CD RBAC (argocd-rbac-cm) so that only trusted identities can delete Applications and can push to repositories backing Applications, since an attacker needs both a malicious delete hook commit and a subsequent Application deletion to trigger creation of the forbidden object, though this is an operational control that can be bypassed by any principal holding those two permissions and it does not detect a hook that has already been committed. Additionally, restrict the application-controller's ServiceAccount privileges on each destination cluster to the minimum the workloads actually require; this directly caps the reachable blast radius (the flaw is bounded by the controller's cluster access) at the cost of potentially breaking legitimate deployments that rely on broader controller permissions, and it should be validated against existing sync behavior before enforcement. Because only PreDelete and PostDelete hooks are affected, there is no need to disable hooks wholesale - PreSync, Sync, PostSync, and SyncFail hooks still honor project checks - but administrators should audit existing Applications for delete-hook manifests that reference namespaces, servers, groups, kinds, or resource names outside their AppProject allow lists, and add detection for unexpected objects created during Application deletion.

Affected VersionsENISA

argo-cd 3.5.0, < 3.5.4
argo-cd 3.0.0, < 3.3.15
argo-cd 3.4.0, < 3.4.10
argo-cd 2.10.0, ≤ 2.14.21
argo-cd 3.6.0-rc1, < 3.6.0-rc2

Affected Packages

go github.com/argoproj/argo-cd/v2 no fix
go github.com/argoproj/argo-cd/v3 fix: 3.3.15, 3.4.10, 3.5.4, 3.6.0-rc2
euvd argo_cd fix: 3.3.15, 3.4.10, 3.5.4, 3.6.0-rc2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 3 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Argo CD models lifecycle hooks as Kubernetes manifests annotated with argocd.argoproj.io/hook, and hook types PreSync, Sync, PostSync, SyncFail, PreDelete, and PostDelete drive different phases of a sync or a deletion. This is an incorrect-authorization defect (CWE-863) in the Application deletion path: finalizeApplicationDeletion in the application-controller called executePreDeleteHooks and executePostDeleteHooks without passing the destination cluster context, so the created hook objects were never run through the same AppProject destination and resource authorization checks that ordinary synchronization enforces, including cluster-scoped and namespaced resource allow/deny lists. The upstream fix threads a destCluster argument into both hook-execution helpers, and the accompanying tests demonstrate the previously unenforced cases with PreDelete and PostDelete hooks that pin metadata.namespace to kube-system or use a group/kind excluded from the project's namespace resource whitelist, alongside a permitted control case. Because the application-controller creates these objects using the destination cluster's credentials, the authorization decision effectively shifts from the Git-writing user to the controller's own ServiceAccount, which is why the assessed CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H carries a scope change and high confidentiality, integrity, and availability impact. The CPE cpe:2.3:a:argoproj:argo-cd:*:*:*:*:*:*:*:* covers the affected Argo CD release line; PreSync, Sync, PostSync, and SyncFail hooks are not affected because they continue to use the normal project checks.

Know when Argo Cd gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 9.9 CRITICAL
AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
vuln.today AI 9.9 CRITICAL

Attacker needs Git write access (PR:L) but no UI; controller acts with destination-cluster credentials crossing the AppProject authz boundary (S:C), enabling high C/I/A via arbitrary resource creation.

3.1 AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Patch available
Oct 13, 2026 - 18:19 EUVD
CVE Published
Oct 13, 2026 - 16:26 cve.org
CRITICAL 9.9

DescriptionCVE.org

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.

Technical POC Analysis

CWE-863: Incorrect Authorization.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

Argo CD deployments running versions 2.10.0 through releases preceding 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2 are exposed to a critical authorization bypass that lets a low-privileged attacker with Git repository write access create delete hooks capable of provisioning resources outside intended AppProject boundaries, including cluster-scoped objects. This undermines the principle of least privilege for Kubernetes clusters and could enable an attacker to establish persistence or escalate privileges, affecting any organization that relies on AppProject destination and resource restrictions. Leadership should treat this as a high-priority risk because it directly compromises a core security control and could lead to unauthorized access to sensitive cluster resources.

Business Impact: Severe
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.7%
Top 47% exploitable
Prevalence
High
CNCF GitOps tool widely deployed across enterprise Kubernetes environments
Threat Intel
1
1 source
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.7%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Very High

Priority Score

51
Low Medium High Critical
KEV: 0
EPSS: +1
CVSS: +50
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

CVE-2025-55190 CRITICAL POC
9.9 Sep 04

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Rated critical severity (CVSS 9.9), this vulne

CVE-2023-40029 CRITICAL POC
9.6 Sep 07

Argo CD is a declarative continuous deployment for Kubernetes. Rated critical severity (CVSS 9.6), this vulnerability is

CVE-2024-21662 CRITICAL POC
9.1 Mar 18

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Rated critical severity (CVSS 9.1), this vulne

CVE-2024-31989 CRITICAL POC
9.0 May 21

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Rated critical severity (CVSS 9.0), this vulne

CVE-2022-1025 HIGH POC
8.8 Jul 12

All unpatched versions of Argo CD starting with v1.0.0 are vulnerable to an improper access control bug, allowing a mali

CVE-2020-8828 HIGH POC
8.8 Apr 08

As of v1.5.0, the default admin password is set to the argocd-server pod name. Rated high severity (CVSS 8.8), this vuln

CVE-2024-22424 HIGH POC
8.3 Jan 19

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Rated high severity (CVSS 8.3), this vulnerabi

CVE-2025-59531 HIGH POC
7.5 Oct 01

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Versions 1.2.0 through 1.8.7, 2.0.0-rc1 throug

CVE-2025-59537 HIGH POC
7.5 Oct 01

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Versions 1.2.0 through 1.8.7, 2.0.0-rc1 throug

CVE-2025-59538 HIGH POC
7.5 Oct 01

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. For versions 2.9.0-rc1 through 2.14.19, 3.0.0-

CVE-2024-40634 HIGH POC
7.5 Jul 22

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Rated high severity (CVSS 7.5), this vulnerabi

CVE-2024-37152 HIGH POC
7.5 Jun 06

Argo CD is a declarative, GitOps continuous delivery tool for Kubernetes. Rated high severity (CVSS 7.5), this vulnerabi

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy