În subsistemul Linux nvmet-tcp (NVMe-oF/TCP), care permite accesul la unități NVMe prin rețea (NVM Express over Fabrics) utilizând protocolul TCP, a fost identificată o vulnerabilitate (CVE-2023-5178), care ar putea permite executarea de cod la distanță la nivel de nucleu sau, în cazul accesului local, escaladarea privilegiilor în sistem. O remedie este disponibilă momentan sub formă de patch. Problema se manifestă începând cu prima versiune a driver-ului NVMe-oF/TCP (raportul de vulnerabilitate menționează nucleul Linux 5.15, dar suportul pentru NVMe-oF/TCP a fost adăugat în nucleul 5.0). Sistemele cu activat serverul NVMe-oF/TCP (NVME_TARGET_TCP), care acceptă conexiuni pe portul de rețea 4420 în mod implicit.
Vulnerabilitatea este cauzată de o eroare logică, care face ca funcția nvmet_tcp_free_crypto să fie apelată de două ori, eliberând de două ori anumite pointere și dereferindu-le. Un astfel de comportament duce la accesarea unei zone de memorie deja eliberate (use-after-free) și la eliberări multiple de memorie (double-free) în timpul procesării de către serverul NVMe-oF/TCP a unui mesaj special format de la client, care poate fi situat atât în rețeaua locală, cât și în cea globală.
Sursa: opennet.ro
