Il bug "Sequoia" mette a repentaglio la sicurezza nel kernel Linux

Il bug "Sequoia" mette a repentaglio la sicurezza nel kernel Linux

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

di pubblicata il , alle 14:31 nel canale Security
Linux
 

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
omerook10 Agosto 2021, 14:45 #1
Si ma di quale file system stiamo parlando? Mica ce ne uno nel mondo linux
acerbo10 Agosto 2021, 14:47 #2
"Per creare questo memory overrun sono necessari 5GB di memoria: l'exploit per ragioni di sicurezza non è stato pubblicato"

[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à
Unrue10 Agosto 2021, 15:03 #3
Se ho capito bene, fai una serie di overflow continui fino a saturare la memoria e poi crasha il sistema. Quindi l'unica cosa che puoi fare è farlo crashare (che non è comunque poco), non prenderne totalmente il controllo e farci quello che vuoi. Giusto?

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.
yeppala10 Agosto 2021, 15:12 #4
...leading to an integer overflow, an Out-of-bounds Write, and escalation to root by an unprivileged user
wobbly10 Agosto 2021, 15:17 #5
News un po' vecchiotta visto che il problema (CVE-2021-33909) è stato scoperto il 20 luglio.
lumeruz10 Agosto 2021, 16:27 #6
Originariamente inviato da: Unrue
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?
lumeruz10 Agosto 2021, 16:28 #7
Originariamente inviato da: wobbly
News un po' vecchiotta visto che il problema (CVE-2021-33909) è stato scoperto il 20 luglio.
Già aggiornato il 18 luglio.
Unrue11 Agosto 2021, 08:14 #8
Originariamente inviato da: lumeruz
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".

La discussione è consultabile anche qui, sul forum.
 
^