Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/abraxas/grafana-signup-invite-join
Autenticação e AutorizaçãoEscalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança WebTestes de PenetraçãoLabs e Prática

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
GitHubabraxas/grafana-signup-invite-join

grafana-signup-invite-join

Grafana OSS 13.2.3 - Alta - Remoto - Entrada por convite - SignUpStep2 entra em convites de organização pendentes sem o código

Ver Repositório
7há 4 diasAinda não revisado

Abraxas Labs - grafana-signup-invite-join

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  grafana-signup-invite-join

grafana-signup-invite-join

Classe: Privilégio remanescente Alcance: Remoto

Grafana OSS 13.2.3 (6193dc0) - Grafana Labs

Quando users.allow_sign_up é true e users.verify_email_enabled permanece no padrão false, um POST /api/user/signup/step2 não autenticado com um e-mail convidado cria a conta e applyUserInvite anexa cada linha InvitePending para esse endereço em invite.Role. O código de convite de 30 caracteres nunca é exigido nesse caminho. A função pode ser Admin.

Conheça o e-mail convidado. Pule o código de convite. Entre na organização como Admin.

IDainda sem CVE
ClassePrivilégio remanescente
AlcanceRemoto (HTTP não autenticado; requer users.allow_sign_up=true)
CWECWE-862
CVSSAlto: 8.1 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
ProdutoGrafana OSS
Afetado13.2.3 (6193dc0); caminho de cadastro aberto
Autenticaçãonão autenticado. Verificação de e-mail desativada por padrão. Cadastro desativado no defaults.ini padrão.
LicençaGNU Affero GPL v3.0
Labapenas 127.0.0.1

O que um atacante pode fazer

Precisa do endereço convidado (o e-mail do convite, um palpite ou outro vazamento). Não precisa da caixa de correio e não precisa do código de convite. Não precisa de uma conta Grafana existente.

PrivilégioMétodo / sinkReconhecimento / integridade / disponibilidadeComprovado em lab ou inferido
Criar uma conta com o e-mail convidadoPOST /api/user/signup/step2 não autenticado com code=""Integridade (criação de conta)Comprovado em lab. Sessão /api/user login=convidado
Entrar na organização convidada com a função do convite (Admin neste lab)applyUserInvite a partir de GetTempUsersQuery{Email, InvitePending}Integridade (participação na organização + função)Comprovado em lab. /api/user/orgs role=Admin; sqlite org_user Admin
Concluir o convite pendente para que o convidado real não possa usá-loupdateTempUserStatus(..., TmpUserCompleted)Integridade (consumo do convite)Comprovado em lab. Lista de pendentes vazia; sqlite temp status=Completed
Mesma entrada para convites de Viewer/Editorinvite.Role é copiado como estáIntegridadeInferido. O lab usou Admin
Ler/escrever nessa organização como Org Admin após o loginAPIs de Org Admin (datasources, dashboards, users)Reconhecimento + integridadeInferido. O lab para em role=Admin
Controle negativoCadastro com um e-mail diferente com código vazion/aComprovado em lab. invite-org-role=none

Fechado neste remanescente: instalação padrão com cadastro desativado; caminho com verificação de e-mail ativada (esse caminho verifica form.Code); vínculo de e-mail de convite completo (classe CVE-2022-39306, ainda presente); Grafana Admin (isGrafanaAdmin). Não é RCE não autenticado. Ignore o Grafana G2 (autorizador k8s IAM SSOSetting).

Como eu encontrei

Fixe a versão Grafana OSS 13.2.3. O OSS padrão voltou vazio nesse critério. Mesmo assim, insisti no caminho de cadastro aberto. POST /api/user/signup/step2 não é autenticado. SignUpStep2 cria o usuário e depois carrega convites pendentes por e-mail. form.Code só é exigido quando VerifyEmailEnabled é true.

Caminhos errados já registrados: reenviar CVE-2022-39306 (convite completo ainda vincula o e-mail); tratar o defaults.ini padrão como este remanescente (o cadastro está desativado lá); SCIM não autenticado no OSS (cliente k8s nulo); um reverse shell. Teatro.

Lab

python3 grafana-signup-invite-join-Abraxas-Labs.py

ou:

cd lab
./run.sh

Alvo apenas http://127.0.0.1:19350. Imagem grafana/grafana:13.2.3 com GF_USERS_ALLOW_SIGN_UP=true e verificação de e-mail desativada.

SUCCESS GRAFANA-SIGNUP-INVITE-JOIN version=13.2.3 invite-org=2 invite-code-len=30 step2-code-sent=empty step2-redirect=redirect-to-select-org api-role=Admin sqlite-role=Admin temp-status=Completed control-invite-org-role=none GRAFANA-SIGNUP-INVITE-JOIN-WITNESS

A correção

Exigir o código de convite pendente, ou prova de caixa de correio, antes de applyUserInvite no cadastro. Não anexar linhas InvitePending apenas com base na correspondência de e-mail.

Referências

  • github.com/grafana/grafana tag v13.2.3
  • signup.go · org_invite.go
  • Próximo (não este caminho): CVE-2022-39306
  • CWE-862

Licença

GNU Affero GPL v3.0. Consulte LICENSE. Apenas lab em loopback. Sem garantia.

Baixar ferramenta