Zdalnie eksploatowana luka w sterowniku NVMe-oF/TCP w jądrze Linux

W subsystemie nvmet-tcp (NVMe-oF/TCP) Linuxa, który pozwala na dostęp do dysków NVMe przez sieć (NVM Express over Fabrics) z użyciem protokołu TCP, wykryto lukę (CVE-2023-5178), która potencjalnie umożliwia zdalne wykonanie własnego kodu w trybie jądra lub, przy lokalnym dostępie, podniesienie swoich uprawnień w systemie. Łatka jest obecnie dostępna w formie poprawki. Problem występuje od pierwszej wersji sterownika NVMe-oF/TCP (w raporcie o luce wspomniano o jądrze Linux 5.15, ale wsparcie dla NVMe-oF/TCP dodano do jądra 5.0). Wrażliwe są systemy z włączonym serwerem NVMe-oF/TCP (NVME_TARGET_TCP), który domyślnie akceptuje połączenia na porcie sieciowym 4420.

Luka jest spowodowana błędem logicznym, przez co funkcja nvmet_tcp_free_crypto była wywoływana dwukrotnie, zwalniając pewne wskaźniki oraz dereferencjonując zwolnione adresy. Takie zachowanie prowadzi do odwołania się do już zwolnionego obszaru pamięci (use-after-free) oraz podwójnego zwolnienia pamięci (double-free) podczas obsługi przez serwer NVMe-oF/TCP specjalnie skonstruowanej wiadomości od klienta, który może znajdować się zarówno w sieci lokalnej, jak i globalnej.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster