← Back to search

CVE-2026-120306

9.9 CRITICALpublic exploit available

Published 2026-11-01 · Updated 2026-11-01

AI risk analysis

Summary
A tenant with a workspace token can exploit a Buildah RUN step in a worker pod to escape isolation by leveraging shared namespaces (PID, network, IPC), CAP_DAC_OVERRIDE, and uid 0 access, allowing full read-write access to the host filesystem and sensitive binaries like runc and buildah.
Exploitability
Exploitation requires only a tenant workspace token to submit a malicious image build; no additional privileges or complex conditions are needed beyond the default Clip v2 layered builds configuration.
Blast radius
Successful exploitation grants attackers full control over the worker pod, enabling container escape, host compromise, and potential lateral movement across the cluster via stolen service account tokens and privileged binaries.
Detection
Defenders should monitor for unexpected writes to /proc/1/root or access to sensitive host paths (e.g., /usr/bin/runc, /var/run/secrets/kubernetes.io/serviceaccount) from within a Buildah container; anomalies in container filesystem activity or unusual process namespace behavior may indicate exploitation.
Prioritized remediation
Upgrade to worker version 0.1.756 or later, which enforces OCI isolation with private namespaces for Buildah RUN steps and restricts tenant ARG values to the build container only.
container-escapeprivilege-escalationnamespace-breakoutbuild-system-abusekubernetes-compromise

Analysis generated locally by garnet-coder (no data left the box). AI-assisted — verify against primary sources before acting.

NVD description

Beta9 turns each shell command in a tenant image definition into a Dockerfile RUN line and executes it with Buildah on the build worker. The worker image sets BUILDAH_ISOLATION=chroot, and no buildah invocation passes --isolation, so the step only changes its filesystem root. It keeps the worker pod's PID, network, IPC, and user namespaces, runs as uid 0, and holds CAP_DAC_OVERRIDE. PID 1 in that procfs is the worker entrypoint, so /proc/1/root is the worker container's filesystem and is writable. That filesystem contains the runc, buildah, and runsc binaries the worker uses to start tenant containers, the worker's Kubernetes service account token, and the host directories mounted into the pod. Worker pods are privileged. Clip v2 layered builds are the default, so a tenant with a workspace token reaches this by submitting one image build. The read-only proof confirmed the shared namespaces, CAP_DAC_OVERRIDE, and that the worker's runc binary is visible at /proc/1/root. Fixed in worker 0.1.756: Buildah RUN steps, including the WORKDIR mkdir, use OCI isolation with private PID, IPC, and network namespaces, and tenant ARG values are passed only into the build container.

CVSS vector

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

Weaknesses

CWE-269, CWE-653

Public exploit & PoC references

All references

Source data: NVD (nvd.nist.gov), public domain. Exploit-DB.ai adds local AI analysis for defensive use only.

Related CVEs

Related by shared AI tags and CWE weakness class. Browse the full archive.