Опубликован корректирующий релиз платформы совместной разработки Gogs 0.13.2, в котором устранено 6 уязвимостей. 5 уязвимостям присвоен критический уровень опасности (10 из 10). Исправленные проблемы позволяют непривилегированному пользователю Gogs выполнить код на сервере, изменить данные в репозиториях других пользователей или получить SSH-доступ к серверу. Судя по предварительной проверке, уязвимости не затрагивают платформы Forgejo и Gitea, продолжающие развитие форка Gogs, созданного в 2016 году.
Выявленные проблемы:
- CVE-2024-39931 — отсутствие ограничения загрузки файлов в каталог .git в web-редакторе репозиториев. Уязвимость может использоваться для организации выполнения любых команд на сервере с правами пользователя, указанного через параметр RUN_USER в конфигурации Gogs. Уязвимость позволяет просмотреть и изменить код других пользователей сервиса.
- CVE-2024-39932 — отсутствие проверки значений, передаваемых в командной строке при запуске на сервере команды «git diff». Уязвимость даёт возможность записать свои данные в произвольный файл на сервере, насколько позволяют права доступа, под которыми выполняются процессы Gogs. Уязвимость может использоваться для получения прав администратора Gogs и внесения изменения в код других пользователей сервиса.
- CVE-2024-39930 — отсутствие должной проверки параметров, используемых в числе аргументов системной утилиты «env», запускаемой встроенным SSH-сервером для выставления переменных окружения. Непривилегированный пользователь платформы Gogs, имеющий как минимум один SSH-ключ, может добиться выполнения своего кода на сервере с правами встроенного SSH-сервера Gogs и получить полный доступ к коду других пользователей сервиса.
- CVE-2024-55947 — отсутствие проверки файловых путей в web-редакторе репозитория, позволяет использовать последовательности вида «/../» для выхода за пределы базового каталога Git. Непривилегированный локальный пользователь Gogs может перезаписать любые файлы на сервере, насколько это позволяют привилегии пользователя, под которым запускается обработчик загрузки файлов в Gogs (RUN_USER). Среди прочего, атакующий может изменить файлы конфигурации и получить SSH-доступ к серверу.
- CVE-2024-54148 — возможность редактирования символической ссылки через интерфейс изменения имени файла в web-редакторе репозитория. Уязвимость позволяет перенаправить присутствующие в репозитории символические ссылки на любой файл в системе и внести в него изменения. Для подстановки символической ссылки необходимо наличие прав на совершение коммита в какой-либо репозиторий проекта, разрабатываемого в среде Gogs. В результате атаки можно добиться входа на сервер по SSH.
- CVE-2024-39933 — отсутствие проверки символов «-» в начале имён тегов позволяет подставить свою опцию в команду «git diff» и просмотреть содержимое любого файла на сервере, доступного пользователю под которым запускается Gogs. Например, атакующий может просмотреть файлы конфигурации с ключами доступа, TLS-сертификаты и файлы из репозиториев других пользователей.
Источник: http://www.opennet.ru/opennews/art.shtml?num=62469