Incidenten med ersÀttningen av commits i Linux-kÀrnans gren av Kesa Cook

Linus Torvalds krÀvde att administratören för kernel.org omedelbart skulle blockera kontot för Kesa Cook, den tidigare huvudsystemadministratören för kernel.org och ledaren för Ubuntu Security Team, som ansvarade för 14 sÀkerhetsrelaterade delsystem i kÀrnan. Konstantin Ryabtsev, som ansvarade för infrastrukturen pÄ kernel.org, genomförde blockeringen. Anledningen till blockeringen var en pull-begÀran om att inkludera Àndringar i kÀrnans gren 6.16, som hÀnvisade till ett git-förrÄd dÀr informationen om författarskap för vissa commit hade förÀndrats.

I det git-förrÄd som Kesa stödde fanns det falska Àndringar, dÀr författar- och committerfÀltet angav 'Linus Torvalds', men Linus hade inte lagt till dem. Till exempel fanns det en commit under Linus namn i Kesa gren som upprepade en annan commit i Linus gren, men med en annan SHA1-hash. BÄda commits sÄg lika ut, förutom informationen om signaturen.

Ändringarna verkade inte vara ett slumpmĂ€ssigt misstag vid utförandet av kommandot 'git rebase', eftersom de innehöll felaktig information om commit-författaren. Linus Torvalds ansĂ„g detta vara tecken pĂ„ potentiellt skadlig aktivitet och initierade blockeringen av alla Ă€ndringar frĂ„n Kesa tills orsaken till sĂ„dana manipulationer kunde klarlĂ€ggas och att det bekrĂ€ftades att Kessas system inte hade blivit komprometterat.

Kesa svarade att han inte förstod hur detta kunde ha hÀnt. Tidigare hade han haft problem med att försöka slÄ samman flera av sina git-grenar, och efter det hade han försökt lösa dem med kommandot 'git rebase', men det hjÀlpte tydligen inte. Allt detta skedde mot bakgrund av ett SSD-fel, som gav fel nÀr det kopierade data. Kesa trodde att han efter felet hade lyckats ÄterstÀlla tillstÄndet pÄ sina förrÄd, men tydligen var detta inte fallet. För att ÄterstÀlla integriteten planerar Kesa att Äterskapa sina grenar frÄn separata patches. Som den mest sannolika orsaken till den uppkomna författarÀndringen anser Kesa att det handlade om ett misslyckat försök att ÄterstÀlla förrÄdet efter att det hade skadats.

Linus var inte nöjd med denna förklaring, eftersom han ansÄg att förÀndringarna i commit-historiken i Kess repository liknar avsiktliga handlingar snarare Àn ett slumpmÀssigt fel. Omstrukturering av Àndringshistoriken med hjÀlp av "git rebase" kunde ha förklarat commit-överskrivningen, men Linus kan inte förstÄ hur en sÄdan "git rebase"-ÄtgÀrd kunde ha utförts av misstag.

Att överskriva en eller tvÄ commits kunde fortfarande avskrivas som ett misstag, men i Kess repository hade mer Àn sex tusen merge-commits skrivits om, varav 330 hade Linus som författare, trots att dessa commits inte hade erhÄllits frÄn Linus git-trÀd. De gjorda Àndringarna pÄminner mer om ett skriptarbete Àn om ett resultat av skadad information pÄ lagringsenheten, eftersom de krÀver en separat Äterskapning av varje commit.

Kes försÀkrade Linus om att han inte gjorde detta avsiktligt och skulle inte ha genomfört sÄdana experiment utan förvarning (till exempel, det tidigare experimentet med att Ästadkomma commit-kollisioner var överenskommet med Linus). Denna vecka utförde han flera manuella operationer med repositoryt och kommer nu att försöka förstÄ vad som gick fel och Äterskapa problemet. Till exempel utförde Kes en rebase-operation för git-trÀden for-next/hardening och for-linus/hardening, dÀr han, till skillnad frÄn tidigare liknande transformationer, anvÀnde "master"-grenen istÀllet för rc2. Under denna operation gjorde han Àndringar i skripten för att kontrollera push-begÀrningar.

TillÀgg: Kes Cook publicerade ett ytterligare meddelande dÀr han uppgav att problemet troligtvis uppstod pÄ grund av anvÀndning av verktyget "git-filter-repo", som utför överskrivning av commit-historik i repositoryt, i kombination med kommandot "b4 trailers", som Àr avsett för att hÀmta och tillÀmpa trailers pÄ commits (till exempel "Signed-off-by:").

KĂ€lla: opennet.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster