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