Kernel Linux: scovato grave bug battezzato "Sequoia", ecco i dettagli
La vulnerabilità scovata in queste ore nel kernel Linux può consentire a qualsiasi malintenzionato di ottenere i privilegi di root. Sono impattate tutte le principali distribuzioni GNU/Linux: Ubuntu, Debian, Fedora, etc. La falla è stata chiamata Sequoia e riguarda il filesystem layer del kernel, gli è stato assegnato il CVE-2021-33909.
Linux: Sequoia non ci piace
L’analisi condotta dalla società di security Qualys dimostra che il problema interessa tutte le versioni del kernel Linux rilasciate dal 2014 ad oggi (quindi dalla 3.16 alla 5.13.x). In particolare, la falla è dovuta ad un errore di conversione da size_t a int, che può essere sfruttato per elevare i propri privilegi sulla macchina.
Cerchiamo di capire dove sta il problema. Nel caso di Linux, l’interfaccia del file system è implementata in un’architettura a tre livelli. C’è il livello dell’interfaccia utente, l’implementazione del file system e i driver per lo storage dei dati. All’interno dell’interfaccia seq_file vengono prodotti file virtuali contenenti sequenze di record. Ogni record deve rientrare in un buffer seq_file. Quando lo spazio finisce, ogni record viene semplicemente ingrandito raddoppiandone le dimensioni. Il problema si presenta perché questa variabile size_t viene passata anche a funzioni il cui argomento size è un intero con segno a 32 bit, e non un tipo size_t. Questo errore può essere sfruttato attraverso una serie di manovre (memory overrun) per corrompere dati, far crashare il sistema ed eseguire codice malevolo.
Exploit
Qualys è riuscita a sfruttare il bug ottenendo i privilegi su Ubuntu 20.04, Ubuntu 20.10, Ubuntu 21.04, Debian 11 e Fedora 34 Workstation. Sicuramente anche le altre distro GNU/Linux sono vulnerabili. L’exploit, che richiede circa 5GB di memoria, non è stato pubblicato per ragioni di sicurezza ma è disponibile un proof-of-concept. Qualys afferma che per risolvere completamente questa vulnerabilità il kernel deve essere patchato. Greg Kroah-Hartman, manutentore del kernel Linux, ha già rilasciato una patch per Sequoia valevole per il branch 5.13.
Se la vostra versione del kernel non è ancora stata aggiornata potete mitigare il problema settando /proc/sys/kernel/unprivileged_userns_clone a 0 e /proc/sys/kernel/unprivileged_bpf_disabled a 1.
Seguiteci sul nostro canale Telegram, sulla nostra pagina Facebook e su Google News. Nel campo qui sotto è possibile commentare e creare spunti di discussione inerenti le tematiche trattate sul blog.