CVE-2026-120307 Escape de contenedor en Beta9 por rutas de archivos de sandbox no validadas
La API de archivos de sandbox del worker de Beta9 convierte rutas del contenedor en rutas del worker sin validarlas: segmentos de directorio padre o enlaces simbólicos absolutos permiten alcanzar cualquier ruta del sistema de archivos del worker. Un tenant con token de workspace y una sandbox en ejecución puede leer, escribir, listar y borrar archivos del worker a través de las operaciones de upload, download, stat, list, find-in-files, replace-in-files y delete-file.
CVSS 3.1
- Probabilidad de explotación · EPSS del 09/110,5 % · percentil 41
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
beam-cloud Beta9 worker
hasta antes de 0.1.756
Qué hacer
- Verificá si usás Beta9 worker y en qué versión.
- Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
- Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
Calculadora CVSS
CVSS 3.1 · 9.9 CRÍTICA
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H
- Vector de ataqueRed
- Complejidad del ataqueBaja
- Privilegios requeridosBajos
- Interacción del usuarioNinguna
- AlcanceCambiado
- ConfidencialidadAlta
- IntegridadAlta
- DisponibilidadAlta
Descripción original
The Beta9 worker serves the sandbox file API from outside the container. getHostPathFromContainerPath turns the tenant's container path into a worker path. If the unresolved path starts with a mount destination, including the default upload mount at /tmp/.beta9, the remainder is joined onto that mount's source with filepath.Join, which cleans parent-directory segments after the prefix check. A long enough run of those segments names any absolute path on the worker. A path that matches no mount is joined onto the container root and opened in the worker's own filesystem, so an absolute symbolic link such as /var/run pointing at /run is followed against the worker root. Upload, download, stat, list, find-in-files, replace-in-files, and delete-file all call this helper. A tenant with a workspace token and one running sandbox can read, write, list, and delete files on the hosting worker as root, including files of other tenants on that machine. A read-only proof downloaded the worker pod's Kubernetes service account token through the file API for a path that did not exist inside the sandbox. In the shipped remote-node manifests that service account is bound to cluster-admin. Fixed in worker 0.1.756: sandbox file operations and workspace sync open paths with os.OpenRoot, so parent-directory and symlink lookups stay inside the container root or the mount source.
Referencias (4)
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.