Linus Torvalds megkövetelte a kernel.org adminisztrátorától, hogy azonnal blokkolja Kesa Cook fiókját, a kernel.org volt fő rendszergazdáját és az Ubuntu Security Team vezetőjét, aki 14 biztonsági alrendszert kezel a kernelben. Konstantin Ryabtsev, a kernel.org infrastruktúráért felelős személy, végrehajtotta a blokkolást. A blokkolás oka egy pull kérés volt, amely a 6.16-os kernel ágba való beillesztésre vonatkozott, és egy git-tárhelyre hivatkozott, ahol néhány kötelezettségvállalás szerzői információi megváltoztak.
A Kesa által kezelt git-tárhelyen hamis változtatások voltak, ahol a szerző és a kötelező mezőben "Linus Torvalds" volt megadva, de Linus ezeket nem adta hozzá. Például Kesa ágában egy kötelező rekord volt, amely megegyezett Linus egy másik, de eltérő SHA1 hash-el rendelkező kötelezményével. Mindkét kötelezettségvállalás azonosnak tűnt, a hozzáférési információ kivételével.
A változtatások nem tűntek véletlen hibának a "git rebase" művelet végrehajtása során, mivel hibás információt tartalmaztak a kötelezvény szerzőjéről. Linus Torvalds ezt potenciálisan káros tevékenység nyomaira hivatkozta, és blokkolta Kesa bármilyen változtatásának elfogadását, amíg meg nem állapítják az ilyen manipulációk okait és megerősítést nem nyer, hogy Kesa rendszere nem volt megkompromittálva.
Kes azt válaszolta, hogy nem érti, hogyan történt ez. Korábban problémái voltak, amikor megpróbálta egyesíteni a git-ágait, majd megpróbálta megoldani ezeket a "git rebase" művelettel, de úgy tűnik, ez nem segített. Mindez egy SSD meghibásodásának hátterében zajlott, amely hibákat adott a másolás során. Kes azt hitte, hogy a meghibásodás után sikerült helyreállítania a tárhelyeinek állapotát, de a jelek szerint nem így volt. Az integritás helyreállítása érdekében Kes szándékában áll újra létrehozni az ágainak egyes javításait. A szerzői információk megváltozásának legvalószínűbb okának Kes egy sikertelen próbálkozást tekinti a tárhely helyreállítására a sérülés után.
Linus nem volt megelégedve a magyarázattal, mivel véleménye szerint a Kesa tárolójában lévő commit-történet módosításai nagyon hasonlítanak a szándékos cselekedetekre, nem véletlen hibákra. Az commit-ok átformálása „git rebase” segítségével magyarázatot adhatott volna a commit szerzőjének felülírására, de Linus nem érti, hogyan történhetett meg egy ilyen „git rebase” művelet véletlenül.
Egy vagy két commit felülírását még el lehetett volna könyvelni hibaként, de a Kesa tárolójában több mint hatezer merge commit lett felülírva, melyek közül 330-nál a szerző Linus volt, miközben ezek a commitok nem voltak Linus git-fájltartalmából. A végrehajtott módosítások inkább egy szkript működésére emlékeztetnek, mintsem adatok tárolón való megsérülésének eredményére, mivel minden commit külön újrateremtését igényli.
Kes megnyugtatta Linust, hogy ezt nem szándékosan tette, és nem végezne ilyen kísérleteket figyelmeztetés nélkül (például a commit ütközések hívására irányuló korábbi kísérletet Linussal egyeztette). Ezen a héten több manuális műveletet végzett a tárolóval, és most megpróbálja kideríteni, mi ment rosszul, és reprodukálni a problémát. Például Kes rebase műveletet végzett a for-next/hardening és for-linus/hardening git-fájlokon, eltérően a korábbi ilyen átalakításoktól, a „master” ágat használva, nem az rc2-t. E művelet során módosította a push-ellenőrzéshez szükséges szkripteket.
Kiegészítés: Kes Cook közzétett egy újabb üzenetet, amelyben kijelentette, hogy valószínűleg a commit-történetek felülírására szolgáló „git-filter-repo” segédprogram használatából fakadóan alakult ki a probléma, kombinálva a trailer-ek (például „Signed-off-by:”) kinyerésére és alkalmazására szolgáló „b4 trailers” parancs használatával.
Forrás: opennet.ru
