Ranjivost u ksmbd modulu Linux kernela koji vam omogućava daljinsko izvršavanje vašeg koda

Identifikovana je kritična ranjivost u modulu ksmbd, koji uključuje implementaciju servera datoteka zasnovanog na SMB protokolu ugrađenom u jezgro Linuxa, koji vam omogućava daljinsko izvršavanje vašeg koda sa pravima kernela. Napad se može izvesti bez autentifikacije, dovoljno je da je modul ksmbd aktiviran na sistemu. Problem se pojavljuje od kernela 5.15, objavljenog u novembru 2021., i tiho je riješen u ažuriranjima 5.15.61, 5.18.18 i 5.19.2, objavljenim u avgustu 2022. godine. Budući da CVE identifikator još nije dodijeljen problemu, ne postoje tačne informacije o tome kako riješiti problem u distribucijama.

Detalji o iskorištavanju ranjivosti još nisu objavljeni; poznato je samo da je ranjivost uzrokovana pristupom već oslobođenom memorijskom području (Use-After-Free) zbog nedostatka provjere postojanja objekta prije izvođenja operacija na njemu. Problem je zbog činjenice da je funkcija smb2_tree_disconnect() oslobodila memoriju dodijeljenu strukturi ksmbd_tree_connect, ali je nakon toga još uvijek postojao pokazivač koji se koristio prilikom obrade određenih eksternih zahtjeva koji sadrže SMB2_TREE_DISCONNECT komande.

Pored pomenute ranjivosti, u ksmbd su popravljena i 4 manje opasna problema:

  • ZDI-22-1688 - daljinsko izvršavanje koda s pravima kernela zbog toga što kod za obradu atributa datoteke ne provjerava stvarnu veličinu vanjskih podataka prije nego što ih kopira u namjenski bafer. Ranjivost je ublažena činjenicom da napad može izvršiti samo autentificirani korisnik.
  • ZDI-22-1691 - udaljeno curenje informacija iz memorije kernela zbog pogrešne provjere ulaznih parametara u rukovaču komande SMB2_WRITE (napad može izvršiti samo autentificirani korisnik).
  • ZDI-22-1687 - daljinsko uskraćivanje usluge uzrokovano iscrpljivanjem raspoložive memorije u sistemu zbog nepravilnog oslobađanja resursa u rukovaču komande SMB2_NEGOTIATE (napad se može izvesti bez autentifikacije).
  • ZDI-22-1689 - Udaljeno rušenje kernela zbog nedostatka odgovarajuće validacije parametara naredbe SMB2_TREE_CONNECT, što rezultira čitanjem iz područja izvan bafera (napad može izvršiti samo autentificirani korisnik).

Podrška za pokretanje SMB servera pomoću ksmbd modula prisutna je u Samba paketu od izdanja 4.16.0. Za razliku od SMB servera u korisničkom prostoru, ksmbd je efikasniji u smislu performansi, potrošnje memorije i integracije sa naprednim karakteristikama kernela. Ksmbd se reklamira kao Samba proširenje visokih performansi, spremno za ugradnju koje se po potrebi integriše sa Samba alatima i bibliotekama. Ksmbd kod su napisali Namjae Jeon iz Samsunga i Hyunchul Lee iz LG-a, a kernel održava Steve French iz Microsofta, održavatelj CIFS/SMB2/SMB3 podsistema u Linux kernelu i dugogodišnji član Samba razvojnog tima , koji je značajno doprinio implementaciji podrške za SMB/CIFS protokole u Sambi i Linuxu.

izvor: opennet.ru

Dodajte komentar