Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-84200

CVE-2026-84200: Kyverno Auth Bypass Vulnerability

CVE-2026-84200 is an authentication bypass flaw in Kyverno versions v1.9.0 through v1.12.7 that allows attackers to circumvent security policies through crafted resource names. This post covers technical details, affected versions, impact, and mitigation steps.

Published:

CVE-2026-84200 Overview

CVE-2026-84200 is a policy bypass vulnerability in Kyverno, the Kubernetes-native policy engine. Affected versions from v1.9.0 through v1.12.7 mishandle the evaluation of multiple PolicyException objects applied to a single policy running in enforce mode. When two exceptions target the same policy, the less restrictive exception takes precedence. An attacker who can create resources in the cluster can bypass enforcement by naming a resource to match a permissive exception pattern such as *ingress*. This allows workloads to be admitted that violate policies designed to block dangerous configurations, including hostPath volume mounts. The issue is fixed in Kyverno v1.13.0.

Critical Impact

Attackers with limited cluster privileges can bypass enforced Kyverno policies and deploy workloads with hostPath volumes or other prohibited configurations, enabling container escape and node compromise.

Affected Products

  • Kyverno v1.9.0 through v1.12.7
  • Kubernetes clusters running vulnerable Kyverno admission controller with multiple PolicyExceptions
  • Fixed release: Kyverno v1.13.0

Discovery Timeline

  • 2026-09-01 - CVE-2026-84200 published to NVD
  • 2026-09-02 - Last updated in NVD database

Technical Details for CVE-2026-84200

Vulnerability Analysis

Kyverno enforces admission control policies on Kubernetes resources through validation, mutation, and generation rules. Administrators can define PolicyException objects to allow specific workloads to skip policy checks. The flaw resides in how Kyverno evaluates multiple exceptions that reference the same underlying policy. Instead of taking the intersection of exception scopes, the engine effectively unions them, honoring the most permissive match. A resource that matches any exception name pattern is admitted without enforcement, even when a stricter exception should apply. The weakness is categorized as improper access control [CWE-284].

Root Cause

The root cause is faulty precedence logic in the exception matching path of the admission controller. When two PolicyException resources reference the same policy with different scoping patterns, the broader pattern overrides the narrower one. This inverts the intended fail-closed behavior of enforce mode and turns exception matching into a policy bypass primitive.

Attack Vector

Exploitation requires the ability to create Kubernetes resources whose names an attacker controls. An adversary with namespace-level create permissions crafts a resource name that matches a permissive exception pattern such as *ingress*. The Kyverno admission webhook applies the permissive exception and skips enforcement of policies such as those blocking hostPath volumes, privileged containers, or restricted securityContext fields. The resulting pod can mount host filesystems, escape the container boundary, and compromise the underlying node. No public proof-of-concept code has been released. See the GitHub Security Advisory GHSA-gg4x-fgg2-h9w9 and the VulnCheck Advisory on the Kyverno policy bypass for additional technical detail.

Detection Methods for CVE-2026-84200

Indicators of Compromise

  • Newly admitted pods containing hostPath volume mounts, privileged security contexts, or host namespace sharing in namespaces subject to Kyverno enforce policies.
  • Resource names matching known permissive PolicyException patterns such as those containing ingress, system, or wildcard tokens.
  • Kyverno admission logs showing policy skip outcomes attributed to a PolicyException when a stricter exception should have applied.

Detection Strategies

  • Audit all PolicyException objects in the cluster and identify policies referenced by more than one exception with overlapping scopes.
  • Correlate Kubernetes audit logs with Kyverno decision logs to identify admissions that bypassed enforce-mode policies.
  • Run offline policy evaluation against admitted workloads to flag resources that would fail current policy rules.

Monitoring Recommendations

  • Ingest Kyverno admission and policy report events into a centralized log platform and alert on skip or exception outcomes for policies designated as enforce.
  • Monitor creation of PolicyException resources and require change control review for any exception using wildcard name patterns.
  • Alert on pod specifications that include hostPath, privileged: true, or hostNetwork: true in namespaces where such configurations are prohibited by policy.

How to Mitigate CVE-2026-84200

Immediate Actions Required

  • Upgrade Kyverno to v1.13.0 or later across all clusters running affected versions.
  • Inventory existing PolicyException resources and remove any that use broad wildcard name patterns until upgrade is complete.
  • Restrict RBAC permissions for creating PolicyException objects to a small set of trusted administrators.

Patch Information

The issue is fixed in Kyverno v1.13.0. Cluster operators should upgrade the Kyverno admission controller, background controller, and CLI to v1.13.0 or later. Review the GitHub Security Advisory GHSA-gg4x-fgg2-h9w9 for release notes and upgrade guidance.

Workarounds

  • Consolidate multiple PolicyException objects per policy into a single exception with an explicit, narrow scope.
  • Replace wildcard name patterns in exceptions with explicit resource names or label selectors.
  • Enforce admission control at a second layer, such as Kubernetes native ValidatingAdmissionPolicy or Pod Security Admission, to block hostPath volumes independently of Kyverno.
bash
# Identify PolicyExceptions that reference the same policy
kubectl get policyexceptions -A -o json | \
  jq -r '.items[] | {name: .metadata.name, namespace: .metadata.namespace, policies: .spec.exceptions[].policyName}'

# Upgrade Kyverno via Helm to a fixed release
helm repo update
helm upgrade kyverno kyverno/kyverno --namespace kyverno --version 1.13.0

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.