Nel sottosistema Linux nvmet-tcp (NVMe-oF/TCP), che consente l'accesso ai dispositivi NVMe attraverso la rete (NVM Express over Fabrics) utilizzando il protocollo TCP, è stata rilevata una vulnerabilità (CVE-2023-5178) che potrebbe consentire l'esecuzione remota di codice a livello kernel o, in presenza di accesso locale, l'aumento dei privilegi nel sistema. Una correzione è attualmente disponibile sotto forma di patch. Il problema si manifesta fin dalla prima versione del driver NVMe-oF/TCP (nel rapporto sulla vulnerabilità viene citato il kernel Linux 5.15, ma il supporto per NVMe-oF/TCP è stato introdotto nel kernel 5.0). I sistemi vulnerabili sono quelli con NVMe-oF/TCP abilitato. server NVMe-oF/TCP (NVME_TARGET_TCP), che per impostazione predefinita accetta connessioni sulla porta di rete 4420.
La vulnerabilità è causata da un errore logico che fa sì che la funzione nvmet_tcp_free_crypto venga chiamata due volte, liberando alcuni puntatori due volte e dereferenziando indirizzi già liberati. Un comportamento simile porta a un accesso a un'area di memoria già liberata (use-after-free) e a un doppio rilascio della memoria (double-free) durante l'elaborazione di un messaggio formattato in modo specifico dal client dal server NVMe-oF/TCP, che può trovarsi sia nella rete locale che in quella globale.
Fonte: opennet.ru
