Univerzitet Minnesota suspendovan je iz razvoja Linux kernela zbog podnošenja sumnjivih zakrpa

Greg Kroah-Hartman, odgovoran za održavanje stabilne grane Linux kernela, odlučio je da zabrani prihvatanje bilo kakvih promjena koje dolaze sa Univerziteta Minnesota u Linux kernel, kao i da vrati sve ranije prihvaćene zakrpe i ponovo ih pregleda. Razlog blokiranja bile su aktivnosti istraživačke grupe koja proučava mogućnost promoviranja skrivenih ranjivosti u kodu projekata otvorenog koda. Ova grupa je poslala zakrpe koje sadrže različite vrste grešaka, posmatrala je reakciju zajednice i proučavala načine da se prevari proces pregleda za promene. Prema Gregu, provođenje takvih eksperimenata za uvođenje zlonamjernih promjena je neprihvatljivo i neetično.

Razlog blokiranja je taj što su članovi ove grupe poslali zakrpu koja je dodala provjeru pokazivača kako bi se eliminirao mogući dvostruki poziv funkcije „besplatno“. S obzirom na kontekst upotrebe pokazivača, provjera je bila besmislena. Svrha slanja zakrpe je bila da se vidi da li će pogrešna promena proći pregled od strane programera kernela. Osim ove zakrpe, pojavili su se i drugi pokušaji programera sa Univerziteta Minnesota da naprave sumnjive promjene u kernelu, uključujući i one vezane za dodavanje skrivenih ranjivosti.

Učesnik koji je poslao zakrpe pokušao se opravdati da je testirao novi statički analizator i da je promjena pripremljena na osnovu rezultata testiranja u njemu. Ali Greg je skrenuo pažnju na činjenicu da predloženi popravci nisu tipični za greške koje detektuju statički analizatori, a sve poslane zakrpe ne popravljaju baš ništa. S obzirom na to da je dotična istraživačka grupa u prošlosti pokušavala progurati zakrpe za skrivene ranjivosti, jasno je da su nastavili svoje eksperimente sa zajednicom za razvoj kernela.

Zanimljivo je da je u prošlosti vođa grupe koja je provodila eksperimente bio uključen u legitimno zakrpe ranjivosti, na primjer, identifikovanje curenja informacija u USB steku (CVE-2016-4482) i mrežnom podsistemu (CVE-2016-4485) . U studiji o širenju stealth ranjivosti, tim sa Univerziteta Minnesota navodi primjer CVE-2019-12819, ranjivosti uzrokovanu zakrpom kernela objavljenom 2014. Ispravka je dodala poziv put_device bloku za obradu grešaka u mdio_busu, ali pet godina kasnije se pokazalo da takva manipulacija dovodi do pristupa memorijskom bloku nakon što se oslobodi („use-after-free“).

Istovremeno, autori studije tvrde da su u svom radu sumirali podatke o 138 zakrpa koje su unosile greške i nisu bile vezane za učesnike studije. Pokušaji slanja vlastitih zakrpa s greškama bili su ograničeni na korespondenciju putem e-pošte, a takve promjene nisu ušle u Git (ako je nakon slanja zakrpe putem e-pošte održavatelj smatrao zakrpu normalnom, tada je od njega zatraženo da ne uključuje promjenu jer postoji je bila greška, nakon čega su poslali ispravnu zakrpu).

Dodatak 1: Sudeći po aktivnosti autora kritizirane zakrpe, on već duže vrijeme šalje zakrpe raznim podsistemima kernela. Na primjer, drajveri za radeon i nouveau nedavno su usvojili promjene sa pozivom pm_runtime_put_autosuspend(dev->dev) u bloku greške, što je moguće uzrokovalo korištenje bafera nakon oslobađanja memorije povezane s njim.

Dodatak 2: Greg je poništio 190 urezivanja povezanih sa "@umn.edu" i pokrenuo ponovni pregled istih. Problem je u tome što članovi sa adresama "@umn.edu" ne samo da su eksperimentisali sa postavljanjem sumnjivih zakrpa, već su i zakrpili stvarne ranjivosti, a vraćanje izmena unazad može dovesti do vraćanja prethodno zakrpljenih bezbednosnih problema. Neki održavači su već ponovo provjerili vraćene promjene i nisu našli nikakve probleme, ali jedan od održavatelja je ukazao da je jedna od zakrpa koja mu je poslana imala greške.

izvor: opennet.ru

Dodajte komentar