Особенность отображения проектов на GitHub создала видимость внедрения бэкдора в ядро Linux
В интерфейсе GitHub выявлена интересная особенность, позволяющая представить любое стороннее изменение как изменение, уже включенное в основной проект. Например, сегодня в социальных сетях стала распространяться ссылка на изменение в официальном зеркале основного репозитория ядра Linux, свидетельствующее о подстановке бэкдора в драйвер hid-samsung.
Разбор ситуации показал, что GitHub в целях оптимизации хранения и минимизации дублирования данных, хранит основной репозиторий и все связанные с ним форки вместе, логически разделяя коммиты. Подобное хранение позволяет просмотреть в любом из связанных репозиторие любой коммит, явно указав его хэш в URL.
Например, в случае с демонстрацией бэкдора, один из пользователей создал в интерфейсе GitHub форк основного репозитория ядра Linux, далее добавил в свой форк коммит с кодом, похожим на бэкдор. После чего он сформировал ссылку, в которой SHA1-идентификатор внешего изменения был подставлен в URL основного репозитория. При открытии подобной ссылки посторонний коммит показывается в интерфейсе GitHub в контексте основного репозитория, несмотря на то, что совершен в форке и не имеет к основному репозиторию никакого отношения и в нем подобный коммит отсутствует. Более того, в основном репозитории в списке изменений для отдельных файлов показываются и сторонние коммиты, что создает большую путаницу.