Če jih izkoristijo, lahko napadalcem omogočijo nepooblaščen dostop do občutljivih informacij ali na splošno povzročijo težave
Nedavno so bile objavljene informacije, da odkrita je bila ranljivost jedra Linuxa z oceno CVSS 10 na strežniku SMB, ki daje uporabniku brez pristnosti možnost oddaljenega izvajanja kode.
Najdena napaka omogoča oddaljenim napadalcem, da izvajajo poljubno kodo na prizadetih namestitvah. Za izkoriščanje te ranljivosti ni potrebna avtentikacija, vendar so ranljivi le sistemi z omogočenim ksmbd.
Posebna napaka obstaja pri obdelavi ukazov SMB2_TREE_DISCONNECT. Težava nastane, ker pred izvajanjem operacij na tem objektu ni potrjeno, da objekt obstaja. Napadalec lahko izkoristi to ranljivost za izvajanje kode v kontekstu jedra.
PODROBNOSTI RANLJIVOSTI
Ta ranljivost oddaljenim napadalcem omogoča izvajanje poljubne kode na prizadetih namestitvah jedra Linuxa. Za izkoriščanje te ranljivosti ni potrebna avtentikacija, vendar so ranljivi le sistemi z omogočenim ksmbd.Posebna napaka obstaja v obdelavi ukazov SMB2_TREE_DISCONNECT. Težavo povzroča pomanjkanje validacije obstoja objekta pred izvajanjem operacij na objektu. Napadalec lahko izkoristi to ranljivost za izvajanje kode v kontekstu jedra.
Omenjeno je, da se lahko glede na vrsto zahteve SMB vsaka nova nit odloči za posredovanje ukazov v uporabniški prostor (ksmbd.mountd); trenutno je za ukaze DCE/RPC opredeljeno, da jih upravlja uporabniški prostor. Da bi bolje izkoristili jedro Linuxa, je bilo odločeno, da se ukazi obravnavajo kot delovni elementi in se izvajajo v obdelovalcih niti ksmbd -io kworker.
To upraviteljem omogoča multipleksiranje, ker jedro poskrbi za zagon dodatnih delovnih niti, če se obremenitev poveča, in obratno, če se obremenitev zmanjša, ubije dodatne delovne niti.
Ko se strežniški demon zažene, ob zagonu zažene fork nit (ksmbd/ime vmesnika) in odpre namenska vrata 445 za poslušanje zahtev SMB. Vsakič, ko novi odjemalci podajo zahtevo, forker nit sprejme odjemalčevo povezavo in ustvari novo nit za namenski komunikacijski kanal med odjemalcem in strežnikom. To omogoča vzporedno obdelavo zahtev (ukazov) SMB strank in omogoča novim strankam vzpostavitev novih povezav.
ksmbd je pri nekaterih uporabnikih sprožil rdeče zastavice ki sta lani razpravljala o njuni združitvi. SerNet, nemško računalniško podjetje, ki ponuja svojo lastno različico Sambe, je v objavi na spletnem dnevniku dejalo, da je ksmbd super, vendar se zdi nekoliko nezrel. Poleg tega je SerNetova ekipa Samba+ v objavi na spletnem dnevniku izjavila, da vrednost dodajanja strežnika SMB v prostor jedra morda ni vredna tveganja "iztiskanja zadnjega bitja zmogljivosti iz razpoložljivih stvari."
Na srečo, če ne uporabljate Samsungovega "eksperimentalnega" modula ksmbd, kot je opisal varnostni raziskovalec Shir Tamari na Twitterju, in ste ohranili Sambo, ste popolnoma varni. »ksmbd je nov; večina uporabnikov še vedno uporablja Sambo in nanje to ne vpliva. V bistvu, če ne uporabljate strežnikov SMB s ksmbd, uživajte v vikendu,« je tvitnila Tamari.
Glede na Zero-Day Initiative, ki je razkril ranljivost ksmbd, obstaja napaka use-after-free pri obdelavi ukazov SMB2_TREE_DISCONNECT. Po ZDI je težava posledica tega, da ksmbd ne potrdi obstoja objektov, preden na njih izvede operacije.
Za tiste, ki uporabljajo ksmbd, obstaja rešitev poleg prehoda na Sambo: nadgradnja na različico jedra Linux 5.15.61, izdano avgusta, ali pozneje. Ta posodobitev jedra odpravlja tudi nekaj drugih težav v ksmbd: branje izven meja za SMB2_TREE_CONNECT, ki bi glede na opombo o popravku lahko dovolilo, da neveljavne zahteve ne pošiljajo sporočil, in uhajanje pomnilnika v smb2_handle_negotiate, ki povzroča nepravilno brezplačno. spomin.
končno če si zanima več o tem, lahko preverite podrobnosti V naslednji povezavi.