CVE-2026-93318
Received Received - Intake

BuildKit Malicious Image DiffID Cache Poisoning

Vulnerability report for CVE-2026-93318, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-10-05

Last updated on: 2026-10-05

Assigner: Docker Inc.

Description

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.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-10-05
Last Modified
2026-10-05
Generated
2026-10-05
AI Q&A
2026-10-05
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
moby BuildKit 0

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-354 The product does not validate or incorrectly validates the integrity check values or "checksums" of a message. This may prevent it from detecting if the data has been modified or corrupted in transmission.

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

CVE-2026-93318 is a cache poisoning vulnerability in BuildKit. A malicious image can falsely claim to have the same layer identifiers as another image while containing different contents. BuildKit uses these identifiers to manage cache and snapshots without verifying they match the actual layers. This allows an attacker to inject malicious layer contents that may later be used in other builds.

Detection Guidance

To detect this vulnerability, check the BuildKit version in use with 'buildkitd --version'. If it is below v0.32.2, the system is vulnerable. Inspect Dockerfile or build logs for unexpected layer content mismatches or cache inconsistencies during builds.

Impact Analysis

If you use BuildKit with shared or persistent caches, an attacker could replace a victim image's layers with malicious ones. This may let the attacker run arbitrary code during your build process, steal build secrets, access other resources, modify output files, or disrupt builds. The impact depends on what the malicious code can access in your environment.

Compliance Impact

This vulnerability could lead to unauthorized access to sensitive data during builds, potentially violating GDPR's data protection requirements and HIPAA's safeguards for protected health information if build secrets or artifacts are exposed or altered.

Mitigation Strategies
  • Upgrade BuildKit to v0.32.2 or later to patch the vulnerability.
  • Avoid sharing BuildKit daemon caches between trusted and untrusted builds.
  • Use isolated BuildKit daemons or ephemeral builders for untrusted sources.
  • Prune the BuildKit cache after processing untrusted images.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-93318. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart