Safeguard
Vulnerability Analysis•

CVE-2026-33747: BuildKit Frontend File Escape

CVE-2026-33747 (CVSS 8.4) lets an untrusted BuildKit frontend write files outside the state directory. Upgrade to 0.28.1 and trust only known frontends.

Safeguard Security Team
3 min read

CVE-2026-33747 is a path traversal flaw in BuildKit, the build engine behind Docker builds. NVD scores it 8.4. A custom frontend can craft an API message that writes files outside the BuildKit state directory. Upgrade to BuildKit 0.28.1. Well known frontends such as docker/dockerfile are not affected, per the advisory.

What's affected

BuildKit versions before 0.28.1 are affected, and 0.28.1 fixes it, per the advisory and release notes. The issue requires an untrusted custom frontend, set with a #syntax line or the BUILDKIT_SYNTAX build argument. The advisory says well known frontend images such as docker/dockerfile are not affected.

How to check if you're exposed

docker buildx version
docker buildx inspect --bootstrap

The inspect output shows the BuildKit version of your builder. Then search your repositories and CI configuration for custom syntax references:

grep -rn "syntax=" --include=Dockerfile* .
grep -rn "BUILDKIT_SYNTAX" .

Any frontend image you do not control or pin to a trusted digest is the risk, particularly in CI that builds code from outside contributors.

What to do now

  1. Upgrade BuildKit to 0.28.1 or later, including builders embedded in Docker Engine and CI runners.
  2. Allow only well known frontends, and remove untrusted #syntax lines.
  3. Build untrusted code on disposable, isolated builders without access to credentials.
  4. Add builder versions to your inventory.

Why it matters

The record uses CWE-22, path traversal. A frontend is code that runs as part of the build, and the engine failed to confine the paths it asked to write. Build systems run with access to caches, tokens and registries, so a write outside the sandbox boundary matters. The record is not marked as exploited in the wild and is not in CISA KEV.

Treat a build frontend like any other code you execute. Pin frontends by digest where you use them, and keep untrusted builds away from machines that hold registry credentials. If your CI builds pull requests from forks, run those builds on short lived builders with no secrets.

Try it yourself

Click through it at your own pace, or open it full screen.

Quick check

Am I affected using docker/dockerfile?

The advisory says well known frontend images like that are not affected.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.