CVE-2026-33747
Docker vulnerability analysis and mitigation

Overview

CVE-2026-33747 is a path traversal vulnerability in Moby's BuildKit toolkit that allows a malicious custom frontend to write files outside of the BuildKit state directory for the execution context. It affects all BuildKit versions prior to 0.28.1 (i.e., <= v0.28.0). The vulnerability was published on March 25, 2026, by maintainer tonistiigi and added to the GitHub Advisory Database on March 26, 2026. The CVSS v3.1 score from the GitHub Advisory is 8.4 (High) with a local attack vector, while Feedly's estimate assigns a score of 9.8 (Critical) with a network attack vector (GitHub Advisory, BuildKit Advisory).

Technical details

The vulnerability is classified as CWE-22 (Improper Limitation of a Pathname to a Restricted Directory — Path Traversal). When a user invokes a build using a custom BuildKit frontend specified via the #syntax directive in a Dockerfile or the --build-arg BUILDKIT_SYNTAX build argument, the untrusted frontend can craft a malicious API message that causes BuildKit to write files to arbitrary locations outside its designated state directory. The precondition for exploitation is that the victim must use an untrusted or attacker-controlled frontend image; builds using well-known, trusted frontends such as docker/dockerfile are not affected. The fix was included in the v0.28.1 release, which added sufficient validation to prevent such path escapes (GitHub Advisory, BuildKit Release).

Impact

Successful exploitation allows an attacker-controlled frontend to overwrite arbitrary files on the host system accessible to the BuildKit daemon, potentially including sensitive configuration files, credentials, or binaries. This can result in high confidentiality impact (unauthorized file read via overwrite of accessible paths), high integrity impact (modification of arbitrary system files), and high availability impact (corruption of critical files). Depending on which files are overwritten, exploitation could lead to privilege escalation or remote code execution on the build host (GitHub Advisory, BuildKit Advisory).

Exploitability

As of the time of reporting, there is no public proof-of-concept exploit and no evidence of active in-the-wild exploitation (GitHub Advisory). The EPSS score is approximately 0.006% (0.000060), placing it in the 20th percentile for exploitation likelihood within 30 days. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. No threat actor attribution has been reported. Exploitation requires social engineering or supply chain compromise to convince a developer to use a malicious frontend image.

Exploitation steps

  1. Prepare a malicious frontend image: The attacker creates a custom BuildKit frontend container image that, when invoked, crafts a specially constructed API message containing path traversal sequences (e.g., ../../) in file path fields intended to reference locations within the BuildKit state directory.
  2. Host the malicious image: The attacker publishes the malicious frontend image to a public or private container registry accessible to the target.
  3. Deliver the malicious #syntax directive: The attacker tricks a developer or CI/CD pipeline into using a Dockerfile that begins with # syntax=attacker-registry/malicious-frontend:latest, or passes --build-arg BUILDKIT_SYNTAX=attacker-registry/malicious-frontend:latest to the build command.
  4. Trigger the build: When the victim runs docker build or an equivalent BuildKit command, BuildKit pulls and executes the attacker's frontend, which sends the crafted API message to the BuildKit daemon.
  5. Write files outside the state directory: The malicious API message causes BuildKit to write attacker-controlled content to arbitrary paths on the host (e.g., overwriting /etc/cron.d/ entries, SSH authorized keys, or other sensitive files), potentially enabling persistence or code execution (GitHub Advisory, BuildKit Advisory).

Indicators of compromise

  • File System: Unexpected or modified files outside the BuildKit state directory (typically /var/lib/buildkit/) that were recently written during a build operation; new or altered files in sensitive directories such as /etc/, /root/.ssh/, or cron directories with timestamps matching build activity.
  • Logs: BuildKit daemon logs showing file write operations to paths containing ../ sequences or paths outside the expected state root; Docker build logs referencing an unfamiliar or external #syntax frontend image.
  • Process: BuildKit worker processes (buildkitd) performing unexpected file I/O to system directories not associated with normal build artifact storage.
  • Network: Outbound connections from the build host to unfamiliar container registries during build execution, particularly to pull a custom frontend image not in the organization's approved image list.

Mitigation and workarounds

Upgrade BuildKit to version 0.28.1 or later, which contains the fix for this vulnerability (BuildKit Release). As a workaround prior to patching, avoid using untrusted or custom BuildKit frontends; only use well-known, verified frontend images such as docker/dockerfile. Audit all Dockerfiles and CI/CD pipeline configurations for use of the #syntax directive or --build-arg BUILDKIT_SYNTAX with external or unverified image sources, and restrict these to approved registries. Red Hat has also issued errata (RHSA-2026:9440, RHSA-2026:9453, RHSA-2026:10125) and SUSE/openSUSE have released security updates addressing this CVE (GitHub Advisory).

Community reactions

The vulnerability was disclosed by maintainer tonistiigi of the Moby/BuildKit project and credited to reporter 1seal (BuildKit Advisory). Downstream vendors including Red Hat, SUSE, openSUSE, and Ubuntu have issued security advisories and package updates. Coverage has appeared on Linux security news aggregators and vulnerability tracking platforms, with no significant controversy or notable researcher commentary beyond standard patch advisories.

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Debian

Fixed

bookworm

docker.io

Affected

sid

docker.io: 28.5.2+dfsg4-3

Fixed

trixie

docker.io: 26.1.5+dfsg1-9+deb13u1

Fixed

Ubuntu

Fixed

bionic (esm-apps)

docker.io

Affected

devel

docker.io

Affected

focal (esm-apps)

docker.io

Affected

jammy

docker.io

Affected

jammy (esm-apps)

docker.io

Affected

noble

docker.io

Affected

noble (esm-apps)

docker.io

Affected

resolute

docker.io

Affected

RHEL / CentOS

Fixed

OpenShift

el9:odf4/cephcsi-rhel9-0:v4.20.17

Fixed

RHEL 10

Not Affected

Alpine

Fixed

edge

buildkit: 0.29.0-r0, 29.3.1-r0

Fixed

v3.23

docker: 29.3.1-r0

Fixed

SourceThis report was generated using AI

Related Docker vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-78662HIGH7.5
  • Docker logoDocker
  • kubescape-server-fips
NoYesSep 02, 2026
CVE-2026-56855HIGH7.5
  • Docker logoDocker
  • fulcio-fips
NoYesSep 02, 2026
CVE-2026-75593HIGH7.2
  • Docker logoDocker
  • ubi10::buildah
NoYesAug 19, 2026
CVE-2026-61711MEDIUM5.3
  • Docker logoDocker
  • podman-fips-6.0
NoYesAug 19, 2026
CVE-2026-61712LOW2.3
  • Docker logoDocker
  • kubescape-ksserver
NoYesAug 19, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management