Greg Kroah-Hartman, administratorul ramurii stabile de kernel Linux, a decis să interzică admiterea în nucleu Linux Orice modificări venite de la Universitatea din Minnesota, precum și anularea tuturor patch-urilor acceptate anterior și revizuirea lor. Blocarea a fost cauzată de activitățile unui grup de cercetare care studiază posibilitatea introducerii vulnerabilităților ascunse în codul proiectelor open-source. Acest grup a trimis patch-uri care conțineau diverse erori, a monitorizat reacția comunității și a explorat modalități de a ocoli procesul de revizuire. În opinia lui Greg, efectuarea unor astfel de experimente pentru a introduce modificări rău intenționate este inacceptabilă și lipsită de etică.
Motivul blocării a fost că membrii acestui grup au trimis un patch care a adăugat o verificare a indicatorului pentru a elimina posibilul apel dublu al funcției „gratuit”. Având în vedere contextul utilizării indicatorului, verificarea a fost inutilă. Scopul trimiterii patch-ului a fost acela de a vedea dacă modificarea eronată va trece revizuirea de către dezvoltatorii kernelului. Pe lângă acest patch, au apărut și alte încercări ale dezvoltatorilor de la Universitatea din Minnesota de a face modificări dubioase ale nucleului, inclusiv cele legate de adăugarea unor vulnerabilități ascunse.
Participantul care a trimis patch-urile a încercat să se justifice spunând că testează un nou analizor static și schimbarea a fost pregătită pe baza rezultatelor testării din acesta. Dar Greg a atras atenția asupra faptului că corecțiile propuse nu sunt tipice pentru erorile detectate de analizoarele statice, iar toate patch-urile trimise nu remediază absolut nimic. Având în vedere că grupul de cercetare în cauză a încercat deja să împingă patch-uri pentru vulnerabilități ascunse în trecut, este evident că și-au continuat experimentele cu comunitatea de dezvoltare a nucleului.
Interesant este că, în trecut, liderul grupului care a efectuat experimentele a fost implicat în corecțiile legitime ale vulnerabilităților, de exemplu, identificarea scurgerilor de informații în stiva USB (CVE-2016-4482) și subsistemul de rețea (CVE-2016-4485). . Într-un studiu privind propagarea vulnerabilității stealth, o echipă de la Universitatea din Minnesota citează exemplul CVE-2019-12819, o vulnerabilitate cauzată de un patch al nucleului lansat în 2014. Remedierea a adăugat un apel la put_device la blocul de gestionare a erorilor din mdio_bus, dar cinci ani mai târziu a apărut că o astfel de manipulare duce la accesul la blocul de memorie după ce acesta este eliberat („use-after-free”).
În același timp, autorii studiului susțin că în munca lor au rezumat date privind 138 de patch-uri care au introdus erori și nu au avut legătură cu participanții la studiu. Încercările de a-și trimite propriile corecții cu erori s-au limitat la corespondența prin e-mail, iar astfel de modificări nu au intrat în Git (dacă, după trimiterea patch-ului prin e-mail, întreținătorul considera patch-ul normal, atunci i s-a cerut să nu includă modificarea, deoarece acolo a fost o eroare, după care au trimis patch-ul corect).
Adăugarea 1: Judecând după activitatea autorului patch-ului criticat, acesta trimite de multă vreme patch-uri către diferite subsisteme kernel. De exemplu, driverele radeon și nouveau au adoptat recent modificări cu un apel la pm_runtime_put_autosuspend(dev->dev) într-un bloc de eroare, posibil cauzând ca tamponul să fie folosit după eliberarea memoriei asociate cu acesta.
Anexa 2: Greg a anulat 190 de comite asociate cu „@umn.edu” și a inițiat o reexaminare a acestora. Problema este că membrii cu adrese „@umn.edu” nu au experimentat doar împingerea de corecții îndoielnice, ci și-au corectat vulnerabilități reale, iar anularea modificărilor ar putea duce la revenirea problemelor de securitate corectate anterior. Unii întreținători au verificat deja modificările anulate și nu au găsit probleme, dar unul dintre menținători a indicat că unul dintre patch-urile trimise lui a avut erori.
Sursa: opennet.ru
