Исследователи Google выявили критическую уязвимость GitHub

24 ноября 2020 г. 10:20
 7402

GitHub исправил высокорисковую уязвимость безопасности, о которой более трех месяцев назад сообщили исследователи кибербезопасности Google Project Zero

GitHub наконец, исправил высокорисковую уязвимость безопасности, о которой более трех месяцев назад сообщила команда исследователей кибербезопасности Google Project Zero.

Ошибка влияла на функцию «Actions» в GitHub - инструменте автоматизации рабочего процесса для разработчиков. Исследователь Google Project Zero Феликс Вильгельм сообщил, что данная функция GitHub «крайне уязвима к атакам инъекцией». GitHub's Actions поддерживает workflow-команды в качестве канала связи между раннером и выполненным действием. 

Хотя компания Google охарактеризовала ошибку высоко-критичной, GitHub утверждал, что это была «умеренная уязвимость безопасности».

Google Project Zero обычно раскрывает любые найденные недостатки через 90 дней после их обнаружения, а к 2 ноября GitHub превысил и добавленное время на выпуск патча от Google в 14 дней, не исправив дефект.

За день до продления срока раскрытия информации GitHub сообщил Google, что не будет отключать уязвимые команды до 2 ноября, а затем запросил дополнительные 48 часов. Не для того, чтобы исправить проблему, а для того, чтобы уведомить клиентов и определить "жесткую дату" где-то в будущем. Затем команда Google опубликовала подробности об ошибке через 104 дня после того, как сообщила об этой проблеме в GitHub.

GitHub наконец-то решил проблему на прошлой неделе, отключив старые команды раннера "set-env" и "add-path", как и предложил Феликс Вильгельм.

Исправление было выпущено 16 ноября, через две недели после того как была опубликована информация по уязвимости.

Как отмечено в отчёте об ошибке, предыдущая версия команды раннера Github "set-env" была интересна с точки зрения безопасности, так как она могла быть использована для определения произвольных переменных окружения в рамках шага рабочего процесса.

«Проблема с этой функцией заключается в том, что она очень уязвима для инъекционных атак. По мере того, как раннер разбирает каждую строку в STDOUT в поисках команд рабочего процесса, каждое действие Github, которое печатает недоверенный контент в процессе выполнения, является уязвимым», - сообщил Феликс Вильгельм.

«В большинстве случаев возможность установки произвольных переменных окружения приводит к удаленному выполнению кода, как только выполняется другой рабочий процесс».

Теперь, когда GitHub отключил две уязвимые команды, автор также обновил свой отчёт по уязвимости и подтвердил, что проблема исправлена.
 

Перевод сделан со статьи: https://www.zdnet.com