Contenedor Kubernetes Privilegiado
Tu pod de Kubernetes corre con securityContext.privileged: true, dándole al contenedor acceso completo al kernel del host y efectivamente evitando el aislamiento del contenedor.
Cómo Funciona
Un contenedor privilegiado corre con casi el mismo acceso que un proceso corriendo directamente en el host. Puede acceder a todos los dispositivos del host, modificar parámetros del kernel y escapar del contenedor para acceder al nodo subyacente. Si un atacante compromete un contenedor privilegiado (vía una vulnerabilidad en tu app), puede escapar al host y comprometer el nodo de Kubernetes completo y potencialmente todo el cluster.
# MAL: spec de pod con contenedor privilegiado
apiVersion: v1
kind: Pod
spec:
containers:
- name: app
image: myapp:latest
securityContext:
privileged: true # acceso completo al host — casi nunca es necesario# BIEN: contexto de seguridad mínimo, sin escalada de privilegios
apiVersion: v1
kind: Pod
spec:
containers:
- name: app
image: myapp:latest
securityContext:
privileged: false
allowPrivilegeEscalation: false
runAsNonRoot: true
runAsUser: 1000
readOnlyRootFilesystem: trueEjemplo Real
Las vulnerabilidades de escape de contenedor (CVE-2019-5736 runc, CVE-2022-0185 kernel de Linux) son significativamente más explotables cuando los contenedores son privilegiados. En 2022, atacantes que comprometieron un contenedor privilegiado en un cluster de Kubernetes pudieron escapar al nodo en minutos, luego pivotar para acceder a secretos de otros pods vía el kubelet del nodo.
Cómo Prevenirlo
- Nunca configures privileged: true a menos que tengas una razón específica y documentada (ej. ciertos plugins CNI, DaemonSets para monitoreo de nodo)
- Configura allowPrivilegeEscalation: false y runAsNonRoot: true como valores por defecto para todos los contenedores
- Usa Pod Security Admission (PSA) para forzar políticas baseline o restricted a nivel de cluster
- Configura readOnlyRootFilesystem: true para prevenir que los atacantes escriban herramientas en el sistema de archivos del contenedor
- Usa herramientas como kube-bench para auditar tu cluster contra el CIS Kubernetes Benchmark
Tecnologías Afectadas
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Estado de Terraform Expuesto
criticalTu archivo terraform.tfstate está commiteado en tu repositorio o almacenado en un lugar sin cifrar y públicamente accesible — contiene cada secreto e ID de recurso en tu infraestructura.
Credenciales de Proveedor Terraform Hardcodeadas
criticalLas credenciales de AWS, GCP o Azure están hardcodeadas en tus archivos .tf en lugar de usar variables de entorno o roles de instancia, commiteando claves de acceso cloud al control de versiones.
Cuenta de Servicio Predeterminada en Kubernetes
mediumLos pods que corren con la cuenta de servicio predeterminada heredan permisos RBAC a nivel de cluster que generalmente son mucho mas amplios de lo que el workload necesita, permitiendo movimiento lateral si el pod es comprometido.
Secretos en values.yaml de Helm Charts
highContrasenas, API keys y otros secretos estan hardcodeados directamente en archivos values.yaml de Helm, que se commitean al control de versiones y quedan expuestos a cualquiera con acceso al repositorio.