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-3854-PoC — RCE no GitHub via injeção de opção push X-Stat | Kitploit
Ferramentas/GitHubGitHub/lysophavin18/cve-2026-3854-poc
Análise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e Educação
GitHublysophavin18/cve-2026-3854-poc

CVE-2026-3854-PoC

RCE no GitHub via injeção de opção push X-Stat

Ver Repositório
22há 4 mesesAinda 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-3854 PoC — RCE no GitHub via Injeção de Opção de Push X-Stat

Somente para fins educacionais e de pesquisa de segurança autorizada.
Não use contra qualquer sistema sem permissão explícita por escrito.


Visão Geral

CVE-2026-3854 é uma vulnerabilidade de execução remota de código no pipeline de push git do GitHub Enterprise Server (e do GitHub.com).

Quando um cliente fornece opções de push (git push -o), o código Ruby interno do GitHub constrói um cabeçalho X-Stat concatenando cada valor de opção com ponto e vírgula como delimitadores de campo. Como os valores eram inseridos verbatim (sem sanitização), um atacante poderia incorporar ponto e vírgula em uma opção de push para injetar pares chave-valor arbitrários no cabeçalho e sobrescrever configurações críticas de segurança — alcançando, em última instância, RCE sem sandbox como o usuário git.

Causa raiz da vulnerabilidade

root@kitploit:~
X-Stat: repo_id=12345;user_id=alice;rails_env=production;...;push_option_0=<USER INPUT>

Injetar normal_value;rails_env=staging como o valor da opção de push resulta em:

root@kitploit:~
...;push_option_0=normal_value;rails_env=staging

O parser considera a última ocorrência de cada chave, então rails_env agora é staging (sem sandbox), sobrescrevendo o valor legítimo production definido anteriormente.


Requisitos

  • Python 3.10 ou posterior (usa type hints nativos list[str] / dict[str, str])
  • Nenhum pacote de terceiros necessário

Uso

root@kitploit:~
python3 exploi-git.py

O script executa três demonstrações consecutivas inteiramente em memória — sem conexões de rede, sem comandos shell, sem gravações de arquivos:

DemonstraçãoO que mostra
1Injeção básica de ponto e vírgula sobrescrevendo rails_env
2Cadeia conceitual completa de RCE em 3 etapas
3Comportamento corrigido — ponto e vírgula são codificados em percentual e a injeção é neutralizada

Correção

O GitHub corrigiu a vulnerabilidade codificando em percentual (percent-encoding) os ponto e vírgula nos valores das opções de push antes de inseri-los no cabeçalho X-Stat:

root@kitploit:~
normal_value;rails_env=staging  →  normal_value%3Brails_env=staging

Isso torna o ponto e vírgula uma parte literal do valor e quebra a injeção.


Referências

  • Postagem do blog de pesquisa da Wiz
  • Blog de Segurança do GitHub
  • NVD — CVE-2026-3854

Isenção de Responsabilidade

Este repositório é fornecido exclusivamente para fins educacionais e para apoiar pesquisa de segurança autorizada. O(s) autor(es) não assume(m) responsabilidade por uso indevido. Sempre obtenha permissão explícita por escrito antes de testar qualquer sistema que você não possua.

Baixar ferramenta