Disa ditë më parë u publikua lajmi se një dobësi është identifikuar në Netfilter (një nënsistem i kernelit Linux që përdoret për të filtruar dhe modifikuar paketat e rrjetit), i cili lejon një përdorues lokal të fitojë privilegje root në një sistemedhe kur ndodhen në një enë të izoluar.
Cenueshmëria e CVE-2021-22555 është një problem që ekziston që nga kerneli 2.6.19, nisur 15 vjet më parë dhe është të shkaktuara nga një defekt në shoferë IPT_SO_SET_REPLACE dhe IP6T_SO_SET_REPLACE, gjë që shkakton një tejmbushje të bufferit kur dërgoni parametra të dekoruar posaçërisht përmes thirrjes setsockopt në modalitetin compat.
Ndoshta shumë në këtë pikë do të pyesin se si është e mundur që një e metë në Kernel Linux mund të mbetet pa u vërejtur për kaq shumë kohë dhe përgjigja për këtë është se edhe pse defekti që ishte i pranishëm që nga Linux 2.6.19, dobësia u gjet përmes kodit auditimi, edhe pse kodi C nuk ishte i riprodhueshëm, kështu që nuk mund të shfrytëzohej sepse burimet e nevojshme për të përshkallëzuar privilegjet nuk u gjetën në atë kohë.
Për shembull, mbështetja për hapësirat e emrave të përdoruesve të pa privilegjuar është në kernelin 3.8. Gjithashtu, disa shpërndarje kanë një copë toke që shton sysctl për të çaktivizuar hapësirat e përdoruesve të pa privilegjuar.
Nën rrethana normale, vetëm përdoruesi rrënjësor mund të telefonojë compat_setsockopt ()Por lejet e nevojshme për të kryer një sulm ato gjithashtu mund të merren nga një përdorues i pa privilegjuar në sistemet me hapësira të emrave të përdoruesve të aktivizuar.
CVE-2021-22555 është një pirg 15 vjeçar nga ndjeshmëria e shkrimit në pirg në Linux Netfilter që është mjaft e fuqishme për të anashkaluar të gjitha zbutjet moderne të sigurisë dhe për të arritur ekzekutimin e kodit të kernelit.
Si i tillë, përshkruhet se një përdorues lokal mund të krijojë një kontejner me një përdorues të veçantë rrënjë dhe të shfrytëzojë dobësinë nga atjeí Për shembull, "hapësirat e emrave të përdoruesve" përfshihen si parazgjedhje në Ubuntu dhe Fedora, por jo në Debian dhe RHEL.
Kjo dobësi mund të shfrytëzohet duke mbishkruar pjesërisht
m_list->next
treguesmsg_msg
strukturën dhe arritjen e një të lirë pas përdorimit. Ky është mjaft i fuqishëm për të ekzekutuar kodin tuaj të bërthamës duke anashkaluar KASLR, SMAP dhe SMEP.
Gjithashtu, problemi lind në funksionin xt_compat_target_from_user () për shkak të llogaritjes së gabuar të madhësisë së kujtesës kur kurseni strukturat e bërthamës pas shndërrimit nga përfaqësimi 32-bit në 64-bit.
Si i tillë, përmendet se gabimi lejon shkrimin e katër bajtave "zero" në çdo pozicion jashtë buffer-it caktuar, e kufizuar nga 0x4C e kompensuar. Për shkak të kësaj, përmendet se kjo karakteristikë doli të jetë e mjaftueshme për të krijuar një shfrytëzim e cila lejon marrjen e të drejtave rrënjësore: duke fshirë treguesin m_list-> tjetër në strukturën msg_msg, u krijuan kushtet për të hyrë në të dhëna pas lirimit të kujtesës (përdorim pas-pa), i cili më pas u përdor për të marrë informacion në lidhje me adresat ndryshimet në strukturat e tjera duke manipuluar thirrjen e sistemit msgsnd ().
Lidhur me raportin e gabimit, si çdo dobësi e zbuluar, kjo përfshin një proces dhe raportin që iu bë zhvilluesve të kernelit në prill, me të cilin më pas u korrigjua për disa ditë dhe patch-i që përfshihet në të gjitha shpërndarjet e mbështetura, në mënyrë që informacioni rreth defektit mund të lëshohet më vonë.
Projektet Debian, Arch Linux dhe Fedora tashmë kanë gjeneruar azhurnime të paketave. Duke filluar me Ubuntu, azhurnimet e RHEL dhe SUSE janë në proces. Për shkak se gabimi është serioz, i shfrytëzueshëm në praktikë dhe lejon të shpëtojë nga kontejneri, Google e vlerësoi zbulimin e saj në 10,000 dollarë dhe dyfishoi shpërblimin për studiuesin i cili identifikoi cenueshmërinë dhe për identifikimin e një metode për të shmangur izolimin e kontejnerëve Kubernetes në grupin kCTF.
Për provë, është përgatitur një prototip punues i një shfrytëzimi që anashkalon mekanizmat e mbrojtjes KASLR, SMAP dhe SMEP.
Më në fund nëse jeni të interesuar të dini më shumë rreth kësaj, ju mund të kontrolloni detajet Në lidhjen vijuese.