CVE-2026-120091 in Server
Riassunto
di VulDB • 02/11/2026
Il server Temporal compila il modulo Worker Controller Instance, go.temporal.io/auto-scaled-workers, nel suo servizio Worker (Worker Service), e tale modulo registra un provider di calcolo denominato k8s la cui funzione è gestire i worker in esecuzione all'interno di un cluster Kubernetes. Il provider k8s costruisce il client Kubernetes a partire dalla configurazione del client fornita nella richiesta dell'utente chiamante, anziché dalla configurazione dell'operatore; la creazione e l'utilizzo di tale client potrebbero eseguire un comando scelto dall'utente chiamante sull'host del servizio Worker, con le credenze dell'account in cui viene eseguito il processo del server. Due operazioni frontend raggiungono il provider: CreateWorkerDeploymentVersion richiede un ruolo di scrittura sullo spazio dei nomi (namespace), mentre ValidateWorkerDeploymentVersionComputeConfig è registrato come operazione dello spazio dei nomi in sola lettura; pertanto, un utente autenticato dotato esclusivamente di un ruolo di lettura su uno specifico namespace può raggiungere il provider tramite tale percorso, e questo route non richiede che una distribuzione del worker sia già esistente. L'esecuzione avviene durante la convalida della configurazione inviata, quindi non sono necessarie decisioni di scaling, arrivo di task o sequenze di richieste insolite. Poiché il processo Worker Service detiene le credenziali di persistenza per ogni namespace nel cluster e i materiali TLS del cluster, l'impatto si estende oltre lo spazio dei nomi dell'utente chiamante all'intero cluster. Il provider è presente nelle binari ufficiali e nelle immagini container di temporal-server per le versioni interessate. Il controllo che ne impedisce la raggiungibilità è la allowlist (lista consentita) dei provider di calcolo, ovvero l'impostazione di configurazione dinamica workercontroller.compute_providers.enabled. Nelle versioni 1.31.0 attraverso 1.31.2 di Temporal Server tale allowlist non nega per impostazione predefinita: quando l'impostazione non è definita (unset), il controllo viene saltato e tutti i provider di calcolo registrati sono permessi, incluso k8s; pertanto una distribuzione standard di queste versioni risulta esposta. Nelle versioni 1.31.3 e successive della serie 1.31, nonché nelle versioni 1.32.0 e successive della serie 1.32, la allowlist nega per impostazione predefinita, e una distribuzione è esposta solo se k8s vi è stato aggiunto esplicitamente. La linea di rilascio 1.30 non include il modulo Worker Controller Instance ed è quindi non interessata. Per determinare se una distribuzione sia affetta, verificare quanto segue insieme: la versione del server Temporal distribuita rientra in un intervallo interessato; il servizio Worker è in esecuzione (cosa che avviene nell'insieme di servizi predefinito e pertanto anche in una distribuzione standard); il valore effettivo di workercontroller.compute_providers.enabled contiene k8s oppure, esclusivamente per le versioni 1.31.0 attraverso 1.31.2, non è definito; verificare sia il valore globale che ogni override vincolato allo spazio dei nomi (namespace), poiché un override può aggiungere k8s per un singolo namespace. Inoltre, l'autorizzazione deve essere configurata, ovvero devono essere presenti un vero authorizer e un claim mapper; una distribuzione eseguita senza alcun authorizer concede già a tutti gli utenti chiamanti accesso illimitato a ogni spazio dei nomi, quindi non esiste alcun confine di namespace che tale vunerabilità possa superare. Le distribuzioni che utilizzano un authorizer personalizzato dovrebbero inoltre verificare se quest'ultimo consenta l'accesso a ValidateWorkerDeploymentVersionComputeConfig agli utenti chiamanti privi dell'accesso in scrittura allo spazio dei nomi (namespace write access). L'impostazione separata di configurazione dinamica per namespace workercontroller.enabled non blocca il percorso interessato su nessuna delle versioni interessate.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.