Diverse vulnerabilità rilevate nel kernel Linux

Di recente è stata diffusa la notizia che sono state rilevate diverse vulnerabilità classificate come pericolose nel kernel linux e che consentono a un utente locale di elevare i propri privilegi sul sistema.

La prima delle vulnerabilità è CVE-2022-0995 ed è presente nel sottosistema di tracciamento eventi "watch_queue" e questo fa sì che i dati vengano scritti in un'area della memoria del kernel al di fuori del buffer allocato. L'attacco può essere eseguito da qualsiasi utente senza privilegi e far eseguire il proprio codice con i privilegi del kernel.

La vulnerabilità è presente nella funzione watch_queue_set_size() ed è associata a un tentativo di cancellare tutti i puntatori dall'elenco, anche se non è stata allocata memoria. Il problema si manifesta quando si compila il kernel con l'opzione "CONFIG_WATCH_QUEUE=y", utilizzata dalla maggior parte delle distribuzioni Linux.

Si dice che la vulnerabilità è stato risolto in una modifica aggiunta a kernel l'11 marzo.

La seconda vulnerabilità che è stata rivelata è il CVE-2022-27666 cos'è presente nei moduli del kernel esp4 ed esp6 che implementano le trasformazioni di Encapsulating Security Payload (ESP) per IPsec utilizzato quando si utilizzano sia IPv4 che IPv6.

Vulnerabilità consente a un utente locale con privilegi normali di sovrascrivere gli oggetti nella memoria del kernel ed elevarne i privilegi nel sistema. Il problema è dovuto a una mancata corrispondenza tra la dimensione della memoria allocata ei dati effettivamente ricevuti, poiché la dimensione massima del messaggio potrebbe superare la dimensione massima della memoria allocata per la struttura skb_page_frag_refill.

Si è detto che la vulnerabilità è stata corretta nel kernel il 7 marzo (fissato in 5.17, 5.16.15, ecc.), plus è stato pubblicato un prototipo funzionante da un exploit che consente a un utente normale di ottenere l'accesso come root su Ubuntu Desktop 21.10 nelle impostazioni predefinite su GitHub.

Si afferma che con piccole modifiche, l'exploit funzionerà anche su Fedora e Debian. Va notato che l'exploit era stato originariamente preparato per la competizione pwn2own 2022, ma il bug associato è stato identificato e corretto dagli sviluppatori del kernel, quindi si è deciso di divulgare i dettagli della vulnerabilità.

Altre vulnerabilità che sono state divulgate sono il CVE-2022-1015 y CVE-2022-1016 nel sottosistema netfilter nel modulo nf_tables che alimenta il filtro dei pacchetti di nftables. Il ricercatore che ha identificato i problemi ha annunciato la preparazione di exploit funzionanti per entrambe le vulnerabilità, che dovrebbero essere rilasciati pochi giorni dopo il rilascio delle distribuzioni degli aggiornamenti del pacchetto del kernel.

il primo problema consente a un utente locale senza privilegi di ottenere una scrittura fuori limite nello stack. Si verifica un overflow nell'elaborazione di espressioni nftables ben formate che vengono elaborate durante la fase di convalida degli indici forniti da un utente che ha accesso alle regole di nftables.

La vulnerabilità è dovuta al fatto che gli sviluppatori lo implicassero il valore di "enum nft_registers reg" è un byte, mentre quando alcune ottimizzazioni sono abilitate, il compilatore, secondo la specifica C89, puoi usare un valore a 32 bit per questo. A causa di questa stranezza, la dimensione utilizzata per controllare e allocare la memoria non corrisponde alla dimensione effettiva dei dati nella struttura, portando alla coda della struttura sui puntatori dello stack.

Il problema può essere sfruttato per eseguire codice a livello di kernel, ma un attacco riuscito richiede l'accesso a nftables.

Possono essere ottenuti in uno spazio dei nomi di rete separato (spazi dei nomi di rete) con diritti CLONE_NEWUSER o CLONE_NEWNET (ad esempio, se è possibile eseguire un contenitore isolato). La vulnerabilità è anche strettamente correlata alle ottimizzazioni utilizzate dal compilatore, che, ad esempio, vengono abilitate durante la compilazione in modalità "CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y". Lo sfruttamento della vulnerabilità è possibile a partire dal kernel Linux 5.12.

Si verifica la seconda vulnerabilità in netfilter quando si accede un'area di memoria già liberata (use-after-free) nel driver nft_do_chain e può causare una perdita di aree di memoria del kernel non inizializzate che possono essere lette manipolando con espressioni nftables e utilizzate, ad esempio, per determinare gli indirizzi dei puntatori durante lo sviluppo di exploit per altre vulnerabilità. Lo sfruttamento della vulnerabilità è possibile a partire dal kernel Linux 5.13.

Le vulnerabilità sono state corrette negli aggiornamenti correttivi del kernel rilasciati di recente.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.