Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain authorized access to BuildKit control API
-
DeliverySubmit crafted build request
-
ExploitSet xattr on file outside state directory
-
ExecutionWrite trusted./security. namespace attribute
-
ImpactHost program runs with elevated privileges
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling UNIX symlink resolution
|
| Exploitation Conditions | Exploitation requires a malicious actor who already has authorized access to the BuildKit control APIs - concretely, the affected deployment must be a build service that accepts build requests from untrusted users (e.g. a multi-tenant or hosted CI build backend). The attacker submits a build request that sets an extended attribute on a file located outside the BuildKit state directory, including in the trusted. or security. namespaces. LIMITING FACTORS: the vector is local (AV:L) and demands high privileges (PR:H, i.e. a legitimate control-API client), so default single-user/local Docker builds that do not expose the control API to untrusted parties are not realistically exploitable. The only complete fix per the vendor is upgrading to v0.34.1+; the advisory notes the exposure is confined to untrusted-build-service scenarios. |
| Impact | This is a genuine but conditional privilege-escalation issue rather than a broad emergency. The CVSS 4.0 vector (AV:L/AC:L/AT:P/PR:H/UI:N, score 4.5 Medium) tells the real story: exploitation is local to the BuildKit control API and requires high privileges (PR:H), i.e. the attacker must already be an authorized client of the build service. The impact metrics are telling - VC:N/VI:N/VA:N but SI:H/SA:H, meaning no direct impact on the BuildKit process itself but a high integrity (and, per vendor, availability) impact on the subsequent host system, consistent with writing trusted./security. xattrs that can grant a host program elevated privileges. No EPSS score is provided in the input and the issue is NOT on the CISA KEV list, so there is no signal of active exploitation; the only reference is the vendor GHSA advisory, not working exploit code. The vuln.today decision label is 'this_month' (not act_now/emergency), aligning with a patch-promptly-but-not-drop-everything posture. The one notable signal mismatch: the product (BuildKit, Docker's default builder) is extremely widely deployed, yet the vulnerable condition - a build service accepting builds from untrusted clients - is a narrow deployment mode, so real-world exposure is far smaller than the product's footprint suggests. Bottom line: prioritize for multi-tenant/CI build services exposed to untrusted users; low priority for single-tenant local Docker builds. |
| Exploit ScenarioDerived | An organization runs a hosted/CI build service where untrusted users can submit BuildKit build requests over the control API. A malicious user crafts a build that sets an extended attribute on a file outside the BuildKit state directory - for example a trusted. or security. namespace xattr - so that a privileged program on the host later runs with elevated privileges. No public working exploit is identified at time of analysis; only the vendor GHSA advisory exists, and exploitation requires local access to the control API (AV:L, PR:H). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Nov 03, 2026
BuildKit through v0.34.0 lets a client holding access to the daemon's control API set an extended attribute on a file outside the BuildKit state directory, including attributes in the trusted. and security. namespaces, which can leave a program on the host with more privilege than it should have. The flaw is genuine but conditional: the vector is local with high privileges required (a legitimate control-API client), so only build services that accept build requests from untrusted users - multi-tenant or hosted CI build backends - are realistically exposed, while default single-user Docker builds are not. No public exploit code has been identified at time of analysis and there is no confirmed active exploitation (CISA KEV); the vendor fix is v0.34.1.
RemediationAI
Upgrade BuildKit to v0.34.1 or later - the vendor-released patch version documented in GHSA-w26x-xg27-7qjc (https://github.com/moby/buildkit/security/advisories/GHSA-w26x-xg27-7qjc); this is the only complete fix the vendor describes. The advisory's own scoping note is the basis for the practical mitigation: because the issue requires a malicious client with access to the BuildKit control APIs, exposure is confined to build services that accept builds from untrusted users, so removing untrusted clients' access to the daemon's control socket - for example keeping the API on a host-local socket reachable only by trusted operators, or fronting it with an authenticating proxy - limits exposure, at the cost of giving up the multi-tenant or hosted build-service capability those clients provide. Deployments where the control API is not reachable by untrusted parties (default single-user local Docker builds) carry little practical risk and can be patched on the feed's 'this_month' cadence rather than under emergency change control.
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 is the Moby project's build engine that sits behind docker build and is also deployed standalone as a daemon (buildkitd) whose gRPC control API accepts build requests expressed in LLB. Those requests can carry filesystem operations, including setting extended attributes (xattrs) on files, and xattrs in the security. namespace (notably security.capability) and the trusted. namespace are consumed by the kernel and by privileged host programs, so writing one outside the daemon's state directory crosses a trust boundary rather than merely corrupting build output. The record maps to CWE-61 (UNIX symbolic link following), identifying the root-cause class as a path-resolution weakness in which a path supplied through a build request resolves to a location outside the intended state directory; the advisory does not describe the exact mechanism by which that escape occurs. The CPE cpe:2.3:a:moby:buildkit:*:*:*:*:*:*:*:* covers all releases up to and including v0.34.0, and the supplied CVSS:4.0 vector (AV:L/AC:L/AT:P/PR:H/UI:N, SC:N/SI:H/SA:H) aligns with the independent assessment (CVSS:3.1 AV:L/AC:L/PR:H/UI:N/S:C/C:N/I:H/A:N): integrity-only impact, scoped to other components, gated behind high-privileged local access. Note that the feed tags this as Information Disclosure, whereas both the advisory text and the assessed vector describe an integrity and privilege-escalation outcome.
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:H/UI:N/VC:N/VI:N/VA:N/SC:N/SI:H/SA:H
Control-API access makes PR:H and the vector local (AV:L); escaping the state directory to affect host files is a scope change (S:C) with integrity-only impact (I:H).
Primary rating from Vendor (Docker).
CVSS VectorVendor: Docker
Lifecycle Timeline
2DescriptionCVE.org
In BuildKit versions prior to v0.34.1, a malicious client with access to the BuildKit control APIs can submit a build request that sets an extended attribute on a file outside the BuildKit state directory. Extended attributes in the trusted. or security. namespaces may also be set, potentially giving a program on the host elevated privileges. This issue affects build services that accept build requests from untrusted users. The issue is fixed in v0.34.1.
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
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
EUVD-2026-116538
NVD
CVE.org
GitHub
Exploit-DB