![Serviço Git de código aberto Gogs Serviço Git de código aberto Gogs](https://i0.wp.com/blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZSlSdNUZX8YGmOyBqpQdzdGlCvZVE4Tmtxeq9sP_mypbYT50IPItTus60WQ0rwcChxQ1QLnb3ltlAVHrRa-szpXkLk_EBn-A-eeXVy6m3N2U11sVbnzEN9maptC4OR5I1DUlddajxc_0HjaitPQuNyM-iihLYIwlpwYEa7cvlL9aoQTUmYfz5sUMHxn-B/s728-rw-e365/gogs.png?w=780&ssl=1)
Quatro falhas de segurança não corrigidas, incluindo três críticas, foram divulgadas no serviço Git de código aberto e auto-hospedado Gogs, que podem permitir que um invasor autenticado viole instâncias suscetíveis, roube ou limpe o código-fonte e até mesmo instale backdoors.
As vulnerabilidades, de acordo com os pesquisadores da SonarSource, Thomas Chauchefoin e Paul Gerste, estão listadas abaixo –
- CVE-2024-39930 (pontuação CVSS: 9,9) – Injeção de argumentos no servidor SSH integrado
- CVE-2024-39931 (pontuação CVSS: 9,9) – Exclusão de arquivos internos
- CVE-2024-39932 (pontuação CVSS: 9,9) – Injeção de argumentos durante a visualização das alterações
- CVE-2024-39933 (pontuação CVSS: 7,7) – Injeção de argumentos ao marcar novos lançamentos
A exploração bem-sucedida das três primeiras deficiências pode permitir que um invasor execute comandos arbitrários no servidor Gogs, enquanto a quarta falha permite que invasores leiam arquivos arbitrários, como código-fonte e segredos de configuração.
![Cíber segurança](https://i0.wp.com/blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPFFLXZHfTA0FUmsAJ30SeqiM34x3Qes8BjBSTnhm4zHUJUal87CZLGZFJ7f5vxdaZIyNeTzf7fA-8s0CQhiG9ltxRFReWpgvmp2VfSMbjmN8i0yCv_74a3h7HaGxNlFqr5LEyPghIcxNNfXkksw3nQvKsqKKAU4wsl5Ll9UKu2hv6fbtXy4PHGNBW8SxC/s1200/a_d.png?resize=727%2C90&ssl=1)
Em outras palavras, ao explorar os problemas, um agente de ameaça poderia ler o código-fonte na instância, modificar qualquer código, excluir todo o código, ter como alvo hosts internos acessíveis pelo servidor Gogs e se passar por outros usuários e obter mais privilégios.
Dito isso, todas as quatro vulnerabilidades exigem que o invasor seja autenticado. Além disso, o acionamento do CVE-2024-39930 exige que o servidor SSH integrado esteja habilitado, a versão do binário env usada e que o agente da ameaça esteja em posse de uma chave privada SSH válida.
“Se a instância Gogs tiver o registro habilitado, o invasor pode simplesmente criar uma conta e registrar sua chave SSH”, disseram os pesquisadores. “Caso contrário, eles teriam que comprometer outra conta ou roubar a chave privada SSH de um usuário.”
Instâncias do Gogs em execução no Home windows não são exploráveis, assim como a imagem do Docker. No entanto, aquelas em execução no Debian e no Ubuntu são vulneráveis devido ao fato de que o binário env suporta a opção “–split-string”.
![Serviço Git de código aberto Gogs Serviço Git de código aberto Gogs](https://i0.wp.com/blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyZBwedZ_Y3e3uJmctmg7RkVXZqsfOAWskI4ski5NWnETsJ1TB39BBAwxCaDgOnV4ElyfJL_xwd4Susy_KXShCwTOeGgkIJGbf0hQHDvLAPRxD6Qi54m36ngvLuGSpxzfGTdSEdiucfi1t5i63nQxu2WeEo4fEk2LZs_NutclEJZgukM4bKyfuK7_tiQre/s728-rw-e365/shodan.jpg?w=780&ssl=1)
De acordo com dados disponíveis no Shodan, cerca de 7.300 instâncias do Gogs são acessíveis publicamente pela web, com quase 60% delas localizadas na China, seguidas pelos EUA, Alemanha, Rússia e Hong Kong.
Atualmente, não está claro quantos desses servidores expostos são vulneráveis às falhas mencionadas acima. A SonarSource disse que não tem visibilidade sobre se esses problemas estão sendo explorados na natureza.
A empresa suíça de segurança cibernética também destacou que os mantenedores do projeto “não implementaram correções e pararam de se comunicar” após aceitar seu relatório inicial em 28 de abril de 2023.
Na ausência de uma atualização, recomenda-se que os usuários desabilitem o servidor SSH integrado, desliguem o registro de usuários para evitar exploração em massa e considerem mudar para o Gitea. A SonarSource também lançou um patch que os usuários podem aplicar, mas observou que ele não foi extensivamente testado.
![Cíber segurança](https://i0.wp.com/blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgF-Ztrtc0QOz90x07JmRFIH2xX1f9xk8ILPu5Y_lehiVS_gvyvG2yhkXRYUHld6Ztln3zokjOpFLBkesTWTG-W63G_ZJKYIyBFe8d-6Wa_QwqOIlrFxTRdIg5CkedLQQTGAJ8aayk0hyphenhyphenT3K6Vix554HdaRABxodRKpsJ9DfWQZHssKMHd6Fl7096KmQ0UR/s728-e365/desktop.gif?resize=727%2C90&ssl=1)
A divulgação ocorre no momento em que a empresa de segurança em nuvem Aqua descobriu que informações confidenciais, como tokens de acesso e senhas, uma vez codificadas, podem permanecer permanentemente expostas, mesmo após a remoção de sistemas de gerenciamento de código-fonte (SCM) baseados em Git.
Chamados de segredos fantasmas, o problema decorre do fato de que eles não podem ser descobertos por nenhum dos métodos de varredura convencionais — a maioria dos quais procura segredos usando o comando “git clone” — e que certos segredos são acessíveis apenas por meio de “git clone –mirror” ou visualizações em cache de plataformas SCM, destacando os pontos cegos que essas ferramentas de varredura podem não detectar.
“Os commits permanecem acessíveis por meio de 'visualizações de cache' no SCM”, disseram os pesquisadores de segurança Yakir Kadkoda e Ilay Goldman. “Essencialmente, o SCM salva o conteúdo do commit para sempre.”
“Isso significa que mesmo se um segredo contendo commit for removido das versões clonada e espelhada do seu repositório, ele ainda poderá ser acessado se alguém souber o hash do commit. Eles podem recuperar o conteúdo do commit por meio da GUI da plataforma SCM e acessar o segredo vazado.”