Vulnerability DatabaseCVE-2026-121520

CVE-2026-121520: 
Docker vulnerability analysis and mitigation

Overview

CVE-2026-121520 is a privilege escalation vulnerability in Moby BuildKit that allows a malicious client with access to the BuildKit control APIs to set extended attributes (xattrs) on files outside the BuildKit state directory. Affected versions are all BuildKit releases prior to v0.34.1 (i.e., <= v0.34.0). The vulnerability was published on November 3, 2026, and fixed in v0.34.1. It carries a CVSS v3.1 base score of 7.9 (High) (GitHub Advisory, Red Hat Bugzilla).

Technical details

The root cause is improper path restriction (CWE-22: Path Traversal) combined with symlink-following behavior (CWE-61: UNIX Symbolic Link Following), which allows a crafted build request to escape the intended BuildKit state directory boundary when setting extended file attributes. An attacker with access to the BuildKit control APIs submits a malicious build request that specifies an xattr write targeting a file path outside the BuildKit state directory. Critically, xattrs in the trusted. or security. namespaces can be set this way, which may grant elevated privileges to programs on the host system. The attack vector is local and requires high privileges (API access), but the scope change means impact extends beyond the BuildKit process itself (GitHub Advisory, Red Hat Bugzilla).

Impact

A successful exploit allows an authenticated malicious client to write arbitrary extended attributes to files anywhere on the host filesystem, bypassing the intended containment of the BuildKit state directory. By setting xattrs in the trusted. or security. namespaces (e.g., Linux capabilities or SELinux labels), an attacker could elevate the privileges of a host program beyond what it would normally have, potentially achieving full host compromise. There is no confidentiality impact, but integrity and availability of the host system are both rated High in the CVSS v3.1 assessment (GitHub Advisory, Red Hat Bugzilla).

Exploitability

There is no public proof-of-concept exploit and no evidence of in-the-wild exploitation at this time. The EPSS score is approximately 0.139%, indicating a low probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation is constrained by the requirement that the attacker already have access to the BuildKit control APIs, limiting the attack surface to multi-tenant or shared build service environments (GitHub Advisory, Feedly).

Exploitation steps

  1. Identify target: Locate a BuildKit build service (version <= v0.34.0) that accepts build requests from untrusted or semi-trusted users, such as a shared CI/CD platform.
  2. Obtain API access: Acquire credentials or a token granting access to the BuildKit control APIs (e.g., via the BuildKit gRPC socket or an exposed API endpoint).
  3. Craft malicious build request: Construct a build definition (e.g., a Dockerfile or LLB definition) that includes an instruction to set an extended attribute on a file path that traverses outside the BuildKit state directory using path traversal or symlink techniques.
  4. Target privileged xattr namespace: Specify the xattr key in the trusted. or security. namespace (e.g., security.capability) to assign Linux capabilities or other privilege-elevating attributes to a target binary on the host.
  5. Submit build request: Send the crafted build request to the BuildKit daemon via the control API.
  6. Trigger privilege escalation: Execute the target binary on the host, which now carries the elevated xattr, achieving higher privileges than originally granted (GitHub Advisory).

Indicators of compromise

  • Logs: BuildKit daemon logs showing build requests that reference file paths containing ../ sequences or absolute paths outside the expected state directory (e.g., /var/lib/buildkit).
  • File System: Unexpected extended attributes on host system binaries or files, detectable via getfattr -d <file> — particularly attributes in the trusted.* or security.* namespaces on files not normally associated with BuildKit.
  • Process: Unusual processes spawned with elevated capabilities or SELinux contexts that were not previously configured.
  • Network: Unexpected or unauthorized connections to the BuildKit gRPC control socket from unfamiliar clients or IP addresses.

Mitigation and workarounds

The fix is available in BuildKit v0.34.1; all users should upgrade immediately. As a workaround, restrict access to the BuildKit control APIs exclusively to trusted users and processes — the vulnerability only affects deployments where untrusted users can submit build requests. Additionally, implementing network segmentation to limit which systems can reach the BuildKit service reduces exposure. Red Hat has tracked this issue for affected downstream packages (GitHub Advisory, Red Hat Bugzilla).

Community reactions

The advisory was published by BuildKit maintainer tonistiigi on GitHub with a "Moderate" severity rating. Red Hat's Product Security team tracked the issue as high priority/severity in their Bugzilla system, with over 120 engineers CC'd, indicating broad downstream concern across Red Hat products. No significant public social media discussion or independent researcher commentary has been identified at this time (GitHub Advisory, Red Hat Bugzilla).

Additional resources

Linux Distribution fix status

Fix availability across major Linux distributions and their releases.

Ubuntu

Unknown

bionic (esm-apps)

docker.io

Unknown

devel

docker.io

Unknown

focal (esm-apps)

docker.io

Unknown

jammy

docker.io

Unknown

jammy (esm-apps)

docker.io

Unknown

noble

docker.io

Unknown

noble (esm-apps)

docker.io

Unknown

resolute

docker.io

Unknown

RHEL / CentOS

Affected

OpenShift

el9:odf4/mcg-core-rhel9

Affected

RHEL 8

container-tools:rhel8/buildah.src

Affected

RHEL 9

buildah.src

Affected

RHEL 10

buildah.src

Affected

Source: This report was generated using AI

Related Docker vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-121522MEDIUM6.7
  • Docker logoDocker
  • buildah.src
NoNoNov 03, 2026
CVE-2026-97045MEDIUM6.1
  • Docker logoDocker
  • opentelemetry-collector-k8s
NoYesOct 27, 2026
CVE-2026-121541MEDIUM5.6
  • Docker logoDocker
  • docker.io
NoNoNov 03, 2026
CVE-2026-121520MEDIUM4.5
  • Docker logoDocker
  • container-tools:rhel8::podman-catatonit
NoNoNov 03, 2026
CVE-2026-121542LOW1.8
  • Docker logoDocker
  • docker-buildx
NoNoNov 03, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Additional Wiz resources

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management