Il bug "Sequoia" mette a repentaglio la sicurezza nel kernel Linux
di Raffaello Rusconi pubblicata il 10 Agosto 2021, alle 14:31 nel canale Security
I ricercatori di Qualys hanno trovato una nuova pericolosa vulnerabilità che riguarda tutte le versioni del kernel Linux (in particolare le distribuzioni Ubuntu, Debian e Fedora) pubblicate dal 2014 fino a oggi
Qualys è un'azienda leader nelle soluzioni IT di sicurezza e compliance basate sul cloud. I suoi ricercatori sono sempre alla ricerca di vulnerabilità e, recentemente, hanno scoperto che in tutte le versioni del kernel Linux pubblicate dal 2014 fino a oggi (dalla 3.16 alla 5.13.x) è presente una pericolosa falla che può essere sfruttata da qualsiasi malintenzionato per ottenere i privilegi di root. Questa vulnerabilità riguarda tutte le principali distribuzioni GNU/Linux (Ubuntu, Debian, Fedora e altro) ed è potenzialmente molto diffusa. È stata ribattezzata "Sequoia" e il suo nome in codice è CVE-2021-33909.
Come viene sfruttato il bug dagli hacker
La vulnerabilità viene creata da un errore di conversione da size_t a int che può essere sfruttato da un hacker per prendere il controllo del sistema. Il problema nasce dalla struttura stessa dell'interfaccia del file system di Linux che presenta un’architettura a strati. Il file system, lo ricordiamo, è quella parte del sistema operativo che si occupa principalmente di memorizzare le informazioni su un determinato supporto di memoria definendone la struttura in base a cui vengono immagazzinati e gestiti i file. Nel kernel Linux, il livello dell'interfaccia utente è separato dal file system e dai driver che si occupano della memorizzazione dei dati. Il bug "Sequoia" è stato scovato proprio nel layer del file system implementato nel kernel Linux: grazie a una serie di "memory overrun" può essere sfruttato abilmente per far crashare il sistema. I ricercatori di Qualys, infatti, sono riusciti a sfruttare la vulnerabilità per ottenere i privilegi su diverse distribuzioni Ubuntu (dalla 20.04 fino alla 21.04) oltre a Debian 11 e Fedora 34 Workstation. Per creare questo memory overrun sono necessari 5GB di memoria: l'exploit per ragioni di sicurezza non è stato pubblicato, mentre sono già disponibili una serie di patch per risolvere la vulnerabilità CVE-2021-33909.
8 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info[U]By creating, mounting, and deleting a large directory structure that has a path length of more than 1 GB, the Sequoia Linux bug appears in the filesystem component. Then it grants any low-privileged local account to execute code with root privs.[/U]
E comunque finché non si hanno i dettagli dell'exploit é difficile capire quale sia il bug.
Spero solo che non devo beccarmi la campagna di patching quando sono di reperibilità
E comunque questi sono bug facilmente risolvibili in fase di sviluppo, se chi compila controllasse i warning del compilatore, molto spesso ignorati, se non addirittura disattivati.
Questa è la patch
[PHP] if (unlikely(size > MAX_RW_COUNT))
return NULL;
[/PHP]
Nella funzione
[PHP]static void *seq_buf_alloc(unsigned long size)
{
if (unlikely(size > MAX_RW_COUNT))
return NULL;
return kvmalloc(size, GFP_KERNEL_ACCOUNT);
}[/PHP]
mi piacerebbe tanto sapere come un compilatore possa dare un warning in questa funzione con una variabile di tipo unsigned long?
Non ho guardato la patch, mi sono fidato dell'articolo che parlava di conversione da size_t a int, che appunto genera un warning.
Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".