A University of Minnesota felfüggesztette a Linux kernel fejlesztését, mert megkérdőjelezhető javításokat küldtek

Greg Kroah-Hartman, a Linux kernel stabil ágának fenntartásáért felelős, úgy döntött, hogy megtiltja a University of Minnesota által a Linux kernelben érkező változtatások elfogadását, valamint visszaállítja az összes korábban elfogadott javítást és felülvizsgálja azokat. A blokkolás oka egy kutatócsoport tevékenysége volt, amely a nyílt forráskódú projektek kódjába rejtett sérülékenységek beillesztésének lehetőségét vizsgálta. Ez a csoport különféle típusú hibákat tartalmazó javításokat nyújtott be, megfigyelte a közösség reakcióit, és megvizsgálta, hogyan lehet csalni a felülvizsgálati folyamatot a változtatások után. Greg szerint az ilyen kísérletek rosszindulatú változtatások bevezetése elfogadhatatlan és etikátlan.

A blokkolás oka az volt, hogy a csoport tagjai egy patch-et küldtek, amely egy pointer-ellenőrzést adott hozzá, hogy kiküszöbölje az „ingyenes” funkció esetleges dupla hívását. Tekintettel a mutató használatának kontextusára, az ellenőrzés értelmetlen volt. A javítás beküldésének célja az volt, hogy megnézzük, hogy a hibás változtatás átmegy-e a kernel fejlesztői általi ellenőrzésen. Ezen a javításon kívül a Minnesotai Egyetem fejlesztőinek más próbálkozásai is napvilágra kerültek a kernel kétes módosítására, beleértve azokat is, amelyek rejtett sebezhetőségekkel kapcsolatosak.

A foltokat küldő résztvevő azzal próbálta igazolni magát, hogy új statikus analizátort tesztel, és az abban végzett tesztelés eredményei alapján készült a változtatás. Greg azonban felhívta a figyelmet arra, hogy a javasolt javítások nem jellemzőek a statikus analizátorok által észlelt hibákra, és az elküldött javítások egyáltalán nem javítanak semmit. Tekintettel arra, hogy a szóban forgó kutatócsoport korábban is próbált javítani a rejtett sebezhetőségekre, egyértelmű, hogy folytatták kísérleteiket a kernelfejlesztő közösséggel.

Érdekes módon a kísérleteket végző csoport vezetője korábban a sebezhetőségek jogszerű javításában vett részt, például az USB veremben (CVE-2016-4482) és a hálózati alrendszerben (CVE-2016-4485) lévő információszivárgások azonosításában. . A lopakodó sebezhetőség terjedésével foglalkozó tanulmányban a Minnesotai Egyetem csapata a CVE-2019-12819 példáját idézi, amely egy 2014-ben kiadott kerneljavítás által okozott sebezhetőség. A javítás hozzáadta a put_device hívást az mdio_bus hibakezelő blokkjához, de öt évvel később kiderült, hogy az ilyen manipuláció a memóriablokkhoz való hozzáféréshez vezet annak felszabadítása után („use-after-free”).

A tanulmány készítői ugyanakkor azt állítják, hogy munkájukban 138 olyan folt adatait összegezték, amelyek hibákat okoztak, és nem voltak kapcsolatban a vizsgálatban résztvevőkkel. A saját javítások hibás elküldésére tett kísérletek az e-mailes levelezésre korlátozódtak, és az ilyen változtatások nem kerültek be a Gitbe (ha a javítás e-mailben történő elküldése után a karbantartó normálisnak ítélte a javítást, akkor megkérték, hogy ne tartalmazza a változtatást, mivel ott hiba volt, ami után elküldték a megfelelő javítást).

1. kiegészítés: A kritizált javítás szerzőjének tevékenységéből ítélve már régóta küld javításokat különböző kernel alrendszerekre. Például a radeon és a nouveau illesztőprogramok a közelmúltban változásokat fogadtak el a pm_runtime_put_autosuspend(dev->dev) parancs meghívásával egy hibablokkban, ami valószínűleg a puffer használatát okozhatja a hozzá tartozó memória felszabadítása után.

2. kiegészítés: Greg visszavonta az "@umn.edu"-hoz kapcsolódó 190 véglegesítést, és kezdeményezte azok újbóli felülvizsgálatát. A probléma az, hogy az "@umn.edu" címmel rendelkező tagok nem csak a megkérdőjelezhető javítások kinyomtatásával kísérleteztek, hanem valódi sebezhetőségeket is javítottak, és a változtatások visszagörgetése a korábban javított biztonsági problémák visszatérését eredményezheti. Egyes karbantartók már újra ellenőrizték a visszaállított változtatásokat, és nem találtak problémát, de az egyik karbantartó jelezte, hogy a neki küldött javítások egyikében hibák vannak.

Forrás: opennet.ru

Hozzászólás