Overview

FieldValue
ID1099
NameManage PriorityLevelConfigurations (API Server DoS/Manipulation)
Risk CategoryDenial of Service
Risk LevelCritical
Role TypeClusterRole
API Groupsflowcontrol.apiserver.k8s.io
Resourcesprioritylevelconfigurations
Verbscreate, update, patch, delete
TagsAPIServerDoS ControlPlaneDisruption DenialOfService Tampering

Description

Allows managing PriorityLevelConfiguration objects cluster-wide. These are part of API Priority and Fairness, defining concurrency limits and queueing for API requests. Misconfiguration can lead to denial of service against the API server by starving critical requests or by setting unfair limits, impacting cluster stability.

Abuse Scenarios

  1. Create a new PriorityLevelConfiguration with extremely low concurrency limits (DoS).
kubectl create -f - <<EOF
apiVersion: flowcontrol.apiserver.k8s.io/v1beta2
kind: PriorityLevelConfiguration
metadata:
  name: starve-api
spec:
  type: Limited
  limited:
    assuredConcurrencyShares: 1
    limitResponse:
      type: Reject
EOF
# Example: kubectl create -f - <<EOF ... EOF
  1. Delete an existing PriorityLevelConfiguration, disrupting API server stability.
kubectl delete prioritylevelconfiguration <prioritylevelconfiguration-name>
# Example: kubectl delete prioritylevelconfiguration system-leader-election