Greg Kroah-Hartman, der har ansvaret for at støtte den stabile gren af Linux-kernen, har besluttet at forbyde accept af ændringer fra Universitetet i Minnesota i Linux-kernen og at rulle alle tidligere accepterede patches tilbage for at revidere dem. Årsagen til blokeringen var aktiviteterne fra en forskningsgruppe, der undersøgte muligheden for at fremme skjulte sårbarheder i koden for åbne projekter. Den nævnte gruppe sendte patches, der indeholdt forskellige former for fejl, observerede samfundets reaktion og studerede måder at narre revisionsprocessen af ændringer på. Ifølge Greg er det uacceptabelt og uetisk at gennemføre sådanne eksperimenter med at implementere skadelige ændringer.
Årsagen til blokeringen var, at medlemmerne af denne gruppe sendte en patch, der tilføjede en kontrol af pointeren for at undgå muligheden for dobbeltopkald af funktionen "free". I betragtning af konteksten, hvor pointeren blev brugt, var kontrollen meningsløs. Målet med at sende patchen var at undersøge, om den fejlagtige ændring ville bestå revisionsprocessen hos kernens udviklere. Udover den nævnte patch dukkede der også op andre forsøg fra udviklerne ved Universitetet i Minnesota på at indføre tvivlsomme ændringer i kernen, herunder relateret til tilføjelse af skjulte sårbarheder.
Den der sendte patches forsøgte at retfærdiggøre sig med, at han afprøvede en ny statisk analyserer, og ændringen var baseret på resultaterne fra denne analyse. Men Greg påpegede, at de foreslåede rettelser ikke er karakteristiske for fejl, der opdages af statiske analyseværktøjer, og alle de indsendte patches retter slet ikke noget. I betragtning af at den undersøgte gruppe forskere tidligere har forsøgt at fremme rettelser med skjulte sårbarheder, er det åbenlyst, at de fortsatte deres eksperimenter på kerneudviklernes samfund.
Interessant er det, at lederen af den eksperimenterende gruppe tidligere deltog i legitim reparation af sårbarheder, for eksempel identificerede han lækager af oplysninger i USB-stakken (CVE-2016-4482) og netværkssubsystemet (CVE-2016-4485). I forskningen omkring skjult promovering af sårbarheder nævner gruppen fra University of Minnesota eksemplet på sårbarheden CVE-2019-12819, som blev forårsaget af en rettelse, der blev accepteret i kernen i 2014. Rettelsen tilføjede et kald til put_device i fejlhåndteringsblokken i mdio_bus, men fem år senere dukkede det op, at en sådan manipulation førte til adgang til hukommelsesblok efter frigivelse af denne blok ("use-after-free").
Forfatterne af forskningen hævder, at de i deres arbejde har generaliseret data om 138 patches, der indeholder fejl, og som ikke er relateret til deltagerne i undersøgelsen. Forsøg på at sende egne patches med fejl var begrænset til email-korrespondance, og sådanne ændringer kom ikke ind i Git (hvis mailen tilknyttede en patch, som maintaineren anså for normal, blev han bedt om ikke at inkludere ændringen, da der var en fejl, hvorefter den korrekte patch blev sendt).
Tillæg 1: Dømmer man efter aktiviteten hos forfatteren af den kritiserede rettelse, har han længe sendt patches til forskellige subsystems i kernen. For eksempel blev ændringer med kaldet pm_runtime_put_autosuspend(dev->dev) i fejlhåndteringsblokken for nylig accepteret i driverne radeon og nouveau; det er muligt, at dette kan føre til brug af en buffer efter frigivelsen af den tilknyttede hukommelse.
Tillæg 2: Greg har tilbagerullet 190 commits relateret til adresserne "@umn.edu" og har iværksat en gentagen gennemgang af dem. Problemet er, at deltagere med adresser "@umn.edu" ikke kun eksperimenterede med promovering af tvivlsomme patches, men også udbedrede reelle sårbarheder, og tilbagerulning af ændringerne kan føre til, at tidligere rettede sikkerhedsproblemer vender tilbage. Nogle maintainere har allerede efterset de annullerede ændringer og fundet ingen problemer, men en af maintainerne påpegede, at der var fejl i en af de patches, der blev sendt til ham.
Kilde: opennet.ru
