Google обнаружил брешь в безопасности на GitHub

Project Zero опубликовал подробности серьезного нарушения безопасности на GitHub и они сообщают, что ошибка влияет на команды рабочего процесса действий из GitHub и имеет высокую степень серьезности. (Эта ошибка была обнаружена в июле, но в рамках стандартного 90-дневного периода раскрытия информации подробности были опубликованы только сейчас.)

Этот недостаток стал одной из немногих уязвимостей, которые не были исправлены. должным образом до истечения стандартного 90-дневного срока, предоставленного Google Project Zero.

По словам Феликса Вильгельма (кто его обнаружил), член команды Project Zero, ошибка влияет на функцию действий GitHub, инструмента для автоматизации работы разработчиков. Это связано с тем, что команды рабочего процесса Actions "уязвимы для атак путем внедрения":

«Действия Github поддерживает функцию, называемую командами рабочего процесса, в качестве канала связи между брокером действий и выполняемым действием. Команды рабочего процесса реализованы в / src / Runner.Worker / ActionCommandManager.cs, и он работает, анализируя STDOUT всех действий, выполняемых путем поиска одного из двух маркеров команд.

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

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

Posteriormente, привел несколько примеров того, как можно использовать ошибку а также предложил решение:

«Я действительно не знаю, как лучше это исправить. Я считаю, что способ реализации команд рабочего процесса в корне небезопасен. Упразднение синтаксиса команды v1 и усилениеet-env списком разрешений, вероятно, сработают против прямых векторов RCE.

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

Более того, отметьте, что хорошее долгосрочное решение Команды рабочего процесса можно было бы переместить в отдельный канал (например, новый дескриптор файла), чтобы избежать синтаксического анализа с помощью STDOUT, но это приведет к поломке большого количества существующего кода действия.

Что касается GitHub, то его разработчики 1 октября опубликовали информационное сообщение и исключили уязвимые команды, но утверждали, что то, что обнаружил Вильгельм, на самом деле было «умеренной уязвимостью безопасности». GitHub присвоил идентификатор ошибки CVE-2020-15228:

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

«Чтобы помочь нам решить эту проблему и позволить вам динамически устанавливать переменные среды, мы представили новый набор файлов для обработки обновлений среды и пути в рабочих процессах.

«Если вы используете локальных брокеров, убедитесь, что они обновлены до версии 2.273.1 или выше.

По словам Вильгельма, 12 октября Project Zero связался с GitHub и заранее предложил им 14-дневный крайний срок, если GitHub захочет больше времени для отключения уязвимых команд. Конечно, предложение было принято, и GitHub надеялся отключить уязвимые команды после 19 октября. Затем Project Zero установил новую дату раскрытия информации на 2 ноября.

источник: https://bugs.chromium.org


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.