Chiuso un bug critico del kernel Linux

I laboratori di SentinelOne hanno pubblicato una nuova ricerca che ha rilevato e analizzato una vulnerabilità con nel modulo TiPC di Linux. La patch è già disponibile.

Autore: Redazione SecurityOpenLab

Una vulnerabilità critica di heap-overflow nel modulo TiPC (Transparent Inter Process Communication) del kernel Linux potrebbe consentire l'esecuzione di codice remoto, fino a portare a una compromissione completa del sistema. La scoperta è stata fatta dai ricercatori di SentinelOne e non sembrano esistere al momento prove di uno sfruttamento attivo della falla. Nel frattempo è stata pubblicata la patch che mette al sicuro le versioni del kernel tra la 5.10 e la 5.15.

TiPC è un protocollo peer-to-peer utilizzato dai nodi all'interno di un cluster Linux per comunicare tra loro in modo ottimizzato. Secondo i SentinelLabs, il bug in questione risiede in un tipo di messaggio specifico che consente ai nodi di scambiarsi chiavi crittografiche. Una volta ricevute, tali chiavi possono essere utilizzate per decifrare ulteriori comunicazioni dal nodo di partenza.

La falla è stata tracciata con la sigla CVE-2021-43267 e può essere sfruttata, all'interno della rete, sia localmente che da remoto, per ottenere i privilegi del kernel, permettendo ad un attaccante di compromettere appunto l'intero sistema.


Che cosa accade

Nel post ufficiale i ricercatori spiegano che "quando caricato da un utente, [TiPC] può essere utilizzato come socket e può essere configurato su un'interfaccia [...] come utente senza privilegi". Ogni messaggio TiPC ha un formato di intestazione comune. Tale intestazione contiene un'allocazione "header size" (equivalente alla dimensione effettiva dell'intestazione spostata a destra di due bit) e un'allocazione di "dimensione del messaggio" uguale alla lunghezza dell'intero messaggio TiPC. Queste due informazioni sono convalidate dalla funzione tipc_msg_validate.

Il problema è che a settembre 2020 è stato introdotto un nuovo tipo di messaggio che è privo delle convalide di dimensioni. È questo ad aprire la porta a un exploit di heap overflow. Il messaggio aggiuntivo in questione, "MSG_CRYPTO", consente ai peer di scambiarsi chiavi crittografiche l'un l'altro. I messaggi contengono il nome dell'algoritmo chiave e la chiave stessa. è per questo motivo che l'allocazione delle dimensioni è la dimensione del messaggio stesso, meno la dimensione dell'intestazione.


Tuttavia, spiegano i ricercatori, "non ci sono controlli [di convalida delle dimensioni] né per la [lunghezza della chiave] né per la dimensione del nome dell'algoritmo della chiave stessa (TIPC_AEAD_ALG_NAME) rispetto alla dimensione del messaggio. Ciò significa che un attaccante può creare un pacchetto con una dimensione ridotta per allocare la memoria heap e quindi utilizzare una dimensione arbitraria nell'attributo [key length (keylen)] per scrivere al di fuori dei limiti di questa posizione.

Inoltre, la funzione di convalida dei messaggi controlla solo che la dimensione dell'intestazione rientri nei limiti del pacchetto effettivo. Questo implica che un cyber criminale potrebbe creare un pacchetto da 20 byte e impostare la dimensione del messaggio su 10 byte superando il check.

I prodotti interessati

Il bug interessa le versioni del kernel Linux tra la 5.10 e la 5.15. È da notare che mentre il modulo TiPC viene fornito con tutte le principali distribuzioni Linux, non è attivo per impostazione predefinita. È necessario che venga abilitato affinché un eventuale exploit vada a segno. La soluzione è a portata di mano con l'aggiornamento, che è caldeggiato.


Visualizza la versione completa sul sito

Informativa
Questo sito o gli strumenti terzi da questo utilizzati si avvalgono di cookie necessari al funzionamento ed utili alle finalità illustrate nella cookie policy. Se vuoi saperne di più o negare il consenso a tutti o ad alcuni cookie, consulta la cookie policy. Chiudendo questo banner, acconsenti all’uso dei cookie.