Linux branduolio ksmbd modulio pažeidžiamumas, leidžiantis nuotoliniu būdu vykdyti kodą

Aptiktas kritinis ksmbd modulio pažeidžiamumas, kuriame įdiegtas failų serveris, pagrįstas SMB protokolu, integruotu į Linux branduolį, leidžiantį nuotoliniu būdu vykdyti kodą su branduolio teisėmis. Ataka gali būti vykdoma be autentifikavimo, pakanka, kad sistemoje būtų suaktyvintas ksmbd modulis. Problema buvo akivaizdi nuo 5.15 branduolio, išleisto 2021 m. lapkričio mėn., ir buvo tyliai ištaisyta 5.15.61, 5.18.18 ir 5.19.2 naujinimuose, kurie buvo sukurti 2022 m. rugpjūčio mėn. Kadangi problemai dar nebuvo priskirtas CVE identifikatorius, tikslios informacijos apie problemos sprendimą platinimuose dar nėra.

Išsami informacija apie pažeidžiamumo išnaudojimą kol kas neatskleidžiama, žinoma tik tai, kad pažeidžiamumą sukelia prieiga prie jau atlaisvintos atminties srities (Use-After-Free), nes prieš atliekant operacijas nepatikrinta, ar objektas yra. su tuo. Problema susijusi su tuo, kad funkcijoje smb2_tree_disconnect() buvo atlaisvinta atmintis, skirta ksmbd_tree_connect struktūrai, tačiau po to vis tiek buvo naudojamas žymeklis apdorojant tam tikras išorines užklausas su SMB2_TREE_DISCONNECT komandomis.

Be minėto ksmbd pažeidžiamumo, taip pat ištaisytos 4 mažiau pavojingos problemos:

  • ZDI-22-1688 - nuotolinis kodo vykdymas su branduolio teisėmis dėl to, kad prieš nukopijuojant jį į skirtą buferį nepatikrintas tikrasis išorinių duomenų dydis failo atributo apdorojimo kode. Pažeidžiamumo pavojų sumažina tai, kad ataką gali vykdyti tik autentifikuotas vartotojas.
  • ZDI-22-1691 - nuotolinis informacijos nutekėjimas iš branduolio atminties dėl neteisingo įvesties parametrų patikrinimo komandų tvarkyklėje SMB2_WRITE (ataką gali vykdyti tik autentifikuotas vartotojas).
  • ZDI-22-1687 - nuotolinis paslaugų atsisakymas, kai sistemoje išeikvojama turima atmintis dėl neteisingo išteklių atleidimo SMB2_NEGOTIATE komandų tvarkyklėje (ataka gali būti vykdoma be autentifikavimo).
  • ZDI-22-1689 - nuotolinis iškvietimas sugadinti branduolį, nes tinkamai nepatikrinti komandos SMB2_TREE_CONNECT parametrai, todėl nuskaitoma iš buferio ribų (ataką gali vykdyti tik autentifikuotas vartotojas ).

SMB serverio palaikymas naudojant ksmbd modulį buvo įtrauktas į Samba paketą nuo 4.16.0 leidimo. Skirtingai nuo vartotojo erdvės SMB serverio, ksmbd yra efektyvesnis našumo, atminties suvartojimo ir integracijos su išplėstinėmis branduolio funkcijomis požiūriu. Ksmbd reklamuojamas kaip didelio našumo, įterptiesiems paruoštas Samba plėtinys, prireikus integruojamas su Samba įrankiais ir bibliotekomis. Ksmbd kodą parašė Samsung Namjae Jeon ir LG Hyunchul Lee, o branduolyje jį prižiūrėjo Microsoft Steve'as Frenchas, CIFS/SMB2/SMB3 posistemių prižiūrėtojas Linux branduolyje ir ilgametis Samba kūrimo komandos narys, prisidėjęs reikšmingai. į SMB/CIFS protokolų palaikymo diegimą „Samba“ ir „Linux“.

Šaltinis: opennet.ru

Добавить комментарий