Linuxi nvmet-tcp (NVMe-oF/TCP) alamkompleksis, mis võimaldab pääseda NVMe-mälu seadmetele üle võrgu (NVM Express over Fabrics) TCP protokolli kasutades, on tuvastatud haavatavus (CVE-2023-5178), mis võib võimaldada kauget koodi täitmist tuuma tasemel või, kohaliku juurdepääsu korral, privileegide tõstmist süsteemis. Parandus on hetkel saadaval patšina. Probleem ilmneb esimesest NVMe-oF/TCP draiveri versioonist (haavatavusraportis mainitakse Linuxi tuuma 5.15, kuid toetus NVMe-oF/TCP lisati tuuma 5.0). Haavatavusele on vastuvõtlikud süsteemid, kus on lubatud serveriga NVMe-oF/TCP (NVME_TARGET_TCP), mis vaikimisi aktsepteerib ühendusi võrgu pordil 4420.
Haavatavus on põhjustatud loogikaveast, mille tõttu kutsuti funktsioon nvmet_tcp_free_crypto kaks korda välja, vabastades mõned näitajad kaks korda ning dereferenseerides vabastatud aadresse. Selline käitumine viib juba vabastatud mälu piirkondadele (use-after-free) ja mälu kahekordsele vabastamisele (double-free) NVMe-oF/TCP serveri töötlemisel, kui see saab spetsiaalselt vormindatud sõnumi kliendilt, kes võib asuda nii kohalikus kui ka globaalses võrgus.
Allikas: opennet.ru
