issabel-pbx バージョン 4.0.0-6 には、Web インターフェース上で認証なしのディレクトリリスティングとして顕在化するアクセス制御の不備の脆弱性が存在します。リモートの認証されていない攻撃者は、アプリケーションの modules ディレクトリを閲覧し、資格情報や認可を一切持たずに、機密性の高いソースファイル、設定ファイル、内部アプリケーションロジックに直接アクセスできます。
この脆弱性は 2023年7月10日 に Sahil Ojha によって発見され、責任を持って開示され、CVE プログラムによって CVE-2023-37599 に割り当てられました。
| フィールド | 値 |
|---|
| CVE ID | CVE-2023-37599 |
| CWE | CWE-548 – ディレクトリリスティングによる情報漏えい |
| 脆弱性タイプ | アクセス制御の不備 / 情報漏えい |
| 影響を受ける製品 | issabel-pbx |
| 影響を受けるバージョン | 4.0.0-6 |
| 発見日 | 2023年7月10日 |
| 研究者 | Sahil Ojha |
| ベンダー | Issabel |
| ソースコード | IssabelFoundation/issabelPBX |
| テスト環境 | Windows |
Issabel は、Asterisk PBX 上に構築されたオープンソースのユニファイドコミュニケーションプラットフォームです。その Web 管理インターフェースは issabel-pbx パッケージによって提供されます。バージョン 4.0.0-6 では、Web サーバーが /modules パスでディレクトリリスティングを許可するように誤設定されています。このパスにはアクセス制御や認証チェックが適用されていないため、認証されていない攻撃者は以下を行うことができます:
これは最小権限の原則に違反し、OWASP Top 10 (A01:2021) で定義されているアクセス制御の不備の弱点に該当します。
issabel-pbx 4.0.0-6 を実行している Issabel PBX インスタンスの IP アドレスまたはホスト名を特定します。
ブラウザを開き(ログインや特別なツールは不要)、以下の URL にアクセスします:
https://<ISSABEL_IP>/modules/
サーバーは modules フォルダーの完全なディレクトリリスティングを返し、インストールされているすべてのモジュールディレクトリとファイルを公開します。

任意のサブディレクトリに移動して、各モジュール内のさらに多くのファイルとフォルダーを列挙します。

個々の PHP ファイルや設定ファイルをブラウザで直接開き、アプリケーションのソースコードを読み取ります。

さらにトラバーサルを続けて、コールルーティング、ユーザー管理、システム設定を処理するスクリプトなどの追加の機密ファイルにアクセスします。

この脆弱性は、Issabel の Web ルートを提供する Apache(または同等の Web サーバー)の設定で、/modules ディレクトリに対して Options Indexes ディレクティブが無効化されていないことに起因します。Options Indexes が有効で、ディレクトリ内に index.php / index.html ファイルが存在しない場合、Web サーバーは自動的に閲覧可能なディレクトリリスティングページを生成して提供します。
ベンダーと管理者は、以下の緩和策のうち1つ以上を適用する必要があります。
Web サーバー設定でディレクトリリスティングを無効化します。Apache の場合、モジュールディレクトリ(またはグローバル)に以下が設定されていることを確認してください:
<Directory /var/www/html/modules>
Options -Indexes
</Directory>
/modules パスへのアクセスを制限し、localhost または信頼できる管理ネットワークからのみアクセスできるようにします:
<Directory /var/www/html/modules>
Require ip 127.0.0.1
</Directory>
意図的に公開されていない Web ルート配下のすべてのパスに認証を適用します。
ベンダーが修正版をリリースしたら、パッチ適用済みの issabel-pbx バージョンに更新します。
この情報は教育および研究目的のみで提供されています。著者は、この情報の誤用について一切責任を負いません。脆弱性をテストする前に、必ず適切な書面による許可を取得してください。
Sahil Ojha によって発見・開示されました