Back to all scenarios
Scenario #282
Security
Kubernetes v1.23, GitLab CI on EKS

GitLab Runners Spawning Privileged Containers

GitLab runners were configured to run privileged containers to support Docker-in-Docker (DinD), leading to a high-risk setup.

Find this helpful?
What Happened

A developer pipeline was hijacked and used to build malicious images, which had access to the underlying node due to privileged mode.

Diagnosis Steps
  • 1Detected unusual image pushes to private registry.
  • 2Reviewed runner configuration – found privileged: true enabled.
  • 3Audited node access logs.
Root Cause

Runners configured with elevated privileges for convenience.

Fix/Workaround
• Disabled DinD and used Kaniko for builds.
• Set runner securityContext to avoid privilege escalation.
Lessons Learned

Privileged mode should be a last resort.

How to Avoid
  • 1Avoid using DinD where possible.
  • 2Use rootless build tools like Kaniko or Buildah.