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-19478 — Detecta o CVE-2026-19478 no GitLab CE/EE com um template Nuclei não destrutivo que aciona a invocação do método de campo de fallback do GraphQL via touch e confirma instâncias vulneráveis sem chamadas destrutivas. | Kitploit
Ferramentas/GitHubGitHub/renzi25031469/cve-2026-19478
Scanners de Vulnerabilidades WebAnálise de VulnerabilidadesExploração de Aplicações WebTestes de Segurança de APIsColeta de InformaçõesSegurança WebTestes de Penetração
GitHub
renzi25031469/cve-2026-19478

CVE-2026-19478

Detecta o CVE-2026-19478 no GitLab CE/EE com um template Nuclei não destrutivo que aciona a invocação do método de campo de fallback do GraphQL via touch e confirma instâncias vulneráveis sem chamadas destrutivas.

Ver Repositório
16há 22 diasAinda 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-19478 — invocação arbitrária de método no campo de fallback do GraphQL do GitLab — template de detecção Nuclei

CVE Severity Nuclei Target License

CVE-2026-19478 — Template Nuclei

Template de detecção Nuclei não destrutivo para CVE-2026-19478, uma falha crítica (CVSS 9.4) de invocação arbitrária de método não autenticada na API GraphQL do GitLab, corrigida pelo GitLab em 17 de agosto de 2026.

Resumo

O esquema GraphQL do GitLab suporta uma diretiva @gl_introduced(version: "X.Y.Z") que restringe um campo a uma versão mínima do GitLab. Quando a diretiva faz referência a uma versão que a instância em execução, o GitLab gera um para o nome do campo (de outra forma desconhecido). Esse resolvedor de fallback chama diretamente no objeto Ruby subjacente — , e afins — .

mais nova
campo de fallback
object.public_send(method_name)
Project
User
sem revalidar a autorização

O resultado: um atacante não autenticado que consiga acessar /api/graphql e conheça o fullPath de qualquer projeto público (ou o nome de usuário de qualquer perfil público) pode invocar qualquer método público sem argumentos nesse objeto. Isso inclui métodos somente leitura como touch, mas também destrutivos como destroy / delete, e os que alteram estado, como deactivate / block / ban.

O template deste repositório chama apenas touch (atualiza updated_at, retorna true) — veja Segurança abaixo.

Versões afetadas

SérieAfetadaCorrigida
18.2.x – 18.11.x>= 18.2, < 18.11.1118.11.11
19.0.x< 19.0.819.0.8
19.1.x< 19.1.619.1.6
19.2.x< 19.2.419.2.4

Apenas GitLab CE/EE autogerenciado — GitLab.com e GitLab Dedicated não foram afetados.

Segurança

Este template é propositalmente neutralizado para varrer frotas de servidores que você está autorizado a testar:

  • Ele invoca apenas touch por meio do campo de fallback (um método ActiveRecord que apenas atualiza updated_at e retorna true).
  • Ele nunca chama destroy, delete, deactivate, block ou ban — todos acessíveis pela mesma falha e genuinamente destrutivos.
  • A detecção é oportunista: ele enumera um projeto público por meio da API REST e, se nenhum estiver visível, recorre à sondagem do perfil de usuário root padrão. Se nenhum estiver acessível, simplesmente relata "não detectado" em vez de adivinhar.

Não reutilize a consulta GraphQL deste template para chamar métodos de mutação contra sistemas que você não possui ou para os quais não possui autorização escrita explícita para testar.

Como a detecção funciona

EtapaRequisiçãoObjetivo
1GET /api/v4/projects?visibility=publicEncontra um projeto público para usar como alvo inofensivo
2POST /api/graphql — touch @gl_introduced(version: "999.0.0") nesse projetoAciona o resolvedor de campo de fallback; uma instância vulnerável retorna "touch": true
3 (fallback)POST /api/graphql — mesma consulta contra user(username: "root")Usado apenas se nenhum projeto público foi encontrado na etapa 1

Uma instância corrigida rejeita o campo desconhecido de imediato ("... doesn't exist on type ..."), portanto o matcher do template exige o sinal positivo de touch e a ausência dessa mensagem de rejeição.

Uso

root@kitploit:~
# single target
nuclei -t CVE-2026-19478.yaml -u https://gitlab.example.com

# validate the template itself
nuclei -t CVE-2026-19478.yaml -validate

# a list of targets, JSON output
nuclei -t CVE-2026-19478.yaml -l targets.txt -j -o results.json

Requer nuclei v3 (este template usa o bloco de protocolo http: e um extrator json no estilo jq introduzidos no mecanismo de templates v3; ele não carregará no nuclei v2.x).

Exemplo de saída

root@kitploit:~
[CVE-2026-19478] [http] [critical] https://gitlab.example.com/api/graphql

Remediação

Atualize para 18.11.11, 19.0.8, 19.1.6 ou 19.2.4 (ou versões posteriores). Consulte as notas de lançamento do patch 19.2.4 do GitLab para obter o aviso completo.

Referências

  • Notas de lançamento do patch 19.2.4 do GitLab
  • The Hacker News — Falha crítica no GraphQL do GitLab pode permitir que atacantes não autenticados excluam projetos públicos
  • Rescana — Análise técnica do CVE-2026-19478
  • PoC (davkharrr/CVE-2026-19478-PoC)

Aviso legal

Este template é publicado para fins de segurança defensiva — varredura de infraestrutura que você possui ou para a qual está explicitamente autorizado a testar. Executá-lo (ou o PoC vinculado) contra sistemas sem autorização é ilegal na maioria das jurisdições. O autor não assume nenhuma responsabilidade pelo uso indevido.

Licença

MIT

Baixar ferramenta