Nëse shfrytëzohen, këto të meta mund t'i lejojnë sulmuesit të kenë akses të paautorizuar në informacione të ndjeshme ose në përgjithësi të shkaktojnë probleme
Informacioni u publikua së fundmi se u zbulua një cenueshmëri e kernelit Linux me një rezultat CVSS prej 10 në serverin SMB, duke i dhënë një përdoruesi të paautentikuar mundësinë për të ekzekutuar kodin nga distanca.
Gabimi i gjetur lejon sulmuesit në distancë të ekzekutojnë kode arbitrare në instalimet e prekura. Autentifikimi nuk kërkohet për të shfrytëzuar këtë dobësi, por vetëm sistemet me ksmbd të aktivizuar janë të cenueshëm.
E meta specifike ekziston në përpunimin e komandave SMB2_TREE_DISCONNECT. Problemi rezulton nga mos vërtetimi i ekzistencës së një objekti përpara kryerjes së operacioneve në atë objekt. Një sulmues mund ta shfrytëzojë këtë dobësi për të ekzekutuar kodin në kontekstin e kernelit.
DETAJE TË CENUESHMËRISË
Kjo dobësi i lejon sulmuesit në distancë të ekzekutojnë kode arbitrare në instalimet e prekura të Kernelit Linux. Autentifikimi nuk kërkohet për të shfrytëzuar këtë dobësi, por vetëm sistemet me ksmbd të aktivizuar janë të cenueshëm.E meta specifike ekziston në përpunimin e komandave SMB2_TREE_DISCONNECT. Problemi shkaktohet nga mungesa e vërtetimit të ekzistencës së një objekti përpara kryerjes së operacioneve në objekt. Një sulmues mund ta shfrytëzojë këtë dobësi për të ekzekutuar kodin në kontekstin e kernelit.
Është përmendur se në varësi të llojit të kërkesës SMB, çdo thread i ri mund të vendosë të kalojë komanda në hapësirën e përdoruesit (ksmbd.mountd); aktualisht, komandat DCE/RPC identifikohen të trajtohen nga hapësira e përdoruesit. Për të përdorur më mirë kernelin Linux, u vendos që komandat të trajtoheshin si elementë pune dhe të ekzekutoheshin në mbajtësit e fijeve ksmbd -io kworker.
Kjo i lejon menaxherët të multipleksojnë sepse kerneli kujdeset për fillimin e thread-eve shtesë të punëtorëve nëse ngarkesa rritet dhe anasjelltas, nëse ngarkesa zvogëlohet, ai vret fijet shtesë të punëtorëve.
Kur fillon demoni i serverit, ai fillon një thread fork (ksmbd/emri i ndërfaqes) në kohën e nisjes dhe hap një port të dedikuar 445 për të dëgjuar kërkesat SMB. Sa herë që klientët e rinj bëjnë një kërkesë, thread-i forker pranon lidhjen e klientit dhe krijon një thread të ri për një kanal të dedikuar komunikimi midis klientit dhe serverit. Kjo lejon që kërkesat (komandat) SMB nga klientët të përpunohen paralelisht dhe u mundëson klientëve të rinj të krijojnë lidhje të reja.
ksmbd ngriti flamuj të kuq midis disa përdoruesve të cilët diskutuan për bashkimin e tyre vitin e kaluar. SerNet, një kompani gjermane kompjuterike që ofron versionin e saj të Samba, tha në një postim në blog se ksmbd ishte e mrekullueshme, por dukej pak e papjekur. Për më tepër, ekipi i Samba+ i SerNet deklaroi në një postim në blog se vlera e shtimit të një serveri SMB në hapësirën e kernelit mund të mos jetë e vlefshme për rrezikun e "shtrydhjes së pjesës së fundit të performancës nga gjërat e disponueshme".
Për fat të mirë, nëse nuk po ekzekutoni modulin "eksperimental" ksmbd të Samsung, siç përshkruhet nga studiuesi i sigurisë Shir Tamari në Twitter, dhe e keni mbajtur Samba, jeni plotësisht të sigurt. “ksmbd është i ri; shumica e përdoruesve ende përdorin Samba dhe nuk preken. Në thelb, nëse nuk jeni duke ekzekutuar serverë SMB me ksmbd, shijoni fundjavën tuaj”, shkroi Tamari në Twitter.
Sipas Iniciativës Zero-Day, e cila zbuloi cenueshmërinë ksmbd, e meta e përdorimit pas pa pagesë ekziston në përpunimin e komandave SMB2_TREE_DISCONNECT. Sipas ZDI, problemi është shkaktuar nga ksmbd që nuk vërteton ekzistencën e objekteve përpara se të kryejë operacione mbi to.
Për ata që përdorin ksmbd, ekziston një zgjidhje tjetër përveç kalimit në Samba: përmirësimi në versionin 5.15.61 të kernelit Linux, i lëshuar në gusht ose më vonë. Ky përditësim i kernelit rregullon gjithashtu disa probleme të tjera në ksmbd: një lexim jashtë kufijve për SMB2_TREE_CONNECT, i cili sipas shënimit të korrigjimit mund të lejojë kërkesat e pavlefshme që të mos dërgojnë mesazhe dhe një rrjedhje memorie në smb2_handle_negotiate që shkakton një çlirim të pasaktë. memorie.
më në fund nëse jeni të interesuar të dinë më shumë për të, ju mund të kontrolloni detajet Në lidhjen vijuese.