Cache poisoning in BuildKit via unvalidated image layer DiffIDs
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Active
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- —
- Confidentiality · integrity · availability
- High · High · Low
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA.
Summary
BuildKit versions before 0.33.1 do not validate that the DiffIDs an image advertises match its actual layer contents (CWE-354). A malicious image can advertise DiffIDs from another image, so a BuildKit daemon with shared or persistent cache that processes it first can later mount attacker-controlled layers as the base of a victim build. Attacker-controlled code can then read build secrets, alter output artifacts or hang the build, and both regular and lazy-pulling snapshotters such as stargz are affected.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
Description from the CNA
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| moby | BuildKit | before 0.33.1 | 0.33.1 | Patch available | CNA |
- BuildKit Vendormoby Affected before 0.33.1 Fixed in 0.33.1 Patch available CNA
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:mobyproject:buildkit:*:*:*:*:*:*:*:* | — | — | Mobyproject |
- cpe:2.3:a:mobyproject:buildkit:*:*:*:*:*:*:*:* Versions — — ·Mobyproject
Remediation
Upgrade moby BuildKit to version 0.33.1 or later.
Written with Claude Haiku 5.5 from the sources below · 2026-10-29
- Fix · CNA BuildKit (moby) Fixed in 0.33.1
Fixed in the same release
Records fixed by the same vendor advisory or release, as the CNA lists them.
- Release ·
moby BuildKit 0.33.1
4 records Highest priority Priority LOW 4 LOW
Other records, highest priority first
- TI-2026-67812 BuildKit panics on CDI device builds if started with --cdi-disabledPriority LOW 31
- TI-2026-67813 Container blob cache can accept unverified content in BuildKitPriority LOW 26
- TI-2026-68038 Race condition in BuildKit CA cleanup lets build steps disrupt itPriority LOW 25
Vendor assessments
Red Hat
Red Hat rating: Important. Red Hat's page for this CVE →
Not affected: 2 products
- Red Hat Hardened Images
- Red Hat Quay 3
Timeline
- 2026-10-05 Threatist record created from CVE-2026-93318
- 2026-10-05 CISA SSVC decision points changed
- 2026-10-05 Priority changed: MEDIUM → LOW
- 2026-10-20 Affected versions changed · Red Hat
- 2026-10-20 CVSS score added · Red Hat
- 2026-10-21 Affected versions changed · Red Hat
References
More moby vulnerabilities
- TI-2026-14229 Tar extraction in moby/go-archive can write outside the destination directory via link following CVSS 4.0HIGH 7.1
- TI-2021-12512 Moby HyperKit uninitialized memory use in virtio-sock pci_vtsock_proc_tx CVSS 3.1HIGH 7.1
- TI-2024-27462 Moby authz zero length regression CVSS 3.1CRITICAL 10.0
- TI-2024-15672 BuildKit interactive containers API does not validate entitlements check CVSS 3.1CRITICAL 9.8
- TI-2024-15671 BuildKit possible host system access from mount stub cleaner CVSS 3.1CRITICAL 10.0
- TI-2026-26365 Moby: AuthZ plugin bypass with oversized request body CVSS 3.1HIGH 8.8
Sources
- CVE-2026-93318 · CVE Program
- CVE-2026-93318 · NVD
- FIRST EPSS
- CVE-2026-93318 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences