Sveučilište Minnesota isključeno iz razvoja Linux jezgre zbog slanja sumnjivih zakrpa

Greg Kroah-Hartman, zadužen za podršku stabilnoj grani Linux jezgre, odlučio je zabraniti prihvaćanje bilo kakvih izmjena iz Sveučilišta u Minnesoti, kao i povući sve prethodno prihvaćene zakrpe i provesti njihovu ponovnu recenziju. Razlog blokade bila je djelatnost istraživačke grupe koja proučava mogućnost potiskivanja skrivenih ranjivosti u kodu otvorenih projekata. Spomenuta grupa slala je zakrpe koje su uključivale različite vrste grešaka, pratila reakciju zajednice i proučavala načine obmanjivanja procesa recenzije promjena. Prema Gregovom mišljenju, provođenje takvih eksperimenata uvođenja zlonamjernih promjena je neprihvatljivo i neetično.

Povod blokade bila je slanje zakrpe od strane članova ove grupe koja je dodavala provjeru pokazivača kako bi se isključila mogućnost dvostrukog poziva funkcije "free". Uzimajući u obzir kontekst korištenja pokazivača, provjera je bila besmislena. Cilj slanja zakrpe bio je proučiti hoće li pogrešna izmjena proći recenziju od strane programera jezgre. Osim navedene zakrpe, isplivali su i drugi pokušaji programera sa Sveučilišta u Minnesoti da unesu sumnjive promjene u jezgru, uključujući one vezane uz dodavanje skrivenih ranjivosti.

Pošiljatelj zakrpa pokušao je opravdati svoje postupke time da testira novi statički analizator i da je izmjena pripremljena na temelju rezultata provjere u njemu. No, Greg je primijetio da predložena poboljšanja nisu karakteristična za greške otkrivene statičkim analizatorima i da sve poslane zakrpe uopće ništa ne ispravljaju. S obzirom na to da je razmatrana grupa istraživača već u prošlosti pokušala promovirati ispravke sa skrivenim ranjivostima, očito je da su nastavili svoje eksperimente nad zajednicom programera jezgre.

Zanimljivo je da je prethodni voditelj eksperimenata sudjelovao u legitimnom ispravljanju ranjivosti, na primjer, otkrio je curenja informacija u USB stacku (CVE-2016-4482) i mrežnom subsustavu (CVE-2016-4485). U istraživanju skrivenog poticanja ranjivosti, grupa sa Sveučilišta Minnesota navodi primjer ranjivosti CVE-2019-12819, uzrokovane ispravkom koji je prihvaćen u jezgru 2014. godine. Taj je ispravak dodao poziv put_device u blok obrade pogrešaka u mdio_bus, ali se pet godina kasnije otkrilo da takva manipulacija dovodi do pristupa bloku memorije nakon što je oslobođen ("use-after-free").

Pri tome autori istraživanja tvrde da su u svom radu obuhvatili podatke o 138 ispravaka koji su uveli greške i nisu bili povezani s sudionicima istraživanja. Pokušaji slanja vlastitih ispravaka s greškama bili su ograničeni na email prepisku, a takve su promjene izostavljene iz Gita (ako je nakon slanja ispravka putem emaila održavatelj smatrao ispravak normalnim, traženo je da ne uključi promjenu jer je bila greška, nakon čega je poslan ispravni ispravak).

Dodatak 1: Sudeći prema aktivnostima autora kritiziranog ispravka, on već dugo šalje ispravke u razne podskupine jezgre. Na primjer, u drajverima radeon i nouveau nedavno su prihvaćene promjene s pozivom pm_runtime_put_autosuspend(dev->dev) u bloku pogreške, a nije isključeno da to dovodi do korištenja bafera nakon oslobađanja povezane memorije.

Dodatak 2: Greg je povukao 190 commitova povezanih s adresama "@umn.edu" i inicirao njihovu ponovnu recenziju. Problem je u tome što su sudionici s adresama "@umn.edu" ne samo eksperimentirali s promicanjem sumnjivih ispravaka, već su i ispravljali stvarne ranjivosti, a povlačenje promjena može dovesti do vraćanja prethodno ispravljenih sigurnosnih problema. Neki održavatelji su već ponovo provjerili poništene promjene i nisu pronašli probleme, ali jedan od održavatelja je naveo da su u jednom od ispravaka koji je primio bile greške.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster