logo

Database

Terraform Missing Drop All Capability

Description

Detects when Kubernetes containers are configured without explicitly dropping all capabilities. Container capabilities provide privileged access to host resources, so failing to drop unnecessary capabilities violates the principle of least privilege and increases the attack surface.

Weakness:

267 - Excessive Privileges - Kubernetes

Category: Functionality Abuse

Detection Strategy

    Scans Kubernetes resource definitions (Pod, Deployment, etc.) for container specifications

    Checks if security context configuration exists for containers

    Verifies if capabilities.drop includes 'ALL' to ensure unnecessary privileges are removed

    Reports a vulnerability if containers lack the required capability dropping configuration

Vulnerable code example

resource "kubernetes_pod" "vulnerable_pod" {
  metadata {
    name = "vulnerable-pod"
  }
  spec {
    container {
      name  = "container"
      image = "nginx"...

✅ Secure code example

resource "kubernetes_pod" "secure_pod" {
  metadata {
    name = "secure-pod"
  }
  spec {
    automount_service_account_token = false  # Prevent access to service account credentials
    security_context {
      run_as_non_root = true  # Ensure pod runs as non-root user...