Katalog CVE

CVE-2026-120307

KrytyczneCVSS 9.9
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

Worker Beta9 udostępnia API plików sandboxa spoza kontenera. Funkcja getHostPathFromContainerPath przekształca ścieżkę kontenera dzierżawcy na ścieżkę workera; jeśli nierozwiązana ścieżka zaczyna się od celu montowania (w tym domyślnego /tmp/.beta9), reszta jest dołączana do źródła montowania za pomocą filepath.Join, co czyści segmenty katalogu nadrzędnego po sprawdzeniu prefiksu. Odpowiednio długi ciąg takich segmentów wskazuje dowolną ścieżkę absolutną na workerze, a ścieżka niepasująca do żadnego montowania jest otwierana w systemie plików workera, podążając za dowiązaniami symbolicznymi. Dzierżawca z tokenem workspace i działającym sandboxem może czytać, zapisywać, listować i usuwać pliki na workerze jako root, w tym pliki innych dzierżawców.

Ocena ryzyka

Dzierżawca może uzyskać pełny dostęp do systemu plików workera jako root, w tym do tokenu konta usługi Kubernetes, które w dostarczonych manifestach ma uprawnienia cluster-admin, co może prowadzić do przejęcia klastra. Podatność dotyczy workerów Beta9 przed wersją 0.1.756.

Rekomendacja

Zaktualizuj workera Beta9 do wersji 0.1.756 lub nowszej, która używa os.OpenRoot do operacji na plikach sandboxa i synchronizacji workspace, zapewniając pozostanie ścieżek w granicach kontenera lub źródła montowania.

Inne podatności w Beta9

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS