Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconIdentify WCOW-configured BuildKit daemon
-
DeliveryCraft Dockerfile with NTFS junction in cache mount
-
ExploitSubmit build to daemon
-
InstallBuild execution triggered (operator or CI)
-
C2Daemon follows NTFS junction to host path
-
ExecuteArbitrary host files read and returned to build context
-
ImpactSensitive data exfiltrated
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Symlink resolution safety
|
| Exploitation Conditions | The target BuildKit daemon must be explicitly configured to use Windows Container on Windows (WCOW) workers - this is not the default BuildKit deployment mode and requires deliberate Windows-specific setup. The attacking build must use the |
| Impact | The CVSS 4.0 base score of 5.6 (Medium) reflects a real but constrained attack surface. The AV:L (local) metric indicates the attacker must have some form of access to submit builds to the target daemon - typically via the daemon socket - rather than exploiting a remotely reachable network service. AT:P confirms specific prerequisites: the daemon must be configured for WCOW workers, which is a non-default Windows-specific deployment mode. UI:A (active user interaction) requires someone to execute or accept the malicious build. The VC:H (high confidentiality impact on vulnerable component) is significant: if exploited, an attacker can exfiltrate any host file the daemon process can read, which in practice may include credentials, secrets, private keys, or configuration files mounted into the CI/CD environment. There is no integrity or availability impact. The absence of a KEV listing and no identified public exploit code further constrains real-world urgency, but the risk is materially elevated in shared build infrastructure scenarios - SaaS CI/CD platforms, self-hosted runners with untrusted contributor access, or build farms where multiple tenants submit Dockerfiles to a common WCOW daemon. EPSS data was not provided in the input; risk classification relies on CVSS vector and contextual analysis. |
| Exploit ScenarioDerived | An attacker with the ability to submit Dockerfiles to a shared WCOW BuildKit daemon - for example, through a pull request to a repository whose CI/CD runs BuildKit on Windows - crafts a build that uses a cache mount and pre-populates the cache root with an NTFS directory junction pointing to a sensitive host path such as a secrets directory or user profile. When an operator or automated pipeline runs the build, BuildKit follows the junction without detection, and the build stage reads and potentially exfiltrates files from the host. No public proof-of-concept has been identified, but the technique is well-understood given the long history of Windows junction abuse in similar filesystem isolation contexts. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 20, 2026
Arbitrary host file disclosure in BuildKit's WCOW (Windows Container on Windows) worker mode allows an untrusted build author to read any file reachable by the BuildKit daemon process. By placing NTFS directory junctions inside the cache mount root - a technique the source= selector fails to detect on Windows - a malicious Dockerfile can redirect cache access to traverse outside the container's expected filesystem boundary. This affects any multi-tenant or shared CI/CD environment running a WCOW-configured BuildKit daemon where untrusted users can submit builds; no active exploitation has been confirmed (not listed in CISA KEV) and no public exploit code has been identified at time of analysis.
RemediationAI
Consult the official security advisory at https://github.com/moby/buildkit/security/advisories/GHSA-388v-wmr2-g2v2 for the patched BuildKit version; no specific fix version was present in the input data and none can be cited here without independent confirmation. Until a patch is applied, the most effective compensating control is to restrict access to WCOW-configured BuildKit daemons to fully trusted users only - removing untrusted contributor access to build submission eliminates the attack path entirely. A second mitigation is to disable cache mount usage (avoid --mount=type=cache,source=... directives) in builds from untrusted sources on WCOW workers; this reduces build performance but closes the specific code path. Switching affected pipelines to Linux-based BuildKit workers, where the vulnerability does not exist, is an alternative architectural mitigation where feasible. Running the BuildKit daemon under a minimally privileged Windows service account reduces the blast radius of exploitation by limiting which host files are reachable even if the junction traversal succeeds.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
BuildKit (CPE: cpe:2.3:a:moby:buildkit:*:*:*:*:*:*:*:*) is Docker's container image build engine. Its RUN --mount=type=cache,source=<dir> Dockerfile instruction allows builds to reuse a named cache directory across builds, improving performance. On Windows, NTFS supports 'directory junctions' - a form of filesystem reparse point functionally analogous to symlinks but specifically for directories. CWE-59 (Improper Link Resolution Before File Access, also known as 'Link Following') describes the root cause: the cache mount resolver on WCOW workers does not identify or reject NTFS junctions placed inside the designated cache root. When the daemon follows such a junction during a build, it resolves the junction target on the host filesystem rather than remaining within the cache sandbox. This is the Windows analogue of classic TOCTOU symlink attacks seen on Linux, and is specific to WCOW workers - Linux-based BuildKit workers are unaffected as they use a different filesystem model.
Know when Buildkit gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:L/AT:P/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
AV:L because daemon socket access is required; AC:H for WCOW-specific prerequisite; S:C because junction traversal escapes container cache boundary to host filesystem.
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N
Primary rating from Vendor (Docker).
CVSS VectorVendor: Docker
Lifecycle Timeline
2DescriptionCVE.org
BuildKit's cache mount source= selector on Windows Container on Windows (WCOW) workers does not detect NTFS directory junctions placed inside the cache root. A build authored by an untrusted user on a WCOW-configured BuildKit daemon can read arbitrary host files reachable to the BuildKit daemon process.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
BuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable manner. R
Cache poisoning in BuildKit lets a malicious image advertise DiffIDs that do not match its actual layer contents, so a d
Argument injection in Moby BuildKit lets a malicious Git source trigger crafted command invocation on the build host whe
Denial of service in Moby BuildKit allows a low-privileged remote user to crash the BuildKit daemon by submitting a buil
Path traversal in the BuildKit daemon allows a client with valid control API access to craft a malicious upload request
Denial of service in Moby BuildKit allows anyone able to submit an LLB build definition to a buildkitd daemon to panic a
Denial of service in the BuildKit Dockerfile frontend (buildkitd) allows a user who can submit a build context to exhaus
Denial of service in Docker BuildKit (moby/buildkit) allows a malicious or compromised client or frontend to crash the B
BuildKit (moby/buildkit) contains a policy-validation bypass in which a specially crafted Git source build step makes a
BuildKit, the container build engine used by Docker and exposed through `docker build`/buildx, can be tricked into perfo
BuildKit can cache a fetched snapshot under a claimed content digest without adequately verifying that the blob bytes ma
Moby BuildKit (all versions in the affected range per the unbounded CPE cpe:2.3:a:moby:buildkit:*:*:*:*:*:*:*:*) can be
Same weakness CWE-59 – Improper Link Resolution Before File Access
View allSame technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| SUSE Linux Enterprise Server 16.1 | Not-Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Not-Affected |
| SUSE Linux Micro 6.0 | Not-Affected |
| SUSE Linux Micro 6.1 | Not-Affected |
EUVD-2026-46074
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB