Scoperta una vulnerabilità nell'implementazione TIPC del kernel Linux

Recentemente la notizia lo ha reso noto un ricercatore di sicurezza ha identificato una vulnerabilità critica (già elencato sotto CVE-2021-43267) nell'implementazione del protocollo di rete TIPC fornito nel kernel Linux, che consente l'esecuzione remota di codice con privilegi kernel inviando un pacchetto di rete appositamente predisposto.

Il pericolo del problema è mitigato dal fatto che l'attacco richiede l'abilitazione esplicita del supporto TIPC sul sistema (caricando e configurando il modulo del kernel tipc.ko), cosa che non viene eseguita di default su distribuzioni non-Linux specializzate.

CodeQL è un motore di analisi che ti consente di eseguire query sul tuo codice. Dal punto di vista della sicurezza, questo può consentire di trovare le vulnerabilità semplicemente descrivendone l'aspetto. CodeQL andrà quindi in diretta e troverà tutte le istanze di tale vulnerabilità.

TIPC è supportato dal kernel Linux 3.19, ma il codice che porta alla vulnerabilità è stato incluso nel kernel 5.10.. Il protocollo TIPC è stato originariamente sviluppato da Ericsson, ha lo scopo di organizzare la comunicazione tra processi in un cluster ed è principalmente attivato sui nodi del cluster.

SUGGERIMENTO può funzionare sia su Ethernet che su UDP (porta di rete 6118). Nel caso di lavoro tramite Ethernet, l'attacco può essere effettuato dalla rete locale e, quando si utilizza UDP, dalla rete globale, se la porta non è coperta da un firewall. L'attacco può essere effettuato anche da un utente locale senza privilegi sull'host. Per abilitare TIPC, è necessario caricare il modulo del kernel tipc.ko e configurare il collegamento all'interfaccia di rete utilizzando netlink o l'utility tipc.

Il protocollo è implementato in un modulo del kernel in bundle con tutte le principali distribuzioni Linux. Quando viene caricato da un utente, può essere utilizzato come connettore e può essere configurato in un'interfaccia utilizzando netlink (o utilizzando il tool dello spazio utente tipc, che effettuerà queste chiamate netlink) come utente non privilegiato.

TIPC può essere configurato per operare su un protocollo portante come Ethernet o UDP (in quest'ultimo caso, il kernel ascolta sulla porta 6118 i messaggi in arrivo da qualsiasi macchina). Poiché un utente con privilegi limitati non può creare frame Ethernet non elaborati, l'impostazione del portatore su UDP semplifica la scrittura di un exploit locale.

La vulnerabilità si manifesta nella funzione tipc_crypto_key_rc ed è causata da una mancanza di verifica adeguata della corrispondenza tra quanto specificato nell'intestazione e la dimensione effettiva dei dati quando si analizzano pacchetti di tipo MSG_CRYPTO utilizzati per ottenere chiavi di crittografia da altri nodi del cluster per poi decrittare i messaggi inviati da questi nodi.

La dimensione dei dati copiati in memoria è calcolata come differenza tra i valori dei campi con la dimensione del messaggio e la dimensione dell'intestazione, ma senza tener conto della dimensione effettiva del nome dell'algoritmo di crittografia trasmesso nel messaggio e nel contenuto della chiave.

Si presume che la dimensione del nome dell'algoritmo sia fissa e inoltre viene passato un attributo separato con la dimensione per la chiave e l'attaccante può specificare un valore in questo attributo che differisce dal valore effettivo, il che porterà alla scrittura su la coda del messaggio al di fuori del buffer allocato.

La vulnerabilità è stata risolta nei kernel 5.15.0, 5.10.77 e 5.14.16, sebbene il problema appaia e non sia stato ancora risolto in Debian 11, Ubuntu 21.04 / 21.10, SUSE (nel ramo SLE15-SP4 non ancora rilasciato), RHEL (non ancora dettagliato se la soluzione vulnerabile è stata aggiornata) e Fedora.

Sebbene è già stato rilasciato un aggiornamento del kernel per Arch Linux e le distribuzioni con kernel precedenti alla 5.10, come Debian 10 e Ubuntu 20.04, non sono interessate.

Infine se sei interessato a saperne di più, puoi controllare i dettagli nel seguente link


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.