Ranjivost u ksmbd modulu Linux kernela koja vam omogućuje daljinsko izvršavanje koda

Prepoznata je kritična ranjivost u ksmbd modulu, koji uključuje implementaciju datotečnog poslužitelja temeljenog na SMB protokolu ugrađenom u Linux kernel, koji vam omogućuje daljinsko izvršavanje koda s kernel pravima. Napad se može izvesti i bez autentifikacije, dovoljno je da je na sustavu aktiviran ksmbd modul. Problem se pojavljuje od kernela 5.15, objavljenog u studenom 2021., i tiho je popravljen u ažuriranjima 5.15.61, 5.18.18 i 5.19.2, objavljenim u kolovozu 2022. Budući da CVE identifikator još nije dodijeljen problemu, ne postoje točne informacije o tome kako riješiti problem u distribucijama.

Pojedinosti o iskorištavanju ranjivosti još nisu objavljene, poznato je samo da je ranjivost uzrokovana pristupom već oslobođenom memorijskom području (Use-After-Free) zbog izostanka provjere postojanja objekta prije izvođenja operacija na tome. Problem je zbog činjenice da je funkcija smb2_tree_disconnect() oslobodila memoriju dodijeljenu za strukturu ksmbd_tree_connect, ali je nakon toga i dalje postojao pokazivač koji se koristi prilikom obrade određenih vanjskih zahtjeva koji sadrže SMB2_TREE_DISCONNECT naredbe.

Uz spomenutu ranjivost, 4 manje opasna problema također su popravljena u ksmbd:

  • ZDI-22-1688 - daljinsko izvršavanje koda s pravima jezgre zbog toga što kod za obradu atributa datoteke ne provjerava stvarnu veličinu vanjskih podataka prije kopiranja u namjenski međuspremnik. Ranjivost je ublažena činjenicom da napad može izvršiti samo autentificirani korisnik.
  • ZDI-22-1691 - udaljeno curenje informacija iz memorije kernela zbog netočne provjere ulaznih parametara u rukovatelju naredbom SMB2_WRITE (napad može izvršiti samo autentificirani korisnik).
  • ZDI-22-1687 - udaljeno uskraćivanje usluge uzrokovano iscrpljivanjem dostupne memorije u sustavu zbog netočnog oslobađanja resursa u rukovatelju naredbom SMB2_NEGOTIATE (napad se može izvesti bez autentifikacije).
  • ZDI-22-1689 - Udaljeni pad kernela zbog nedostatka pravilne provjere valjanosti parametara naredbe SMB2_TREE_CONNECT, što rezultira čitanjem iz područja izvan međuspremnika (napad može izvršiti samo autentificirani korisnik).

Podrška za pokretanje SMB poslužitelja pomoću ksmbd modula prisutna je u Samba paketu od izdanja 4.16.0. Za razliku od SMB poslužitelja korisničkog prostora, ksmbd je učinkovitiji u pogledu performansi, potrošnje memorije i integracije s naprednim značajkama kernela. Ksmbd se reklamira kao Samba proširenje visokih performansi spremno za ugradnju koje se po potrebi integrira sa Samba alatima i bibliotekama. Kôd ksmbd napisali su Namjae Jeon iz Samsunga i Hyunchul Lee iz LG-a, a kernel održava Steve French iz Microsofta, održavatelj CIFS/SMB2/SMB3 podsustava 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