NetUSB ci ricasca: un nuovo bug rischia di interessare milioni di router

Non è la prima volta, anche se si spera sarà l’ultima. Nuove problematiche di sicurezza affliggono NetUSB, un driver integrato nel kernel Linux, sviluppato dalla KCodes, fornitore leader con tecnologia USB over IP, che vanta oltre il 20% dei dispositivi di rete in tutto il mondo.

Bug 20220112 cell
Nuovo bug nel driver Linux NetUSB – Adobe Stock

NetUSB è pensato per fornire accessibilità ai dispositivi USB mediante una connessione alla rete di casa o tramite Wi-Fi. Ora che una patch è stata distribuita ai fornitori, i ricercatori di Sentinel One hanno rilasciato i dettagli di un preoccupante bug.

Nel modulo del kernel KCodes NetUSB è stato scoperto un difetto di esecuzione di codice remoto di elevata gravità, identificato come CVE-2021-45388, utilizzato da milioni di dispositivi router di vari fornitori. Sfruttare con successo questo difetto consentirebbe a un au un cyber-criminale di eseguire codice nel kernel e, sebbene si applichino alcune restrizioni, il suo impatto rischia di interessare gravemente milioni di router.

Alcune limitazioni possono rendere difficile lo sfruttamento della vulnerabilità

Driver 20220112 cell
Il bug di NetUSB può infettare milioni di router – Adobe Stock

La scoperta della vulnerabilità proviene dai ricercatori di SentinelLabs che hanno condiviso il loro rapporto tecnico con Bleeping Computer prima della pubblicazione. Alcuni produttori di router includono porte USB sui dispositivi, consentendo agli utenti di condividere stampanti e unità USB sulla rete. NetUSB è una soluzione di connettività del modulo kernel sviluppata da KCodes, che consente ai dispositivi remoti in una rete di interagire con i dispositivi USB collegati direttamente a un router.

LEGGI ANCHE >>> Su App Store di iOS corre veloce una app truffa da milioni di dollari

SentinelOne ha scoperto un segmento di codice vulnerabile nel modulo del kernel che non convalida il valore della dimensione di una chiamata di allocazione della memoria del kernel, con conseguente overflow di numeri interi. La funzione “SoftwareBus_fillBuf” può quindi utilizzare questa nuova regione per una scrittura dannosa fuori limite, con dati da un socket di rete sotto il controllo dell’attaccante.

LEGGI ANCHE >>> Numeri di telefono sul Registro delle Opposizioni, (finalmente) ci siamo: tutti i dettagli

Alcune limitazioni possono rendere difficile lo sfruttamento della vulnerabilità: l’oggetto allocato sarà sempre nella lastra kmalloc-32 dell’heap del kernel quindi la struttura deve avere una dimensione inferiore a 32 byte per adattarsi, la dimensione fornita viene utilizzata solo come dimensione massima di ricezione e non come importo rigoroso, la struttura deve essere utilizzata da remoto o avere qualcosa di sovrascrivibile che la renda utile come destinazione.

La vulnerabilità di NetUSB ha un timeout di sedici secondi per ricevere una richiesta, consentendo una maggiore flessibilità durante lo sfruttamento di un dispositivo.

Sebbene queste restrizioni rendano difficile scrivere un exploit per questa vulnerabilità – spiegano quelli di SentinelOne – riteniamo che non sia impossibile, e quindi coloro che dispongono di router Wi-Fi potrebbero dover cercare aggiornamenti del firmware per il proprio router“.