説明
CVE-2021-44228:
Apache Log4j2 バージョン 2.14.1 までは (セキュリティリリース 2.12.2 を除く)、構成、ログメッセージ、およびパラメータで使用される JNDI 機能が、攻撃者が制御する LDAP や他の JNDI 関連のエンドポイントから保護されていません。ログメッセージやログメッセージパラメータを制御できる攻撃者は、JNDI Lookup 機能 (メッセージの検索と置換機能) が有効になっている場合に、LDAP サーバーからロードされた任意のコードを実行する可能性があります。
CVE-2021-45046:
Apache Log4j 2.15.0 の CVE-2021-44228 に対処するための修正は、特定のデフォルト以外の構成では不完全であることが判明しました。ロギング設定が、コンテキストルックアップを伴うデフォルト以外のパターンレイアウト (たとえば、$${ctx:loginId}) を使用する場合に、スレッドコンテキストマップ (MDC) の入力データを制御できる攻撃者は、JNDI Lookup パターンを使用して悪意のある入力データを作成する可能性があります。一部の環境では情報漏洩やリモートコードの実行、すべての環境でローカルコード実行が発生します。リモートコードの実行は macOS で実証されていますが、他のテストされた環境では実証されていません。
CVE-2021-45105 (DLO はこの脆弱性の影響を受けません):
Apache Log4j2 バージョン 2.0-alpha1 から 2.16.0 は、制御されていない再帰的なルックアップ (self-referential lookup) から保護されていませんでした。ロギング設定が、コンテキストルックアップを伴うデフォルト以外のパターンレイアウト (たとえば、$${ctx:loginId}) を使用する場合に、スレッドコンテキストマップ (MDC) の入力データを制御できる攻撃者は、再帰ルックアップを含む悪意のある入力データを作成する可能性があります。結果として、プロセスを終了するスタックオーバーフローエラーが発生します。これは、DOS (サービス拒否) 攻撃とも呼ばれます。
CVE-2021-44832 (DLO はこの脆弱性の影響を受けません):
Apache Log4j2 バージョン 2.0-beta7 から 2.17.0 (セキュリティ修正リリース 2.3.2 および 2.12.4 を除く) は、リモートコード実行(RCE: Remote Code Execution)攻撃に対して脆弱です。ログ構成ファイルを変更する権限を持つ攻撃者は、JDBC アペンダーを使用して、リモートコードを実行できる JNDI URI を参照するデータソースを持つ悪意のある構成を構築する可能性があります。この問題は、JNDI データソース名を Log4j2 バージョン 2.17.1、2.12.4、2.3.2 の Java プロトコルに制限することで修正されます。
詳細については Apache Announcement をご参照ください。 この問題は Log4j 2.17.0 で解決されていますが、このバージョンの互換性とインストールは調査中です。
現在 Veritas は 以下の緩和策を適用することをお勧めします。
問題
CVE-2021-44228: Apache Log4j2 JNDI features do not protect against attacker controlled LDAP and other JNDI related endpoints.
Severity: Critical
Base CVSS Score: 10.0
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
CVE-2021-45046: Apache Log4j2 Thread Context Lookup Pattern vulnerable to remote code execution in certain non-default configurations.
Severity: Critical
Base CVSS Score: 9.0
CVSS: AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:H
CVE-2021-45105: Apache Log4j2 does not always protect from infinite recursion in lookup evaluation. (DLO is not impacted by this vulnerability)
Severity: High
Base CVSS Score: 7.5
CVSS:7.5/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVE-2021-44832: Apache Log4j2 vulnerable to RCE via JDBC Appender when attacker controls configuration. (DLO is not impacted by this vulnerability)
Severity: Moderate
Base CVSS Score: 6.6
CVSS: 6.6 (AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:H)
影響を受けるバージョン
Veritas Desktop and Laptop バージョン: 9.0 SP1, 9.1, 9.2, 9.3, 9.3.1, 9.3.2, 9.3.3, 9.4, 9.5, 9.6
緩和策
CVE-2021-44228 と CVE-2021-45046 に対して、以下の変更を行います。
DLO は CVE-2021-45105 と CVE-2021-44832 の影響を受けません。
DLO 9.6 用の修正がリリースされました。次のダウンロードセンターリンクからダウンロードできます。
https://www.veritas.com/support/ja_JP/downloads/update.UPD761261
以下の手順は、DLO Version 9.0 SP1, 9.1, 9.2, 9.3, 9.3.1, 9.3.2, 9.3.3, 9.4, 9.5 に適用できます。
Windows コンピューターで実施する場合の手順:
1. 次のフォルダに移動します。
C:\Program Files\Veritas\Veritas DLO\Dedupe\Tomcat\webapps\DedupeServer\WEB-INF\lib を開き、
「log4j-core-*.jar」ファイルを検索します。
注意:「log4j-core-*.jar」の (*) アスタリスク記号は、DLO バージョンによって異なる数字となります。
DLO 9.5, 9.6 のファイル名は、「log4j-core-2.13.3.jar」です。
2. コマンドプロンプトで、以下のコマンドを実行し、jar ファイルを zip ファイルに変更します。
rename log4j-core-*.jar log4j-core-*.zip
コマンドを実行すると、「log4j-core-*.jar」が、「log4j-core-*.zip」に変更されます。
3.「log4j-core-*.zip」ファイルを「log4j-core-*」フォルダーに解凍します。
解凍後の log4j-core-*\org\apache\logging\log4j\core\lookup フォルダを開き、lookup フォルダー内の「Jndilookup.class」ファイルを削除します。
4. 解凍後の「log4j-core-*」フォルダ開き、配下すべてのファイルを選択し、右クリックから「送る」→「圧縮(zip 形式)フォルダー」をクリックします。
ファイル名は log4j-core-*.zip を指定します。
注意: (*) アスタリスク記号は、元の zip ファイル名と同じ log4j-core バージョン番号に置き換えてください。
DLO 9.5, 9.6 のファイル名は、「log4j-core-2.13.3.jar」です。
5. コマンドプロンプトを開き、4. で圧縮された Zip ファイルの場所に移動し、以下のコマンドを実行します。
rename log4j-core-*.zip log4j-core-*.jar
zip ファイルが jar ファイルに変更されます。
6. 上記方法で編集した jar ファイルをコピーし、以下のパスに置き換えます。
C:\Program Files\Veritas\Veritas DLO\Dedupe\Tomcat\webapps\DedupeServer\WEB-INF\lib
と
C:\Program Files\Veritas\Veritas DLO\IOServer\Tomcat\webapps\DLOServer\WEB-INF\lib
7. サービスマネージャー(services.msc) にて、以下のサービスを再起動します。
Veritas DLO Web Server
Mindtree StoreSmart Dedupe Server
Linux コンピューターで実施する場合の手順:
1. DLO サーバーで以下のパスに移動します。
C:\Program Files\Veritas\Veritas DLO\Dedupe\Tomcat\webapps\DedupeServer\WEB-INF\lib
2.「log4j-core-*.jar」ファイルをコピーして、Linux コンピュータに貼り付けてから、次の Linux コマンドを実行します。
zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
3. 上記方法で、編集された Linux コンピュータの「log4j-core-*.jar」ファイルをコピーし、DLO サーバーの以下のパスに置き換えます。
C:\Program Files\Veritas\Veritas DLO\Dedupe\Tomcat\webapps\DedupeServer\WEB-INF\lib
と
C:\Program Files\Veritas\Veritas DLO\IOServer\Tomcat\webapps\DLOServer\WEB-INF\lib
4. DLO サーバーのサービスマネージャー(services.msc) にて、以下のサービスを再起動します。
Veritas DLO Web Server
Mindtree StoreSmart Dedupe Server
お問い合わせ
これらの脆弱性に関する質問や問題については、Veritasテクニカルサポート (https://www.veritas.com/support) にお問い合わせください。
免責事項
セキュリティアドバイザリは、「現状のまま」提供されるものであり、VERITAS TECHNOLOGIES LLC は、商品価値を有すること、お客様の特定の目的にかなうこと、権利を侵害していないことに対する暗黙的な保証を含む、明示的あるいは暗黙的な条件、表明、および保証すべてから免責されるものとします。ただし、これらの免責が法的に無効であるとされる場合を除きます。VERITAS TECHNOLOGIES LLC およびその関連会社は、本書の提供、パフォーマンスまたは使用に関連する付随的または間接的損害に対して、一切責任を負わないものとします。Veritas は事前の通知なく本書を変更する権利を留保します。