All vulnerabilities
CRITICALInfra

CLOUD-AZURESCAPE-2021

Cloud · Azure · Azure Container Instances (ACI)

Summary

On 9 September 2021 Palo Alto Unit 42 researcher Yuval Avrahami disclosed Azurescape, described as the first cross-account container takeover in a public cloud, in which a malicious container on Azure Container Instances could escape and gain control over other customers' containers running on the shared multitenant Kubernetes cluster. ACI ran an outdated container runtime, runC v1.0.0-rc2, which was vulnerable to CVE-2019-5736, letting the attacker break out of the container and execute code as root on the underlying Kubernetes node. From the node the researcher found the bridge pod, which serviced az container exec calls, sent a Kubernetes service-account token in the Authorization header to a Kubelet that also allowed anonymous access; decoding that token (related to CVE-2018-1002102) granted pods/exec rights across all namespaces and control of the api-server, and thus the whole multitenant cluster. This was a provider-side flaw under shared responsibility that customers could not patch; Unit 42 found it and reported it with no knowledge of exploitation in the wild.

How to avoid it in your code

  • Treat managed containers as untrusted tenants and minimize secrets injected into ACI workloads.
  • Run sensitive container workloads in dedicated, isolated subscriptions to limit blast radius.
  • Rotate any credentials or tokens that were reachable from ACI after provider advisories.
  • Prefer private networking and least-privilege identities for container deployments.
  • Enable Defender for Cloud container threat detection and monitor exec and runtime activity.

References

Related vulnerabilities

All Infra →