Ranljivost v modulu ksmbd jedra Linuxa, ki vam omogoča oddaljeno izvajanje kode

V modulu ksmbd je bila ugotovljena kritična ranljivost, ki vključuje implementacijo datotečnega strežnika, ki temelji na protokolu SMB, vgrajenem v jedro Linuxa, kar vam omogoča oddaljeno izvajanje kode s pravicami jedra. Napad se lahko izvede brez avtentikacije, dovolj je, da je v sistemu aktiviran modul ksmbd. Težava se pojavlja že od jedra 5.15, izdanega novembra 2021, in je bila tiho odpravljena v posodobitvah 5.15.61, 5.18.18 in 5.19.2, izdanih avgusta 2022. Ker identifikator CVE še ni bil dodeljen težavi, ni natančnih informacij o tem, kako odpraviti težavo v distribucijah.

Podrobnosti o izkoriščanju ranljivosti še niso bile razkrite, znano je le, da je ranljivost posledica dostopa do že sproščenega pomnilniškega področja (Use-After-Free) zaradi pomanjkanja preverjanja obstoja objekta pred izvajanjem operacij. na njem. Težava je posledica dejstva, da je funkcija smb2_tree_disconnect() sprostila pomnilnik, dodeljen za strukturo ksmbd_tree_connect, vendar je bil po tem še vedno uporabljen kazalec pri obdelavi določenih zunanjih zahtev, ki vsebujejo ukaze SMB2_TREE_DISCONNECT.

Poleg omenjene ranljivosti so v ksmbd odpravljene še 4 manj nevarne težave:

  • ZDI-22-1688 - oddaljeno izvajanje kode s pravicami jedra, ker koda za obdelavo atributov datoteke ne preverja dejanske velikosti zunanjih podatkov, preden jih kopira v namenski medpomnilnik. Ranljivost je zmanjšana z dejstvom, da lahko napad izvede le overjen uporabnik.
  • ZDI-22-1691 - oddaljeno uhajanje informacij iz pomnilnika jedra zaradi nepravilnega preverjanja vhodnih parametrov v upravljalniku ukazov SMB2_WRITE (napad lahko izvede le overjen uporabnik).
  • ZDI-22-1687 - zavrnitev storitve na daljavo zaradi izčrpanosti razpoložljivega pomnilnika v sistemu zaradi nepravilne sprostitve virov v upravljalniku ukazov SMB2_NEGOTIATE (napad se lahko izvede brez avtentikacije).
  • ZDI-22-1689 - Oddaljeno zrušitev jedra zaradi pomanjkanja pravilne validacije parametrov ukaza SMB2_TREE_CONNECT, kar ima za posledico branje iz območja zunaj medpomnilnika (napad lahko izvede le overjen uporabnik).

Podpora za izvajanje strežnika SMB z uporabo modula ksmbd je prisotna v paketu Samba od izdaje 4.16.0. Za razliko od strežnika SMB v uporabniškem prostoru je ksmbd bolj učinkovit v smislu zmogljivosti, porabe pomnilnika in integracije z naprednimi funkcijami jedra. Ksmbd se oglašuje kot visoko zmogljiva razširitev Samba, pripravljena za vgradnjo, ki se po potrebi integrira z orodji in knjižnicami Samba. Kodo ksmbd sta napisala Namjae Jeon iz Samsunga in Hyunchul Lee iz LG-ja, jedro pa vzdržuje Steve French iz Microsofta, vzdrževalec podsistemov CIFS/SMB2/SMB3 v jedru Linuxa in dolgoletni član razvojne skupine Samba. , ki je pomembno prispeval k implementaciji podpore za protokole SMB/CIFS v Sambi in Linuxu.

Vir: opennet.ru

Dodaj komentar