Sveučilište Minnesota suspendirano iz razvoja Linux kernela zbog slanja upitnih zakrpa

Greg Kroah-Hartman, odgovoran za održavanje stabilne grane jezgre Linuxa, odlučio je zabraniti prihvaćanje bilo kakvih promjena koje dolaze sa Sveučilišta u Minnesoti u jezgru Linuxa, kao i vratiti sve prethodno prihvaćene zakrpe i ponovno ih pregledati. Razlog blokiranja bile su aktivnosti istraživačke skupine koja je proučavala mogućnost promicanja skrivenih ranjivosti u kodu projekata otvorenog koda. Ova je grupa poslala zakrpe koje sadrže različite vrste grešaka, promatrala je reakciju zajednice i proučavala načine kako prevariti proces pregleda za promjene. Prema Gregu, provođenje takvih eksperimenata za uvođenje zlonamjernih promjena je neprihvatljivo i neetično.

Razlog blokiranja bio je taj što su članovi ove grupe poslali zakrpu koja je dodala provjeru pokazivača kako bi se eliminirao mogući dvostruki poziv funkcije “free”. S obzirom na kontekst korištenja pokazivača, provjera je bila besmislena. Svrha podnošenja zakrpe bila je vidjeti hoće li pogrešna promjena proći pregled programera kernela. Osim ove zakrpe, pojavili su se i drugi pokušaji programera sa Sveučilišta u Minnesoti da naprave sumnjive promjene u kernelu, uključujući one koje se odnose na dodavanje skrivenih ranjivosti.

Sudionik koji je poslao zakrpe pokušao se opravdati rekavši da je testirao novi statički analizator te je promjena pripremljena na temelju rezultata testiranja u njemu. Ali Greg je skrenuo pozornost na činjenicu da predloženi popravci nisu tipični za pogreške koje otkriju statički analizatori, a sve poslane zakrpe ne popravljaju ništa. S obzirom na to da je dotična istraživačka skupina u prošlosti pokušala 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 krpanje ranjivosti, na primjer, identificiranje curenja informacija u USB stogu (CVE-2016-4482) i mrežnom podsustavu (CVE-2016-4485) . U studiji o širenju stealth ranjivosti, tim sa Sveučilišta u Minnesoti navodi primjer CVE-2019-12819, ranjivosti uzrokovane zakrpom kernela objavljenom 2014. godine. Popravak je dodao poziv za put_device bloku za rukovanje pogreškama u mdio_bus, ali pet godina kasnije pokazalo se da takva manipulacija dovodi do pristupa memorijskom bloku nakon što se oslobodi ("use-after-free").

Istodobno, autori studije tvrde da su u svom radu saželi podatke o 138 zakrpa koje su unijele pogreške i nisu bile povezane sa sudionicima studije. Pokušaji slanja vlastitih zakrpa s pogreškama bili su ograničeni na korespondenciju e-poštom, a takve promjene nisu ušle u Git (ako je, nakon slanja zakrpe e-poštom, održavatelj smatrao da je zakrpa normalna, tada je od njega zatraženo da ne uključi promjenu jer postoji bila pogreška, nakon čega su poslali ispravnu zakrpu).

Dodatak 1: Sudeći prema aktivnosti autora kritiziranog patcha, on već duže vrijeme šalje zakrpe raznim podsustavima kernela. Na primjer, pogonski programi radeon i nouveau nedavno su usvojili promjene s pozivom na pm_runtime_put_autosuspend(dev->dev) u bloku pogreške, što je vjerojatno uzrokovalo korištenje međuspremnika nakon oslobađanja memorije koja je s njim povezana.

Dodatak 2: Greg je poništio 190 obveza povezanih s "@umn.edu" i pokrenuo njihov ponovni pregled. Problem je u tome što članovi s adresama "@umn.edu" nisu samo eksperimentirali s guranjem upitnih zakrpa, već su također zakrpali stvarne ranjivosti, a vraćanje promjena moglo bi rezultirati vraćanjem prethodno zakrpanih sigurnosnih problema. Neki su održavatelji već ponovno provjerili poništene promjene i nisu pronašli probleme, no jedan od održavatelja je naveo da jedna od zakrpa koje su mu poslane ima pogreške.

Izvor: opennet.ru

Dodajte komentar