Новости

В Gogs Open-Source Git Service обнаружены критические неисправленные недостатки

В открытом Git-сервисе Gogs, размещенном на собственном хостинге, обнаружены четыре уязвимости, включая три критические. Эти уязвимости могут позволить злоумышленнику, прошедшему проверку подлинности, взломать уязвимые экземпляры, украсть или стереть исходный код и даже внедрить бэкдоры.

Уязвимости, по мнению исследователей SonarSource Томаса Чошефойна и Пола Герсте, включают:

- CVE-2024-39930 (оценка CVSS: 9,9) - внедрение аргументов во встроенный SSH-сервер;
- CVE-2024-39931 (оценка CVSS: 9,9) - удаление внутренних файлов;
- CVE-2024-39932 (оценка CVSS: 9,9) - внедрение аргументов во время предварительного просмотра изменений;
- CVE-2024-39933 (оценка CVSS: 7,7) - внедрение аргументов при пометке новых выпусков.

Использование первых трех уязвимостей может позволить злоумышленнику выполнять произвольные команды на сервере Gogs, в то время как четвертый недостаток позволяет злоумышленникам читать произвольные файлы, такие как исходный код и секреты конфигурации.

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

Все четыре уязвимости требуют аутентификации злоумышленника. Для запуска CVE-2024-39930 необходимо, чтобы встроенный SSH-сервер был включен, использовалась версия двоичного файла env и у злоумышленника был действительный закрытый ключ SSH.

Если в экземпляре Gogs включена регистрация, злоумышленник может просто создать учетную запись и зарегистрировать свой SSH-ключ. В противном случае ему пришлось бы скомпрометировать другую учетную запись или украсть закрытый ключ SSH пользователя.

Экземпляры Gogs, работающие в Windows, недоступны для использования, как и образ Docker. Однако экземпляры, работающие в Debian и Ubuntu, уязвимы из-за того, что двоичный файл env поддерживает опцию "--split-string".
Согласно данным, доступным на Shodan, около 7300 экземпляров Gogs находятся в открытом доступе через Интернет, причем почти 60% из них расположены в Китае, за которыми следуют США, Германия, Россия и Гонконг.

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

Швейцарская фирма по кибербезопасности также указала, что сопровождающие проекта "не внедрили исправления и прекратили общение" после принятия ее первоначального отчета 28 апреля 2023 года.

В отсутствие обновления пользователям рекомендуется отключить встроенный SSH-сервер, отключить регистрацию пользователей, чтобы предотвратить массовое использование, и рассмотреть возможность перехода на Gitea. SonarSource также выпустил исправление, которое пользователи могут применять, но отметил, что оно не было тщательно протестировано.

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

Проблема, получившая название phantom secrets, связана с тем фактом, что они не могут быть обнаружены ни одним из обычных методов сканирования – большинство из которых ищут секреты с помощью команды "git clone– - и что определенные секреты доступны только через "git clone --mirror" или кэшированные представления платформ SCM, что подчеркивает "слепые зоны", которые могут пропустить такие инструменты сканирования.
"Коммиты остаются доступными через "просмотры кэша" в SCM, - отметили исследователи безопасности Якир Кадкода и Илэй Голдман. Фактически, SCM сохраняет содержимое коммитов навсегда".

"Это означает, что даже если секрет, содержащий коммит, удален как из клонированной, так и из зеркальной версий вашего репозитория, к нему все равно можно получить доступ, если кто-то знает хэш коммита. Они могут извлекать содержимое коммита через графический интерфейс платформы SCM и получать доступ к разглашенному секрету."
Уязвимости