← back
CVE-2023-26054

Credentials inlined to Git URLs could end up in provenance attestation in BuildKit

CVSS 6.5 MEDIUMEPSS 1.0%CWE-200
In short

BuildKit can accidentally expose Git credentials (usernames and passwords) in build records called provenance attestations. This happens when you build software from a Git repository that has credentials embedded in its URL, making those secrets visible to anyone who can access the build records.

Technical detail

When BuildKit v0.11.0+ creates provenance attestations for builds initiated via Git URLs containing embedded credentials, or when VCS info hints are populated from .git/config, the credentials remain unmasked in the attestation metadata. An attacker with access to provenance records can extract these credentials. The vulnerability affects builds where credentials are passed directly in the Git URL or inherited from local repository configuration; mitigation includes upgrading to v0.11.4+ or disabling VCS hints via BUILDX_GIT_INFO=0.

Summary generated and translated by AI from the official description.
BuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable manner. In affected versions when the user sends a build request that contains a Git URL that contains credentials and the build creates a provenance attestation describing that build, these credentials could be visible from the provenance attestation. Git URL can be passed in two ways: 1) Invoking build directly from a URL with credentials. 2) If the client sends additional version control system (VCS) info hint parameters on builds from a local source. Usually, that would mean reading the origin URL from `.git/config` file. When a build is performed under specific conditions where credentials were passed to BuildKit they may be visible to everyone who has access to provenance attestation. Provenance attestations and VCS info hints were added in version v0.11.0. Previous versions are not vulnerable. In v0.10, when building directly from Git URL, the same URL could be visible in `BuildInfo` structure that is a predecessor of Provenance attestations. Previous versions are not vulnerable. This bug has been fixed in v0.11.4. Users are advised to upgrade. Users unable to upgrade may disable VCS info hints by setting `BUILDX_GIT_INFO=0`. `buildctl` does not set VCS hints based on `.git` directory, and values would need to be passed manually with `--opt`.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N
Affected products
moby · buildkit

Want to know if your infrastructure is exposed to this?

Talk to TrueHacking →