Toutes les vulnérabilités
CRITICALInfra

K8S-EXPOSED-ETCD

Kubernetes · etcd (Kubernetes control-plane key-value store, ports 2379/2380)

Résumé

Exposed etcd is a misconfiguration class in which the etcd key-value store backing the Kubernetes API server is reachable on its client port (TCP 2379, with 2380 used for peer traffic) without client-certificate authentication. etcd is the single source of truth for a cluster and stores the entire cluster state, including all Secrets, service-account tokens, credentials, ConfigMaps, and RBAC rules, so reading it bypasses Kubernetes RBAC entirely and writing to it lets an attacker alter cluster state and take over the cluster. etcd shipped insecure by default: it had no authentication before version 2.1 (July 2015) and client-certificate authentication remained off by default for backward compatibility, and its authorization model is effectively all-or-nothing once access is granted. In March 2018, researcher Giovanni Collazo demonstrated the scale by querying Shodan and finding 2,284 etcd servers exposed to the internet without authentication; a short script then harvested roughly 750 MB of data including thousands of passwords, hundreds of AWS access keys, and private keys. The root cause is an etcd endpoint listening on a network-reachable interface without TLS client-certificate authentication enforced.

Comment l’éviter dans votre code

  • Never expose etcd (2379/2380) to untrusted networks; bind it to the control plane only.
  • Enforce TLS client-certificate authentication and peer TLS for all etcd connections.
  • Restrict etcd access with firewalls and NetworkPolicies to the API server alone.
  • Encrypt Secrets at rest in etcd and rotate any credentials previously stored there.
  • Audit internet exposure with Shodan/Censys and scan IaC for insecure etcd configuration.

Références

Vulnérabilités liées

Tout Infra →