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

Разбор ситуации показал, что GitHub в целях оптимизации хранения и минимизации дублирования данных хранит вместе все объекты из основного репозитория и связанных с ним форков, логически разделяя принадлежность коммитов. Подобное хранение позволяет просмотреть в любом из связанных репозиторие любой коммит из любого форка, явно указав его хэш в URL.

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

Более того, в интерфейсе GitHub при просмотре списка изменений для отдельных файлов в основном репозитории показываются и сторонние коммиты, что создаёт большую путаницу. При извлечении данных или клонировании репозитория при помощи команд git сторонние изменения в получаемый репозиторий не попадают.

Особенность отображения проектов на GitHub создала видимость внедрения бэкдора в ядро Linux

Источник

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here