FICHE CVE

CVE-2026-120307

Publiée le 2026-11-01 · Dernière modification le 2026-11-02

🇫🇷 EN BREF

Les versions Beta9 worker antérieures à 0.1.756 sont concernées. Ce logiciel gère des environnements isolés (sandboxes) pour les clients, mais une faille dans la manière dont il traduit les chemins de fichiers des conteneurs vers les chemins du worker permet une traversée de répertoire. En utilisant une longue séquence de segments de répertoire parent ou des liens symboliques absolus, un utilisateur peut tromper le système pour accéder à des fichiers en dehors de la sandbox prévue.

Un client authentifié disposant d'une sandbox active peut lire, modifier ou supprimer n'importe quel fichier sur le nœud worker hôte avec des privilèges root. Cela compromet totalement la confidentialité, l'intégrité et la disponibilité de l'hôte ainsi que de tous les autres clients sur cette machine. Comme elle ne nécessite qu'un jeton d'espace de travail valide et un accès réseau basique, l'attaque est facile à exécuter et ne requiert aucune autre interaction de l'utilisateur.

DÉTAIL DU VECTEUR CVSS

Vecteur d'attaqueRéseau
Complexité d'attaqueFaible
Privilèges requisFaibles
Interaction utilisateurAucune
PortéeModifiée
Impact sur la confidentialitéÉlevé
Impact sur l'intégritéÉlevé
Impact sur la disponibilitéÉlevé

RÉFÉRENCES

Description officielle du NVD (en anglais)

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.