Dans la sous-système Linux nvmet-tcp (NVMe-oF/TCP), permettant d'accéder aux disques NVMe sur le réseau (NVM Express over Fabrics) en utilisant le protocole TCP, une vulnérabilité a été identifiée (CVE-2023-5178) qui pourrait potentiellement permettre d'exécuter à distance du code au niveau du noyau ou, en cas d'accès local, d'élever ses privilèges dans le système. Un correctif est actuellement disponible sous forme de patch. Le problème se manifeste depuis la toute première version du pilote NVMe-oF/TCP (le rapport de vulnérabilité mentionne le noyau Linux 5.15, mais le support de NVMe-oF/TCP a été ajouté dans le noyau 5.0). Les systèmes concernés sont ceux avec la fonctionnalité activée serveur NVMe-oF/TCP (NVME_TARGET_TCP), qui par défaut accepte les connexions sur le port réseau 4420.
La vulnérabilité est causée par une erreur logique qui a conduit la fonction nvmet_tcp_free_crypto à être appelée deux fois, libérant ainsi certains pointeurs à deux reprises et déréférençant des adresses libérées. Ce comportement entraîne un accès à une zone de mémoire déjà libérée (use-after-free) et une double libération de mémoire (double-free) lors du traitement par le serveur NVMe-oF/TCP d'un message spécialement constitué venant d'un client, qui peut être à la fois sur un réseau local et global.
Source : opennet.ru
