Salta al contenuto principale

Una vulnerabilità presente da 18 anni nel kernel Linux può consentire l'accesso come root

Inviato da tuxsa il
kernel

Una vulnerabilità rimasta nel kernel Linux per circa diciotto anni ha riportato l'attenzione su un aspetto fondamentale della sicurezza dei sistemi GNU/Linux: anche componenti maturi e utilizzati da moltissimo tempo possono nascondere errori difficili da individuare. Il problema interessa il sottosistema SCTP (Stream Control Transmission Protocol) e, se sfruttato in determinate condizioni, può consentire a un utente locale di aumentare i propri privilegi fino a ottenere l'accesso come root.

La vulnerabilità, soprannominata SCTPhantom, è legata a un errore di tipo use-after-free, una classe di problemi che si verifica quando il software continua a utilizzare un'area di memoria dopo che questa è stata liberata. Situazioni di questo tipo possono provocare malfunzionamenti ma, nei casi più gravi, possono essere sfruttate per alterare il comportamento del programma o del sistema operativo.

I ricercatori di sicurezza di Tencent hanno dimostrato che il problema può essere trasformato in un vero attacco di privilege escalation, consentendo a un utente con accesso locale limitato di ottenere privilegi molto più elevati.

Particolarmente interessante è il possibile impatto sugli ambienti basati sui container. Secondo i ricercatori, in determinate configurazioni la vulnerabilità può essere utilizzata anche per superare i confini del container e raggiungere il sistema host. È uno scenario particolarmente delicato per server e infrastrutture cloud, dove numerosi servizi possono essere eseguiti contemporaneamente attraverso tecnologie di containerizzazione.

SCTP è un protocollo di trasporto sviluppato come alternativa a TCP e UDP per applicazioni che richiedono caratteristiche specifiche di affidabilità e gestione delle connessioni. Non viene utilizzato quotidianamente dalla maggior parte degli utenti desktop, ma è presente da molti anni nel kernel Linux e viene impiegato soprattutto in alcuni ambienti di telecomunicazione e infrastrutture di rete.

Il caso è interessante anche per la longevità del bug. La porzione di codice vulnerabile risalirebbe infatti a circa diciotto anni fa. Questo non significa che i sistemi Linux siano rimasti esposti nello stesso modo per tutto questo periodo: kernel, configurazioni, meccanismi di protezione e condizioni necessarie per sfruttare una vulnerabilità cambiano continuamente. Dimostra però quanto sia difficile individuare ogni possibile errore all'interno di un progetto grande e complesso come il kernel Linux.

Le distribuzioni stanno già distribuendo gli aggiornamenti necessari. Debian 13 “Trixie”, ad esempio, ha pubblicato un aggiornamento del proprio kernel Linux 6.12 LTS che corregge numerose vulnerabilità di sicurezza, compresa SCTPhantom.

Per gli utenti la raccomandazione è quindi molto semplice: mantenere aggiornato il sistema e, dopo l'installazione di un nuovo kernel, riavviare la macchina affinché venga effettivamente utilizzata la versione corretta.

La scoperta non deve essere interpretata come una debolezza specifica del modello open source. Al contrario, mostra l'importanza del processo continuo di analisi, revisione e correzione del codice. Un progetto utilizzato da milioni di dispositivi e sviluppato nell'arco di decenni non diventa mai definitivamente “sicuro”: la sicurezza è un processo nel quale nuove tecniche di analisi permettono continuamente di scoprire problemi che in passato erano sfuggiti.

Ed è proprio qui che emerge uno dei vantaggi fondamentali del Software Libero: quando una vulnerabilità viene individuata, il codice può essere analizzato pubblicamente, la correzione può essere verificata e le distribuzioni possono integrarla rapidamente nei propri aggiornamenti.