Недавно обнаруженная и пока не устраненная критическая уязвимость в сервисе Git с открытым исходным кодом Gogs требует от разработчиков немедленных действий по обеспечению безопасности своего кода, а также высвечивает потенциальные проблемы использования самостоятельно размещаемых платформ для кода от небольших сопровождающих.
Эта брешь представляет собой критическую уязвимость внедрения аргументов, обнаруженную исследователем из Rapid7. Она позволяет любому аутентифицированному пользователю удаленно выполнить код на сервере Gogs, создав pull request с вредоносным именем ветки во время операции слияния.
Сегодня Rapid7 опубликовала анализ уязвимости после того, как сопровождающий Gogs не ответил на запрос о статусе обновлений или на предложение отложить раскрытие информации, хотя об этой проблеме было сообщено более двух месяцев назад.
«Это серьезная уязвимость в программном обеспечении, которое обычно не подвергается воздействию публичного интернета», — заявил в электронном письме Райан Эммонс, штатный исследователь безопасности в Rapid7.
«Gogs обычно используется во внутренних целях; наиболее вероятная модель угроз — это злоумышленник, который уже получил доступ к внутренней сетевой среде и использует уязвимость для получения прав на чтение/запись репозиториев исходного кода на сервере Gogs. Злоумышленник может использовать этот доступ для скрытого изменения исходного кода и эксфильтрации конфиденциальной информации, такой как хеши паролей пользователей и проприетарное ПО».
Требуются быстрые защитные меры
Дэвид Шипли, руководитель поставщика решений по осведомленности о безопасности Beauceron Security, заявил, что и сопровождающий Gogs, и разработчики должны быстро принять защитные меры, поскольку с публикацией уязвимости «любые злоумышленники, которые о ней не знали, немедленно и яростно возьмутся за нее».
Тот факт, что по состоянию на четверг днем она оставалась без исправлений в течение нескольких месяцев, является еще одной причиной, по которой CISO и разработчики предпочитают GitHub, добавил он. В случае любого проекта с открытым исходным кодом всегда есть опасения по поводу того, будет ли выпущен патч и когда именно.
«Эксплойт не требует прав администратора и взаимодействия с другими пользователями», — говорится в отчете Rapid7. «Злоумышленник действует полностью в рамках своей учетной записи. Поскольку Gogs поставляется с включенной по умолчанию открытой регистрацией (DISABLE_REGISTRATION = false) и без ограничений на создание репозиториев (MAX_CREATION_LIMIT = -1), неаутентифицированный злоумышленник может просто создать учетную запись и репозиторий на любом экземпляре с настройками по умолчанию. Любой зарегистрированный пользователь, создающий репозиторий, автоматически становится его владельцем. Оттуда включение слияния с помощью rebase — это один переключатель в настройках, и вся цепочка эксплойта может быть реализована без взаимодействия с каким-либо другим пользователем».
Кроме того, любой пользователь с правами на запись в репозиторий, где rebase уже включен, может использовать ее напрямую. В экземплярах, где создание репозиториев ограничено, злоумышленнику по-прежнему необходим доступ на запись к любому репозиторию, в котором включено (или может быть включено) слияние с помощью rebase.
В случае эксплуатации уязвимость может привести не только к компрометации сервера Gogs, но и к утечке данных между арендаторами, краже учетных данных, латеральному перемещению по ИТ-сети и атакам на цепочку поставок программного обеспечения через код, разрабатываемый на скомпрометированной платформе Gogs.
Пока патч не выпущен, разработчикам и CISO в организациях, использующих эту платформу, следует строго ограничить сетевой доступ к Gogs, сказал Эммонс, и убедиться, что приложением могут пользоваться только те, кому это необходимо. Кроме того, если саморегистрация пользователей еще не отключена, ее следует отключить. Создавать новые учетные записи пользователей должны только администраторы.
Rapid7 описывает Gogs как легковесный, самостоятельно размещаемый сервис Git, написанный на Go, который может работать на любой платформе, поддерживаемой инструментарием Go, включая Linux, macOS и Windows, а также на системах на базе ARM. По словам Rapid7, это одна из самых популярных альтернатив GitHub, принадлежащему Microsoft, с самостоятельным размещением, и ее часто используют компании, университеты и проекты с открытым исходным кодом.
К другим самостоятельно размещаемым Git-сервисам для разработчиков относятся GitLab Community Edition, Gitea, Forgejo (форк Gitea) и Bitbucket Data Center от Atlassian.
Плюсы и минусы Gogs
В блоге ранее в этом месяце Open Source Alternatives, которая позиционирует себя как курируемый каталог самостоятельно размещаемых инструментов, заменяющих платное ПО, отметила, что разработчики могут выбрать самостоятельное размещение Git-сервера, чтобы избежать простоев GitHub, утверждая: «ваши репозитории остаются в сети, когда GitHub выходит из строя, ваш счет за минуты GitHub Actions исчезает, а ваш исходный код никогда не покидает ваш собственный сервер».
Эммонс сказал, что Gogs популярен, потому что это легковесное и автономное решение Git. Его легко развернуть и запустить, сказал он, в отличие от многих других Git-серверов, которые требуют больших операционных накладных расходов и ИТ-управления. Это также локальное ПО с самостоятельным размещением, что, по его словам, идеально подходит для команд, которые не хранят или по какой-либо причине не могут хранить исходный код в облаке.
Главный плюс, по словам Эммонса, заключается в том, что Gogs — привлекательное решение с точки зрения операционной простоты. Он хорошо справляется со своими задачами и не требует больших усилий по управлению для поддержания его работоспособности. Но, добавил он, «главный минус — это то, что мы увидели при этом раскрытии; Gogs — это программное обеспечение с открытым исходным кодом, поддерживаемое хорошими людьми в их свободное время, и у разработчиков нет поддержки крупной корпоративной команды информационной безопасности. Это означает, что проблемы безопасности иногда могут проявляться так, как они обычно не проявлялись бы для хорошо финансируемого корпоративного продукта».
Эта статья изначально появилась на InfoWorld.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Howard Solomon




