Лінус Торвальдс заблокував доступ Кеса Кука до ядра Linux
Лінус Торвальдс заблокував доступ Кеса Кука до kernel.org через підозрілі git-коміти
Лінус Торвальдс вимагав від адміністратора kernel.org негайно заблокувати обліковий запис Кеса Кука, колишнього головного системного адміністратора kernel.org та лідера Ubuntu Security Team, який супроводжує 14 підсистем ядра, пов’язаних з безпекою. Костянтин Рябцев, відповідальний за роботу інфраструктури kernel.org, виконав блокування. Причиною для цього став pull-запит на включення змін до гілки ядра Linux 6.16, що посилався на git-репозиторій, де була змінена інформація про авторство деяких комітів.
Виявлення підозрілих комітів у репозиторії
У підтримуваному Кесом git-репозиторії https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/ були виявлені фіктивні зміни, де в полі автора та комітера було вказано “Linus Torvalds”, хоча насправді Лінус їх не додавав. Наприклад, під іменем Лінуса в гілці Кеса був коміт, який повторював інший коміт у гілці Лінуса, але з іншим хешем SHA1. Обидва коміти виглядали однаково, за винятком інформації про підпис.
Ці зміни не були схожі на випадкову помилку під час виконання операції “git rebase”, оскільки містили неправильну інформацію про автора коміту. Лінус Торвальдс розцінив це як сліди потенційно шкідливої активності і ініціював блокування прийому будь-яких змін від Кеса до з’ясування причин таких маніпуляцій.
Пояснення від Кеса Кука
У відповідь Кес заявив, що не розуміє, як це могло статися. Раніше він стикався з проблемами при спробі об’єднання кількох своїх git-гілок, після чого намагався вирішити їх операцією “git rebase”, але схоже це не допомогло. Усе це відбувалося на фоні збою SSD-накопичувача, який видавав помилки під час копіювання.
Кес вважав, що після збою йому вдалося відновити стан своїх репозиторіїв, проте, як виявилося, це було не так. Для відновлення цілісності Кес має намір пересоздати свої гілки з окремих патчів. Як найбільш імовірну причину підміни автора Кес назвав невдалу спробу відновлення репозиторію після його пошкодження.
Недовіра з боку Лінуса Торвальдса
Однак Лінуса не задовольнило таке пояснення, оскільки, на його думку, зміни історії комітів у репозиторії Кеса дуже схожі на навмисні дії, а не на випадковий збій. Перебазування історії змін операцією “git rebase” могло б пояснити переписування комітера, але Лінус не розуміє, як подібна операція могла бути здійснена помилково.
Переписування одного або двох комітів ще можна було списати на помилку, але в репозиторії Кеса були переписані понад шість тисяч merge-комітів. В 330 з них автором був вказаний Лінус, при тому, що ці коміти не були отримані з git-дерева Лінуса. Внесені зміни більше нагадують роботу скрипта, ніж результат пошкодження інформації на накопичувачі.
Подальші пояснення та спроби вирішення проблеми
Кес запевнив Лінуса, що не робив цього навмисно і не став би проводити подібні експерименти без попередження. Цього тижня він виконував кілька ручних операцій з репозиторієм ядра Linux і тепер намагатиметься розібратися, що пішло не так, та відтворити проблему.
Зокрема, Кес виконував операцію rebase для git-дерев for-next/hardening та for-linus/hardening, використовуючи, на відміну від минулих подібних перетворень, гілку “master”, а не rc2. Під час цієї операції він вносив зміни в скрипти для перевірки push-запитів.
Ситуація залишається невирішеною, а підозрілі зміни в git-репозиторії продовжують викликати занепокоєння щодо можливого компрометування системи безпеки ядра Linux. Офіційна інформація про цей інцидент доступна на сайті kernel.org.