Read the docs

Sandbox escape in Beta9 build worker via chroot-only isolation

Priority MEDIUM 43CWE-269Published · Updated

Key facts

Attack vector
Network
Privileges required
Low
User interaction
None
Attack complexity
Low
Impact type
Privilege escalation
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-269.

Summary

Beta9 worker versions from 0 before 0.1.756 run tenant build steps with Buildah in chroot-only isolation. The steps keep the worker pod's PID, network, IPC and user namespaces, run as root and hold CAP_DAC_OVERRIDE, so a build step can write to the worker container filesystem through /proc/1/root. An authenticated tenant with a workspace token can exploit this by submitting one image build, and the flaw is classified under CWE-269 and CWE-653.

Written with Claude Haiku 5.5 from the sources below · 2026-11-02

Description from the CNA

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00362 30th percentileScored 2026-11-07
Fix Fixed Beta9 worker (beam-cloud): 0.1.756

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

VendorProductAffected versionsFixed inStatusSource
beam-cloudBeta9 workerbefore 0.1.7560.1.756Patch availableCNA
  • Beta9 worker Vendorbeam-cloud Affected before 0.1.756 Fixed in 0.1.756 Patch available CNA

Remediation

Upgrade beam-cloud Beta9 worker to version 0.1.756, which runs Buildah RUN steps with OCI isolation and private PID, IPC and network namespaces.

Written with Claude Haiku 5.5 from the sources below · 2026-11-02

  • Fix · CNA Beta9 worker (beam-cloud) Fixed in 0.1.756

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    beam-cloud Beta9 worker 0.1.756

    3 records Highest priority Priority MEDIUM 3 MEDIUM

    Other records, highest priority first

    • TI-2026-83619 Path traversal in Beta9 lets tenants access worker host filesPriority MEDIUM 43
    • TI-2026-83618 Path traversal in Beta9 worker file API exposes host filesPriority MEDIUM 43

Timeline

  1. 2026-11-01 Threatist record created from CVE-2026-120306
  2. 2026-11-01 Alias added: GHSA-xvhg-75x6-gj86
  3. 2026-11-02 CISA SSVC decision points changed

References

  • TI-2026-83619 Path traversal in Beta9 lets tenants access worker host files CVSS 3.1CRITICAL 9.9
  • TI-2026-83618 Path traversal in Beta9 worker file API exposes host files CVSS 3.1CRITICAL 9.9

Sources