Forgejo закрывает критическую уязвимость с удалённым выполнением кода

· Безопасность
Проект Forgejo выпустил версии 16.0.4 и 15.0.8, устраняющие две уязвимости, включая критическую RCE-брешь в механизме создания репозиториев из шаблонов.

cover.svg

Проект Forgejo, разрабатывающий одноимённый программный форж (открытый аналог платформ для совместной разработки), сообщил о выпуске версий 16.0.4 и 15.0.8. Обновления устраняют две уязвимости, одна из которых оценена как критическая и допускает удалённое выполнение произвольного кода (RCE).

Как работает атака

Проблема кроется в механизме создания нового репозитория на основе шаблонного. При этой операции Forgejo клонирует репозиторий-шаблон, удаляет из него папку .git, выполняет подстановку переменных в файлах, перечисленных в .forgejo/template, а затем инициализирует новый git-репозиторий.

Окно для атаки открывается именно на шаге подстановки переменных. Злоумышленник может составить шаблон так, чтобы в ходе этой обработки в каталоге появилась новая папка .git. При последующей инициализации git подхватывает и включает эту папку как свою — со всеми вытекающими последствиями.

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

Что исправлено

Лечение оказалось прямолинейным: теперь после завершения подстановки переменных Forgejo удаляет любую имеющуюся папку .git из каталога — и только затем инициализирует новый репозиторий. Тем самым подложенная злоумышленником директория не успевает попасть под управление git.

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


Источник: LWN.net

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.