Im Linux-Subsystem nvmet-tcp (NVMe-oF/TCP), das den Zugriff auf NVMe-Speicher über das Netzwerk (NVM Express over Fabrics) unter Verwendung des TCP-Protokolls ermöglicht, wurde eine Schwachstelle (CVE-2023-5178) entdeckt, die potenziell die Remote-Ausführung von Code im Kernel oder bei lokalem Zugriff die Erhöhung der Privilegien im System ermöglicht. Ein Fix ist derzeit in Form eines Patches verfügbar. Das Problem tritt bereits in der ersten Version des NVMe-oF/TCP-Treibers auf (im Schwachstellenbericht wird Kernel Linux 5.15 erwähnt, jedoch wurde die Unterstützung von NVMe-oF/TCP bereits im Kernel 5.0 hinzugefügt). Verwundbar sind Systeme mit aktiviertem Server NVMe-oF/TCP (NVME_TARGET_TCP), das standardmäßig Verbindungen über den Netzwerkport 4420 akzeptiert.
Die Schwachstelle wird durch einen logischen Fehler verursacht, wodurch die Funktion nvmet_tcp_free_crypto zweimal aufgerufen wurde und zweimal einige Zeiger freigab und zudem freigegebene Adressen dereferenzierte. Solches Verhalten führt dazu, dass auf einen bereits freigegebenen Speicherbereich (use-after-free) zugegriffen wird, sowie zu einem doppelten Freigeben von Speicher (double-free) bei der Bearbeitung von speziell formatierten Nachrichten des Clients durch den NVMe-oF/TCP-Server, der sich sowohl im lokalen als auch im globalen Netzwerk befinden kann.
Quelle: opennet.ru
