← Tutti gli articoli

Tailscale SSH 1.104.4 corregge falle di forwarding a livello root

Tailscale SSH 1.104.4 corregge falle di forwarding a livello root

Tailscale SSH, un servizio Secure Shell per l'accesso remoto ai sistemi, ha ricevuto correzioni di sicurezza per falle che potrebbero consentire a un dispositivo compromesso ma considerato attendibile di raggiungere file e servizi riservati all'amministratore root. La versione 1.104.4 risolve i problemi modificando il modo in cui le connessioni di forwarding vengono gestite all'interno del server SSH integrato.

Lo sfruttamento richiede che un aggressore controlli un dispositivo al quale la policy di rete consente già di avviare una sessione SSH con il sistema bersaglio. La regola di accesso applicabile deve inoltre consentire il forwarding, che permette a una sessione di trasportare una connessione verso un altro servizio locale. Tailscale afferma che le falle non consentono a un aggressore non autenticato di accedere a server arbitrari e che l'aggressore resta limitato alle macchine consentite dal file di policy. Tuttavia, Tailscale SSH usa l'identità del dispositivo e la policy di rete anziché una password o una chiave SSH, quindi non sono necessarie credenziali aggiuntive dopo che un dispositivo attendibile è stato compromesso.

I risultati provengono da Tailworm, un rapporto di Cyberdione Labs basato su test di laboratorio condotti sulle versioni pubblicate del client Tailscale e su headscale, il control server self-hosted. Il server Tailscale SSH funziona su Linux e sulla build open-source per macOS, anche se il dispositivo che avvia la sessione malevola può utilizzare qualsiasi piattaforma.

Il problema principale riguardava il forwarding delle connessioni verso un Unix socket, un punto di connessione locale utilizzato dai programmi per comunicare sulla stessa macchina. Il processo in background di Tailscale controllava prima il percorso del socket richiesto e poi completava l'operazione con privilegi root. Modificando il percorso al momento giusto dopo il controllo, un aggressore poteva reindirizzare la connessione verso un socket diverso e aggirare la restrizione prevista.

Cyberdione Labs ha riferito che, durante i test, è riuscita a raggiungere il socket di controllo di Docker, ottenere una root shell e leggere /etc/shadow, il file di sistema che contiene informazioni protette sulle password, senza privilegi di amministratore. Il bollettino di Tailscale descrive l'accesso a socket riservati a root, inclusi il socket di Docker e l'application programming interface (API) locale di tailscaled, utilizzata dal software per controllare il servizio. Nella versione 1.104.4, il forwarding viene eseguito con l'identità dell'utente che ha effettuato l'accesso anziché come root, mentre le autorizzazioni sui file del sistema operativo determinano a quali socket può accedere tale utente.

La release risolve quattro bollettini di sicurezza. TS-2026-014 riguarda le debolezze nel forwarding dei socket tramite SSH che esponevano socket privilegiati. TS-2026-015 riguarda una sessione SSH autorizzata che consuma memoria sufficiente a mandare in crash il processo Tailscale, interrompendo tutta la connettività Tailscale su quel nodo. TS-2026-016 interessa tailscale serve, dove il forwarding verso un Unix socket poteva raggiungere l'API locale di tailscaled e consentire il controllo remoto del nodo; include inoltre un problema correlato di scambio dei percorsi. TS-2026-017 interessa le configurazioni serve con Transport Layer Security (TLS) che includono due o più mount, nelle quali una richiesta poteva ricevere header di autorizzazione appartenenti a un altro mount.

Gli amministratori che utilizzano Tailscale SSH devono installare la versione 1.104.4 o successiva. Quando non è possibile eseguire immediatamente l'aggiornamento, Tailscale consiglia di impostare TS_SSH_DISABLE_FORWARDING=1 nell'ambiente del servizio tailscaled e di riavviare il servizio. Questa misura disabilita il forwarding senza disattivare Tailscale SSH e blocca diversi dei problemi più gravi. Gli amministratori dovrebbero inoltre limitare le regole di accesso SSH agli utenti e ai dispositivi che necessitano realmente dell'accesso.

Tailscale suggerisce inoltre SSH check mode per i sistemi sensibili. Ciò richiede che l'utente effettui nuovamente l'accesso prima dell'inizio della sessione, ma non impedisce le falle di forwarding perché il forwarding avviene dopo l'avvio di una sessione approvata. Se la compromissione potrebbe essere già avvenuta, il rapporto Tailworm avverte che aggiornare o eseguire il reimaging della macchina non è sufficiente da solo. Una device key rubata resta utilizzabile finché il dispositivo non viene eliminato attraverso il control plane, il sistema usato per gestire i dispositivi partecipanti. Gli avvisi di Tailscale non affrontano questo scenario.

La situazione di headscale resta irrisolta nelle versioni sottoposte a test. Secondo Cyberdione Labs, ogni sessione SSH accettata da headscale riceve diritti di forwarding e la policy non può disabilitarli. Il rapporto afferma pertanto che ogni autorizzazione SSH di headscale dovrebbe essere considerata come equivalente alla concessione di accesso root. Headscale 0.29.5, pubblicato il 13 ottobre, non corregge i problemi segnalati.

Cyberdione Labs ha descritto la catena come wormable dopo test nei quali un dispositivo compromesso ha raggiunto ogni dispositivo consentito dalla policy senza password, SSH keys rubate o interazione dell'utente, impiegando meno di un secondo per ogni passaggio. Nei test, associare le regole di accesso a singole connessioni tra dispositivi ha bloccato questo movimento. Anche il binding delle identità dei dispositivi a hardware come un Trusted Platform Module (TPM), un componente di sicurezza interno al dispositivo, ha impedito che un'identità rubata venisse riutilizzata altrove.

Tailscale contesta la descrizione come worm perché i risultati non riguardano malware autoreplicante che si diffonde in modo autonomo. L'azienda definisce il comportamento come lateral movement limitato dalla policy di rete esistente, pur riconoscendo gravi problemi di privilege escalation e dichiarando di aver riprodotto i risultati principali. L'azienda stava ancora determinando esattamente quali configurazioni fossero interessate.

Al momento della pubblicazione, i quattro bollettini non disponevano di identificatori CVE, punteggi di gravità o indicazioni sulle prime versioni interessate. Il più ampio rapporto Tailworm ha esaminato anche gli app connectors e le funzionalità serve e funnel. Tailscale afferma che il problema relativo agli app connectors si applica a conn25, una funzionalità sperimentale che non è stata pubblicata, e non ai connector attualmente utilizzati dai clienti. Dei cinque problemi relativi a serve e funnel, l'azienda ne ha corretti tre e ha dichiarato che i restanti due funzionano come previsto.

La divulgazione non è stata coordinata in anticipo. Tailscale afferma di aver ricevuto il rapporto sabato 24 ottobre, circa due ore prima della pubblicazione, anche se i suoi tecnici stavano già esaminando le stesse aree del codice. Né Tailscale né Cyberdione Labs hanno segnalato sfruttamenti in attacchi reali. Il codice proof-of-concept non è pubblico e, secondo il rapporto, è stato fornito esclusivamente al team di sicurezza di Tailscale. Una distinta falla di forwarding di Unix socket, che consentiva a un utente senza privilegi di raggiungere un socket privilegiato, è stata corretta a giugno nella versione 1.98.9.

Per le organizzazioni che stanno riesaminando l'accesso ai server e l'infrastruttura, AEU-I offre servizi IT, infrastrutturali e di consulenza orientati prima di tutto alla sicurezza. Le priorità immediate restano l'installazione della versione 1.104.4 o successiva, la limitazione delle relazioni tra dispositivi attendibili e la rimozione dal control plane di qualsiasi identità di dispositivo potenzialmente rubata.

Disponibile anche in: EnglishDeutschShqip