Solr/Lucene -security bypass to access sensitive data - CVE-2017-12629
Red Hat Product セキュリティーチームでは、Apache Solr および Lucene に影響を及ぼす脆弱性を認識しています。この脆弱性には CVE-2017-12629 が割り当てられました。この問題は 2017 年 10 月 12 日に公開され、重大な影響 と評価されています。ただしこの不具合は 2 つのパーツに依存していることから、これらの一方しか危険にさらされていない場合は、中程度の影響になります。Red Hat の製品では、両方のパーツが同梱されているものはほとんどありません。
背景情報
Apache Solr は人気のあるオープンソースの検索プラットフォームで、Apache Lucene 検索エンジンを使用しています。エンタープライズレベルで多数の高ボリュームのウェブサイトやアプリケーションが使用しています。
脆弱性の詳細
Lucene で XML Entity Expansion (XXE) の不具合が見つかりました。この種の不具合では通常、攻撃者はセキュリティー制限を迂回して、機密データにアクセスできるようになります。今回のケースでは、XXE はイベントリスナーのあるオブジェクトの構築を可能にする Java クラスも危険にさらすので、イベントが発生する際に任意コードの実行が可能になります。これら 2 つの要素が合わさると、非認証の Remote Code Execution (RCE: リモートのコード実行) につながります。RCE の実現には両方の要素が必要となり、どちらか一方の場合の影響は重大度が低くなります。
XXE は、Lucene における XML クエリーパーサーの不具合によって引き起こされます。この不具合はドキュメント内での doctype の宣言と特別なエンティティーを許可するもので、すべてのバージョンの Lucene に存在します。ただし、XML 解析機能を使用しない、または同機能をユーザーに公開しない製品は、攻撃を受けません。
RCE は、Solr の Config API add-listener 関数を使用して、コミットイベントでトリガーされる RunExecutableListener を作成することで実行されます。リスナーの組み込みコマンドは、URL の呼び出し、アプリケーションの呼び出し、またはスクリプトの実行が可能です。Config API 自体は不具合とはみなされていませんが、これは通常は非認証ユーザーに公開されるべき機能ではなく、今回のケースでは XXE の潜在的影響を大幅に悪化させるものです。この API は Solr にのみ存在するもので、Lucene にはありません。Solr を使用しない、またはこれをユーザーに公開しない製品は、攻撃を受けません。
影響を受ける Red Hat 製品については、「影響」タブを参照してください。
影響を受ける製品
Red Hat Product セキュリティーチームは、本件によるセキュリティー上の影響度を重大と評価しています
以下の Red Hat 製品のバージョンが影響を受けます。
- Red Hat Software Collections for Red Hat Enterprise Linux (rh-java-common-lucene)
- Red Hat Software Collections for Red Hat Enterprise Linux (rh-java-common-lucene5)
- Red Hat JBoss Enterprise Application Platform 7 (lucene) **
- Red Hat JBoss Data Grid 7 (lucene)
- Red Hat Enterprise Linux 6 (lucene)
** 注記: EAP 7 には直接の影響はありませんが、アプリケーションで脆弱性クラスが使用される可能性があるため、予防策として次回リリースでパッチが発行される予定です。
対処方法
影響のあるバージョンの Solr および Lucene をご使用のお客様は、パッチのリリース直後に更新することが強く推奨されます。この脆弱性には軽減策があり、これでパッチが利用可能になるまで保護することができます。
影響を受ける製品の更新
製品名 | パッケージ | アドバイザリー |
---|---|---|
Red Hat Enterprise Linux 6 | lucene | 保留中 |
Red Hat JBoss Data Grid 7 | lucene | RHSA-2017:3244 |
Red Hat JBoss Enterprise Application Platform 7 | lucene | |
Red Hat Software Collections for Red Hat Enterprise Linux | rh-java-common-lucene | 保留中 |
Red Hat Software Collections for Red Hat Enterprise Linux | rh-java-common-lucene5 | 保留中 |
軽減策
フィクスが利用可能になるまでは、Solr の全ユーザーは、システムパラメーター `-Ddisable.configEdit=true` を使って Solr インスタンスを再起動してください。これにより、Config API を使って変更された設定はすべて許可されなくなります。この脆弱性では、GET リクエストが設定に RunExecutableListener を追加できるようになるため、これが重要な要素になります。このタイプの攻撃から保護するにはこの軽減策で十分ですが、フィクスが用意されるまでは、Config API の編集機能が使えないことになります。
Comments