Univerza v Minnesoti je zaradi pošiljanja vprašljivih popravkov začasno odvzeta iz razvoja jedra Linuxa

Greg Kroah-Hartman, odgovoren za vzdrževanje stabilne veje jedra Linuxa, se je odločil prepovedati sprejemanje kakršnih koli sprememb, ki prihajajo z Univerze v Minnesoti v jedro Linuxa, ter tudi vrniti vse predhodno sprejete popravke in jih ponovno pregledati. Razlog za blokado so bile dejavnosti raziskovalne skupine, ki je preučevala možnost spodbujanja skritih ranljivosti v kodi odprtokodnih projektov. Ta skupina je predložila popravke, ki so vsebovali različne vrste hroščev, opazovala reakcijo skupnosti in preučevala načine, kako prevarati postopek pregleda za spremembe. Po Gregu je izvajanje takšnih poskusov za uvajanje zlonamernih sprememb nesprejemljivo in neetično.

Razlog za blokado je bil, da so člani te skupine poslali popravek, ki je dodal preverjanje kazalca, da bi izločil morebiten dvojni klic funkcije "brezplačno". Glede na kontekst uporabe kazalca je bilo preverjanje nesmiselno. Namen predložitve popravka je bil preveriti, ali bo napačna sprememba prestala pregled razvijalcev jedra. Poleg tega popravka so se pojavili tudi drugi poskusi razvijalcev z Univerze v Minnesoti, da bi naredili dvomljive spremembe v jedru, vključno s tistimi, povezanimi z dodajanjem skritih ranljivosti.

Udeleženec, ki je poslal popravke, se je skušal opravičiti z besedami, da je testiral nov statični analizator in je bila sprememba pripravljena na podlagi rezultatov testiranja v njem. Toda Greg je opozoril na dejstvo, da predlagani popravki niso značilni za napake, ki jih odkrijejo statični analizatorji, in vsi poslani popravki ne popravijo ničesar. Glede na to, da je zadevna raziskovalna skupina v preteklosti poskušala vložiti popravke za skrite ranljivosti, je jasno, da so nadaljevali svoje poskuse s skupnostjo za razvoj jedra.

Zanimivo je, da je bil v preteklosti vodja skupine, ki je izvajala poskuse, vključen v zakonito popravljanje ranljivosti, na primer odkrivanje uhajanja informacij v skladu USB (CVE-2016-4482) in omrežnem podsistemu (CVE-2016-4485). . V študiji o širjenju prikrite ranljivosti skupina z Univerze v Minnesoti navaja primer CVE-2019-12819, ranljivost, ki jo povzroča popravek jedra, izdan leta 2014. Popravek je bloku za obravnavo napak v mdio_bus dodal klic put_device, vendar se je pet let kasneje izkazalo, da takšna manipulacija vodi do dostopa do pomnilniškega bloka, potem ko je ta osvobojen (»use-after-free«).

Avtorji študije ob tem trdijo, da so pri svojem delu povzeli podatke o 138 popravkih, ki so vnesli napake in niso bili povezani z udeleženci študije. Poskusi pošiljanja lastnih popravkov z napakami so bili omejeni na e-poštno dopisovanje in takšne spremembe niso prišle v Git (če je po pošiljanju popravka po e-pošti vzdrževalec menil, da je popravek normalen, je bil pozvan, naj spremembe ne vključi, saj je bila napaka, po kateri so poslali pravilen popravek).

Dodatek 1: Sodeč po aktivnosti avtorja kritiziranega popravka, ta že dalj časa pošilja popravke na različne podsisteme jedra. Na primer, gonilnika radeon in nouveau sta nedavno sprejela spremembe s klicem pm_runtime_put_autosuspend(dev->dev) v bloku napake, kar je morda povzročilo uporabo medpomnilnika po sprostitvi pomnilnika, povezanega z njim.

Dodatek 2: Greg je razveljavil 190 potrditev, povezanih z »@umn.edu«, in sprožil njihov ponovni pregled. Težava je v tem, da člani z naslovi "@umn.edu" niso samo eksperimentirali s potiskanjem vprašljivih popravkov, ampak so tudi popravljali resnične ranljivosti, povrnitev sprememb pa bi lahko povzročila vrnitev predhodno popravljenih varnostnih težav. Nekateri vzdrževalci so že ponovno preverili razveljavljene spremembe in niso našli nobenih težav, vendar je eden od vzdrževalcev navedel, da ima eden od popravkov, ki so mu bili poslani, napake.

Vir: opennet.ru

Dodaj komentar