Skip to main content

BuildKit EUVDEUVD-2026-92532

| CVE-2026-93318 HIGH
Improper Validation of Integrity Check Value (CWE-354)
2026-10-05 Docker
7.5
CVSS 4.0 · Vendor: Docker
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Submit malicious image to shared-cache daemon
  2. Delivery
    Advertise victim's DiffIDs with mismatched layers
  3. Exploit
    Daemon caches attacker layers under victim identity
  4. Execution
    Victim build mounts poisoned base layer
  5. Persist
    Replaced /bin/sh runs in victim build
  6. Impact
    Read build secrets and alter artifacts

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A08:2025 - Software or Data Integrity Failures
ASVS 5.0
V15 - Secure Coding and Architecture Integrity verification
Exploitation Conditions

Exploitation requires a BuildKit daemon configured with a shared or persistent cache (e.g. a multi-tenant or long-lived CI/build farm) - ephemeral, non-shared caches are not affected. The attacker must get their malicious image processed by the daemon BEFORE the victim build runs, so that the forged DiffIDs seed the cache/snapshot store, and a victim must then execute a build that references the targeted base image (UI:A). The flaw affects both regular snapshotters and lazy-pulling snapshotters such as stargz. Limiting factors: the required ordering/shared-state precondition (reflected as AT:P) and the need for a victim build to occur mean this is not a one-shot remote hit against a default single-tenant builder.

Impact

This is a genuine integrity/supply-chain flaw (CWE-354) in BuildKit, but it is a conditional cache-poisoning issue rather than a trivially remote RCE. The supplied CVSS 4.0 vector (CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:L) is internally consistent with the description: AT:P (attack requirement) captures the mandatory ordering/state precondition that the daemon must first ingest the malicious image into a shared or persistent cache, and UI:A captures that a victim must subsequently run a build. Impact is correctly rated high on confidentiality and integrity (build secrets can be read and output artifacts altered) with low availability (the build can be hung). No EPSS score, KEV listing, or POC was provided in the input, so there is no signal of active or widespread exploitation - no public exploit identified at time of analysis. Net: a real priority for multi-tenant / shared-cache CI environments and build farms, but lower practical risk for single-tenant builders with ephemeral, non-shared caches. The precondition (attacker image processed first on a shared cache) means realistic exploitation is targeted/environment-specific rather than opportunistic, which is consistent with the absence of mass-exploitation signals.

Exploit ScenarioDerived

In a shared multi-tenant CI build farm running a BuildKit daemon with a shared or persistent cache, an attacker first submits a crafted image that advertises DiffIDs belonging to a legitimate base image while shipping different layer contents. When a victim pipeline later builds using that base image, BuildKit derives cache/snapshot identity from the advertised DiffIDs and mounts the attacker's layer, so attacker code (e.g. a replaced /bin/sh) executes inside the victim build and can exfiltrate mounted build secrets or tamper with output artifacts. No public exploit was provided in the input.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 05, 2026

Cache poisoning in BuildKit lets a malicious image advertise DiffIDs that do not match its actual layer contents, so a daemon with a shared or persistent cache can adopt attacker-controlled layers as the base for a victim image and execute attacker code inside the victim build - for example by replacing a commonly executed path such as /bin/sh, reading build secrets mounted into the build, altering output artifacts, or hanging the build. Exploitation is unauthenticated but conditional: the attacker's image must be processed before the victim build on a daemon with a shared or persistent cache (multi-tenant or long-lived CI/build farms), and a victim build must then reference the targeted base image; ephemeral, non-shared caches are unaffected. No public exploit code identified at time of analysis; the vendor patch is BuildKit v0.33.1, and the issue carries a CVSS 7.5 (CVSS 4.0) rating with our independent assessment at CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:L.

RemediationAI

Vendor-released patch: BuildKit v0.33.1 (https://github.com/moby/buildkit/releases/tag/v0.33.1) - upgrade builder daemons and any embedded BuildKit components to that version, then drop or rebuild shared/persistent caches so poisoned snapshot entries cannot survive the upgrade; a daemon restart alone without clearing the persistent cache leaves forged entries in place. If immediate upgrade is not possible, isolate caches by trust domain - run untrusted image pulls through a separate BuildKit daemon or builder instance with its own ephemeral cache (trade-off: loses cache-hit reuse across tenants and increases build time and storage), and avoid reusing a builder that has processed untrusted images for victim builds. Disabling the lazy-pulling stargz snapshotter removes the lazy-pull variant but does not remediate regular snapshotters and forfeits lazy-pull performance gains; restricting a shared builder to trusted, digest-pinned or signature-verified image references (Docker Content Trust, cosign policy, or an allowlist) prevents the malicious-image precondition at the cost of added admission friction. Also avoid mounting long-lived build secrets into builds whose base image chain is not trusted, since secret exposure is one of the demonstrated impacts. Full details: https://github.com/moby/buildkit/security/advisories/GHSA-f2v9-hprr-32q3.

Affected VersionsENISA

buildkit 0 <0.33.1

Affected Packages

euvd buildkit fix: 0.33.1

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 resolves images into content-addressed layers identified by DiffIDs - the SHA-256 digest of the uncompressed layer payload recorded in the image config - and uses those identifiers to key its cache and snapshot store. CVE-2026-93318 maps to CWE-354 (Improper Validation of Integrity Check Value): the daemon trusted DiffIDs advertised by an image config without recomputing them over the actual layer bytes, so an attacker could pair genuine victim DiffIDs with different layer contents in their own image and seed the cache/snapshot identity with attacker data. Because snapshot and cache lookups are keyed on those unvalidated identifiers, both the standard overlay-style snapshotters and lazy-pulling snapshotters such as stargz are in scope, with stargz carrying the same forged identity through its lazy fetch path. The CPE entry cpe:2.3:a:moby:buildkit:*:*:*:*:*:*:*:* tracks the affected BuildKit releases; the flaw was reported by Docker and fixed upstream in v0.33.1 per advisory GHSA-f2v9-hprr-32q3. The practical exploit chain depends on shared daemon state and on ordering (attacker image first, victim build second), which is why the assessed vector reduces impact to a conditional, high-complexity (AC:H / AT:P, UI:R) integrity-and-disclosure problem rather than a one-shot remote compromise of a default single-tenant builder.

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

Vendor (Docker) PRIMARY 7.5 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N
vuln.today AI 7.1 HIGH

AC:H reflects the required cache-state ordering (malicious image processed first on a shared cache); UI:R because a victim build must run; C:H/I:H for secret theft and artifact tampering, A:L for build hang.

3.1 AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:L
4.0 AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N
SUSE 8.8 HIGH
AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Primary rating from Vendor (Docker).

CVSS VectorVendor: Docker

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
Active
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

A malicious image can advertise DiffIDs from another image while containing different layer contents. In affected versions, BuildKit could use the advertised DiffIDs to derive cache and snapshot identity without validating that they matched the actual layer contents.

If a BuildKit daemon with shared or persistent cache first processes such a malicious image, a later build using the victim image may mount the attacker-controlled layer contents as the base image. This can allow code from the malicious image to run in the victim build, for example by replacing a commonly executed path such as /bin/sh. The attacker-controlled code may read build secrets mounted into the build, access other build resources, alter output artifacts, or hang the build.

The issue affects both regular snapshotters and lazy-pulling snapshotters such as stargz.

Technical POC Analysis

CWE-354 (Improper Validation of Integrity Check Value).

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

BuildKit, the build engine behind Docker Buildx and many CI/CD pipelines, contains a cache-poisoning flaw (CVE-2026-93318) that allows an attacker-supplied container image to silently become the foundation of another team's or customer's build. The exposure is concentrated in shared or long-lived build infrastructure - multi-tenant CI runners, build farms, and any daemon with a persistent cache - while pipelines using ephemeral, per-build caches are not affected. Because the consequence is attacker code executing inside trusted builds with visibility into build secrets and release artifacts, leadership should treat this as a supply-chain risk requiring prompt patching, even though no exploitation has been observed.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.2%
Top 95% exploitable
Prevalence
High
BuildKit is the default Docker/Moby build engine, ubiquitous in CI/CD pipelines
Data Quality
7 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment MSRC Vendor GitHub

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

38
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +38
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

CVE-2023-26054 MEDIUM POC
6.5 Mar 06

BuildKit is a toolkit for converting source code to build artifacts in an efficient, expressive and repeatable manner. R

CVE-2026-15793 HIGH
7.3 Jul 21

Argument injection in Moby BuildKit lets a malicious Git source trigger crafted command invocation on the build host whe

CVE-2026-93316 HIGH
7.1 Oct 05

Denial of service in Moby BuildKit allows a low-privileged remote user to crash the BuildKit daemon by submitting a buil

CVE-2026-15789 MEDIUM
6.9 Jul 21

Path traversal in the BuildKit daemon allows a client with valid control API access to craft a malicious upload request

CVE-2026-93322 MEDIUM
6.9 Oct 05

Denial of service in Moby BuildKit allows anyone able to submit an LLB build definition to a buildkitd daemon to panic a

CVE-2026-93323 MEDIUM POC
6.8 Oct 05

Denial of service in the BuildKit Dockerfile frontend (buildkitd) allows a user who can submit a build context to exhaus

CVE-2026-15792 MEDIUM
6.0 Jul 21

Denial of service in Docker BuildKit (moby/buildkit) allows a malicious or compromised client or frontend to crash the B

CVE-2026-93326 MEDIUM
6.0 Oct 05

BuildKit (moby/buildkit) contains a policy-validation bypass in which a specially crafted Git source build step makes a

CVE-2026-93320 MEDIUM
6.0 Oct 05

BuildKit, the container build engine used by Docker and exposed through `docker build`/buildx, can be tricked into perfo

CVE-2026-93317 MEDIUM POC
5.9 Oct 05

BuildKit can cache a fetched snapshot under a claimed content digest without adequately verifying that the blob bytes ma

CVE-2026-93315 MEDIUM
5.8 Oct 05

Moby BuildKit (all versions in the affected range per the unbounded CPE cpe:2.3:a:moby:buildkit:*:*:*:*:*:*:*:*) can be

CVE-2026-93319 MEDIUM
5.7 Oct 05

A malicious external BuildKit frontend can issue crafted requests against the daemon's internal API that trigger a data

Vendor StatusVendor

SUSE

Severity: Important
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 12 Affected
SUSE Linux Enterprise Micro 5.3 Affected
SUSE Linux Enterprise Micro 5.4 Affected
SUSE Linux Enterprise Micro 5.5 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy