☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 9.9 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H 🐛 CWE-863
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-77459

CVE-2026-77459 Improper Access Control in Argo CD
📅 PUBLISHED: 2026-10-13 00:00 UTC 🔄 UPDATED: 2026-10-15 23:32 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.72%
👁️
0.72% probability
18.0× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 9.9
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: L Privileges Required Low
UI: N User Interaction None
S: C Scope Changed
C: H Confidentiality High
I: H Integrity High
A: H Availability High
9.9
THREAT LEVEL
INTEL SOURCES NVD EPSS HOW WE SCORE →
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-77459 is an authorization bypass vulnerability in Argo CD, a declarative GitOps continuous delivery tool for Kubernetes. In affected versions (2.10.0 through 3.6.0-rc1), the application-controller creates PostDelete resource hooks without enforcing the AppProject destination and resource authorization checks that normally govern synchronization, including cluster-scoped and namespaced allow/deny lists. A user able to write to an Application's Git repository can commit a malicious delete hook targeting a forbidden destination (namespace, server, group, kind, or resource name); when the Application is deleted, the controller materializes that resource using its own destination-cluster credentials. The impact is bounded only by the controller's cluster access and can include cluster-scoped resources, disallowed namespaces, persistent hook objects, and secondary objects created by a hook Job. With a CVSS base score of 9.9, this represents critical risk to any environment where untrusted or partially trusted contributors can commit to a GitOps-managed repository.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The vulnerability class is CWE-863 (Incorrect Authorization), specifically an inconsistency in the enforcement of AppProject boundary controls across different phases of an Argo CD sync operation.

Argo CD applies AppProject restrictions during ordinary synchronization. These restrictions include:

  • Destination authorization (which Kubernetes API server and namespace a target resource may be deployed to).
  • Cluster-scoped resource allow/deny lists.
  • Namespaced resource allow/deny lists (by group, kind, and resource name).

The flaw is that these same checks are not applied when the application-controller processes PostDelete hooks. PostDelete hooks are Argo CD resource hooks intended to run after a resource or Application is deleted. Because the authorization path for PostDelete hook creation diverges from the normal synchronization path, the controller will instantiate the hook resource using its destination-cluster credentials without first validating that the hook's target destination falls within the AppProject's permitted scope.

This is a "path divergence" or "missing check on an alternate code path" pattern. The controller possesses highly privileged credentials by design, since it must be able to create arbitrary manifests on destination clusters. The AppProject allow/deny lists are the primary mechanism that constrains what a given Application (and therefore any user with repository write access to that Application's source) can cause the controller to do. Removing that constraint for one hook type creates a privilege escalation primitive from "Git repository write" to "controller-privileged resource creation."

Critically, the omitted checks explicitly include cluster-scoped and namespaced resource allow/deny lists. This means the flaw is not merely a namespace boundary violation but can also bypass cluster-scoped protections—the highest-privilege class of Kubernetes objects. The NVD description states that pre-existing hooks (PreSync, Sync, PostSync, SyncFail) continue to enforce the normal project checks, confirming that the defect is specific to PostDelete.

The precondition is write access to the Application's Git repository. In GitOps models, repository write access is often granted to a broader set of contributors (developers, CI service accounts, automation bots) than those with direct cluster credentials, making this a realistic privilege boundary to cross.

Exploitation Scenarios

No public PoC is available for CVE-2026-77459; the attack chain below is inferred from the vulnerability class and the NVD description.

  1. Reconnaissance / Target Identification. The attacker identifies an Argo CD installation (typically a public or internal UI/API endpoint) and determines which Applications are under GitOps management. They assess whether they have or can obtain write access to the Git repository backing a target Application. If so, they examine the associated AppProject definition to learn which destinations, cluster-scoped resources, namespaced resources, and names are disallowed—these are the very categories the missing check fails to enforce.

  2. Triggering the Flaw Class. The attacker commits a manifest to the Application's Git repository that is annotated as a PostDelete resource hook, with a destination (namespace, server, group, kind, resource name) chosen specifically to violate the AppProject's allow/deny lists. Because PostDelete hook creation does not apply the AppProject destination and resource authorization checks, the malicious manifest is accepted into the Application's desired state on the hook path.

  3. Payload / Execution. The attacker then causes deletion of the Application (or of the resource the hook is attached to, causing the PostDelete hook to fire). During deletion processing, the application-controller creates the hook resource using its destination-cluster credentials. The resource is created at the forbidden destination—e.g., a namespace the attacker cannot access, a resource kind on the deny list, or a cluster-scoped object. The NVD description notes the hook may be a Job capable of creating secondary objects.

  4. Post-Exploitation Impact. Because creation is performed with controller credentials, the attacker achieves effects beyond their nominal authorization: objects in disallowed namespaces, cluster-scoped resources, and persistent hook objects that survive beyond the deletion event. In practice, an attacker who can craft a hook Job gains the controller's cluster access as a foothold for broader compromise, subject to whatever the controller's own service account can do. The reachable impact is explicitly bounded by the controller's cluster access.

Impact Assessment

CVSS 3.1 base score: 9.9 (CRITICAL) — CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H.

  • Attack Vector (N — Network): The GitOps repository and/or Argo CD API are reachable over the network.
  • Attack Complexity (L — Low): No specialized conditions; the attacker only requires the ability to commit a hook manifest and trigger Application deletion.
  • Privileges Required (L — Low): Effective precondition is write access to the Application's Git repository.
  • User Interaction (N — None): Application deletion can be triggered by the attacker or by normal operational events; no victim interaction is required for the flaw to manifest.
  • Scope (C — Changed): The controller acts with credentials and privileges beyond those of the attacker, crossing an authorization boundary—so scope is changed.
  • Confidentiality / Integrity / Availability (H — High): Arbitrary resource creation with controller privileges can expose secrets, alter cluster state, and disrupt workloads.

Blast radius: Any Kubernetes cluster managed by an affected Argo CD version where AppProject restrictions are relied upon to bound what repository-writing users can cause to be deployed. This includes cluster-scoped resources and disallowed namespaces—the most sensitive targets. Multi-tenant GitOps platforms where developers have repository write access but not cluster access face the highest exposure, since this CVE collapses that separation. Organizations should treat AppProject deny lists as non-enforcing for PostDelete hooks until patched.

Detection Guidance

Sigma Rule

title: Argo CD PostDelete Hook Authorization Bypass Attempt
id: 7f3c9a12-4e8b-4d21-9c77-2b1e6f8a0d34
status: experimental
description: Detects creation or deletion of Argo CD Applications whose manifests include PostDelete resource hooks, a pattern abused in CVE-2026-77459 to bypass AppProject authorization checks.
references:
  - https://nvd.nist.gov/vuln/detail/CVE-2026-77459
author: Threat Intelligence
date: 2026/01/01
logsource:
  product: kubernetes
  service: audit
detection:
  selection_verb:
    verb:
      - create
      - delete
  selection_resource:
    objectRef.resource:
      - applications
      - applications.argoproj.io
  selection_hook:
    requestObject.spec.syncPolicy|contains: "PostDelete"
  condition: selection_verb and selection_resource and selection_hook
falsepositives:
  - Legitimate PostDelete hooks created by administrators with full AppProject permissions
level: high

YARA Rule

rule CVE_2026_77459_ArgoCD_PostDelete_Hook
{
    meta:
        description = "Detects Argo CD manifest content declaring a PostDelete hook, relevant to CVE-2026-77459 authorization bypass"
        author = "Threat Intelligence"
        reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-77459"
        date = "2026-01-01"
        severity = "high"

    strings:
        $hook_annot = "argocd.argoproj.io/hook" ascii wide
        $postdelete = "PostDelete" ascii wide
        $kind = "kind:" ascii wide
        $apiVersion = "apiVersion:" ascii wide

    condition:
        $hook_annot and $postdelete and $kind and $apiVersion
}

Suricata IDS Rule

alert http any any -> any any (msg:"CVE-2026-77459 Argo CD PostDelete Hook Manipulation Attempt"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"/api/v1/applications"; http.request_body; content:"PostDelete"; nocase; reference:cve,2026-77459; classtype:attempted-admin; sid:9007745; rev:1;)

Elastic Detection

sequence by process.entity_id with maxspan=5m
  [process where event.module == "kubernetes" and event.action == "create" and
     kubernetes.audit.objectRef.resource : "applications"]
  [process where event.module == "kubernetes" and event.action in ("create", "delete") and
     kubernetes.audit.requestObject.spec.source : * and
     process.args : "*PostDelete*"]

Splunk SPL Query

index=kubernetes sourcetype="kube:apiserver:audit"
| search objectRef.resource=applications verb=create OR verb=delete
| where match(requestObject, "(?i)PostDelete")
| stats count values(user.username) as users values(objectRef.name) as apps by src_ip, verb
| where count > 0

Wazuh OSSEC Rule

<group name="argocd,cve-2026-77459,">
  <rule id="877459" level="12">
    <decoded_as>json</decoded_as>
    <field name="objectRef.resource">applications</field>
    <field name="verb">create|delete</field>
    <regex path="requestObject">PostDelete</regex>
    <description>CVE-2026-77459: Argo CD PostDelete hook authorization bypass attempt detected</description>
    <mitre>
      <id>T1190</id>
    </mitre>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source).

1) Immediate mitigations.

  • Restrict Git repository write access to Argo CD Application source repositories to the smallest possible set of trusted identities. This vulnerability's precondition is repository write access, so tightening that boundary directly reduces exposure.
  • Where feasible, disable or avoid PostDelete hooks in Application manifests until patched; audit existing Applications for PostDelete hooks and remove any that are not strictly required.
  • Enforce least privilege on the application-controller's cluster access. The reachable impact is bounded by the controller's credentials, so reducing those credentials reduces blast radius.
  • Monitor Kubernetes audit logs for creation of Application-associated resources at destinations that violate AppProject allow/deny lists.

2) Patch / upgrade steps.

  • Per the NVD description, the issue is fixed in Argo CD 3.3.15, 3.4.10, 3.5.4, and 3.6.0-rc2. Upgrade to the appropriate fixed release for your minor version line.
  • Note: no vendor patch reference, commit, or advisory has been confirmed by any tracked source (patch confidence 0/4). Verify the availability and authenticity of these releases directly against the official Argo CD project before deploying.
  • After upgrading, re-audit AppProject allow/deny configurations and Application manifests to confirm no unauthorized PostDelete hooks remain.

3) Long-term hardening.

  • Treat Git repository write access to GitOps source as a privileged operation; enforce mandatory review and signed commits for Changes to Application manifests.
  • Adopt least-privilege AppProject definitions and avoid broad cluster-scoped grants.
  • Add CI policy checks (e.g., manifest linting) that flag PostDelete hooks and destination values outside AppProject boundaries.
  • Continuously monitor controller service account permissions and alert on creation of cluster-scoped or out-of-namespace resources attributed to the controller.

References

No exploit code, Nuclei template, or public PoC is available. No threat actor campaign or in-the-wild exploitation has been reported for this CVE.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

product:"Argo CD"
title:"Argo CD"
product:"Argo CD" "2.10.0"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-77459/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.