University of Minnesota avstängd från Linux-kärnutveckling för att skicka tvivelaktiga patchar

Greg Kroah-Hartman, ansvarig för att upprätthålla den stabila grenen av Linux-kärnan, beslutade att förbjuda acceptans av alla ändringar som kommer från University of Minnesota till Linux-kärnan, och även att återställa alla tidigare accepterade patchar och ompröva dem. Anledningen till blockeringen var aktiviteterna i en forskargrupp som studerade möjligheten att främja dolda sårbarheter i koden för projekt med öppen källkod. Den här gruppen skickade in patchar som innehöll olika typer av buggar, observerade communityns reaktion och studerade sätt att lura granskningsprocessen för ändringar. Enligt Greg är det oacceptabelt och oetiskt att genomföra sådana experiment för att införa skadliga förändringar.

Anledningen till blockeringen var att medlemmarna i den här gruppen skickade en patch som lade till en pekarkontroll för att eliminera det möjliga dubbelanropet av "gratis"-funktionen. Med tanke på sammanhanget för pekarens användning var kontrollen meningslös. Syftet med att skicka in patchen var att se om den felaktiga ändringen skulle klara granskning av kärnutvecklarna. Utöver den här patchen har andra försök från utvecklare från University of Minnesota dykt upp för att göra tvivelaktiga ändringar i kärnan, inklusive de som är relaterade till tillägg av dolda sårbarheter.

Deltagaren som skickade plåstren försökte motivera sig själv med att han testade en ny statisk analysator och förändringen förbereddes utifrån resultaten av testerna i den. Men Greg uppmärksammade det faktum att de föreslagna korrigeringarna inte är typiska för fel som upptäcks av statiska analysatorer, och alla skickade patchar fixar inte någonting alls. Med tanke på att forskargruppen i fråga tidigare har försökt skjuta upp patchar för dolda sårbarheter, är det tydligt att de har fortsatt sina experiment med kärnutvecklingsgemenskapen.

Intressant nog, tidigare var ledaren för gruppen som genomförde experimenten involverad i legitim patchning av sårbarheter, till exempel att identifiera informationsläckor i USB-stacken (CVE-2016-4482) och nätverksundersystemet (CVE-2016-4485) . I en studie om spridning av stealth-sårbarhet citerar ett team från University of Minnesota exemplet CVE-2019-12819, en sårbarhet som orsakas av en kärnpatch som släpptes 2014. Fixeringen lade till ett anrop till put_device till felhanteringsblocket i mdio_bus, men fem år senare visade det sig att sådan manipulation leder till åtkomst till minnesblocket efter att det frigjorts ("use-after-free").

Samtidigt hävdar författarna till studien att de i sitt arbete sammanfattade data på 138 patchar som introducerade fel och som inte var relaterade till studiedeltagarna. Försök att skicka sina egna patchar med fel var begränsade till e-postkorrespondens, och sådana ändringar kom inte in i Git (om underhållaren ansåg att patchen var normal efter att ha skickat patchen via e-post, då ombads han att inte inkludera förändringen eftersom det var ett fel, varefter de skickade rätt patch).

Tillägg 1: Att döma av aktiviteten hos författaren till den kritiserade patchen har han skickat patchar till olika kärnundersystem under lång tid. Till exempel antog drivrutinerna för radeon och nouveau nyligen ändringar med ett anrop till pm_runtime_put_autosuspend(dev->dev) i ett felblock, vilket möjligen orsakade att bufferten används efter att minnet som är associerat med den frigjorts.

Tillägg 2: Greg har rullat tillbaka 190 commits associerade med "@umn.edu" och påbörjat en ny granskning av dem. Problemet är att medlemmar med "@umn.edu"-adresser inte bara har experimenterat med att driva tvivelaktiga patchar, utan också har patchat verkliga sårbarheter, och att återställa ändringar kan resultera i att tidigare patchade säkerhetsproblem återkommer. Vissa underhållare har redan kontrollerat de återställda ändringarna och hittat inga problem, men en av underhållarna angav att en av patcharna som skickades till honom hade fel.

Källa: opennet.ru

Lägg en kommentar