Перейти к содержанию

В Forgejo 16.0.4 устранена критическая RCE-уязвимость

7.0/10

Разработчики платформы Forgejo выпустили версию 16.0.4, устраняющую критическую уязвимость удаленного выполнения кода (RCE), затрагивающую версии 16.0.3 и ниже. Проблема возникала при генерации нового репозитория из шаблона, когда платформа клонировала исходный репозиторий, удаляла папку `.git`, подставляла переменные в файлы из списка `.forgejo/template` и затем инициализировала новый Git-репозиторий. На этапе подстановки переменных специально сформированное содержимое файлов могло вмешаться в инициализацию Git и привести к исполнению произвольных команд на сервере. Администраторам экземпляров Forgejo рекомендуется незамедлительно обновить платформу до актуального релиза.

Контекст

Forgejo — это открытая платформа для хостинга Git-репозиториев и совместной разработки программного обеспечения. Одной из функций платформы является генерация новых проектов из шаблонов, при которой выполняется автоматическая подстановка переменных в файлы шаблона перед созданием и инициализацией Git-репозитория.

Влияние

Администраторам серверов Forgejo версий 16.0.3 и 15.0.7 (и более ранних) необходимо срочно обновить установку до версий 16.0.4 или 15.0.8, чтобы устранить уязвимость удалённого выполнения кода при генерации репозиториев из шаблонов.

Обсуждение в сообществе

Пользователи обсудили технические подробности исправления из pull request #14301 и отметили временно возникшие ограничения по числу запросов к Codeberg при доступе к ченджлогу. Представитель команды разработчиков Gitea подтвердил, что их кодовая база защищена от этой уязвимости, и призвал поддерживать конструктивную культуру раскрытия проблем безопасности.

Технические детали

Процесс создания репозитория на основе шаблона в Forgejo состоял из клонирования исходного репозитория, удаления внутренней папки `.git`, раскрытия переменных в файлах из `.forgejo/template` и последующего запуска инициализации Git. В уязвимых версиях обработка шаблонов происходила до завершения инициализации Git-структуры, что позволяло создавать конфигурационные файлы, считываемые Git во время инициализации. Патч из pull request #14301 предотвращает любое влияние подстановки шаблонов на процесс инициализации Git-репозитория. Это исключает возможность внедрения сторонних параметров и выполнения произвольного кода в контексте процесса платформы.

Источники

Покрытие источниками

Проверяются выбранные ключевые утверждения, а не истинность всей статьи целиком.

  1. Только данные автора или производителя

    В Forgejo 16.0.4 устранена критическая RCE-уязвимость

    • lwn.net · подтверждает · независимая публикация
  2. Недостаточное покрытие источниками

    Разработчики платформы Forgejo выпустили версию 16.0.4, устраняющую критическую уязвимость удаленного выполнения кода (RCE), затрагивающую версии 16.0.3 и ниже.

  3. Недостаточное покрытие источниками

    Представитель команды разработчиков Gitea подтвердил, что их кодовая база защищена от этой уязвимости