ColdFusion での Log4j の脆弱性について

メモ

アップデート(2021/12/17):次の ColdFusion バージョンのパッチがリリースされました。詳しくは、テクニカルノートを参照してください。

概要

Log4j は Java ベースアプリケーション用の一般的なログライブラリですが、これにはセキュリティの重大な脆弱性(CVE-2021-44228)があります。この脆弱性は Adobe ColdFusion にも影響を及ぼします。

アドビでは、潜在的な影響を調査し、影響を受けるシステムを、Apache ソフトウェア財団に推奨される最新バージョンの Apache Log4j に更新するなど、対策を講じています。

Log4j のこの脆弱性に対処する ColdFusion のパッチ(バージョン 2021 および 2018)を 2021/12/17(PT)にお客様にリリースする予定です。

それまでの間、このパッチがリリースされるまで、ColdFusion ユーザーは次の回避策および緩和手順を適用することをお勧めします。

ColdFusion(2021 リリース)

ColdFusion 2021 には、Log4j バージョン 2.13.3 および 1.2 が付属しています。前者はこの脆弱性の影響を受けますが、後者は影響を受けません。

  1. サーバーを停止します。

  2. <cf_root>\<Instance_name>\bin ディレクトリに移動します。

  3. jvm.config ファイルを開き、java.args セクションに -Dlog4j2.formatMsgNoLookups=true 引数を追加します。ファイルを保存します。

  4. Log4j2 を使用するサードパーティ製ライブラリを使用しており、そのため脆弱性がある場合は、<cf_root> ディレクトリ内で log4j-core を探します。Log4j2 バージョン(2.0-beta9 以上および 2.10 以下)が見つかった場合は、以下のように、JndiLookup クラスをクラスパスから削除します。それ以外の場合は、この手順を省略します。

    1. オペレーティングシステムが Windows の場合は、log4j-core-2.x.jar ファイルを解凍し、パス org/apache/logging/log4j/core/lookup/JndiLookup.class のクラスを削除して、log4j-core-2.x.jar ファイルに圧縮します。X は、フォルダー内で見つかったファイルのバージョン番号です。
    2. オペレーティングシステムが Windows 以外の場合は、クラスパスから JndiLookup クラスを削除します。それには、「zip -q -d log4j-core-2.x.jar  org/apache/logging/log4j/core/lookup/JndiLookup.class」を実行します。 X は、フォルダー内で見つかったバージョン番号です。
  5. インスタンスを再起動します。

  6. 他のすべてのインスタンスについて、この手順を繰り返します。

ColdFusion(2018 リリース)

ColdFusion 2018 には、Log4j 2.13.3 または 2.9.0 と Log4j 1.2 が付属しています。前者はこの脆弱性による影響を受けますが、後者の機能 (つまり、v 1.2) は影響を受けません。

  1. サーバーを停止します。

  2. <cf_root>\<Instance_name>\bin ディレクトリに移動します。

  3. jvm.config ファイルを開き、java.args セクションに -Dlog4j2.formatMsgNoLookups=true 引数を追加します。ファイルを保存します。

  4. パッチ適用済みの log4j-core-2.9.0.jar ファイルと、削除した JNDILookUp クラスを一緒にコピーします。新しいファイルは、こちらからダウンロードできます。log4j-core-2.9.0.jar ファイルが見つかったら、そのファイルを一時的な場所に移動します。見つからない場合は、この手順を省略します。

    この一時的な場所は、一般に、ColdFusion の lib ディレクトリまたはクラスパスの外部の場所にする必要があります。ColdFusion のルートディレクトリの外部に配置することができます。

  5. Log4j2 を使用するサードパーティ製ライブラリを使用しており、そのため脆弱性がある場合は、<cf_root> ディレクトリ内で log4j-core を探します。Log4j2 バージョン(2.0-beta9 以上および 2.10 以下)が見つかった場合は、以下のように、JndiLookup クラスをクラスパスから削除します。それ以外の場合は、この手順を省略します。

    1. オペレーティングシステムが Windows の場合は、log4j-core-2.x.jar ファイルを解凍し、パス org/apache/logging/log4j/core/lookup/JndiLookup.class のクラスを削除して、log4j-core-2.x.jar ファイルに圧縮します。X は、フォルダー内で見つかったファイルのバージョン番号です。
    2. オペレーティングシステムが Windows 以外の場合は、クラスパスから JndiLookup クラスを削除します。それには、「zip -q -d log4j-core-2.x.jar  org/apache/logging/log4j/core/lookup/JndiLookup.class」を実行します。 X は、フォルダー内で見つかったバージョン番号です。
  6. インスタンスを再起動し、一時的な場所から log4j-core-2.9.0.jar を削除します。

  7. 他のすべてのインスタンスについて、この手順を繰り返します。

ColdFusion(2016 リリース)

ColdFusion(2016 リリース)には Log4j 1.2 が付属していますが、これは影響を受けません。Log4j2 を使用するサードパーティ製ライブラリがインストールキットに含まれている場合は、バージョン 2018 または 2021 のサードパーティ製ライブラリについての上記手順に従います。

Performance Monitoring Toolset 2021

Performance Monitoring Toolset 2021 には、Log4j 2.11.1 と Log4j 2.3 が付属しています。どちらのバージョンも影響を受けます。

  1. Performance Monitoring Toolset サービスとデータストアサービスを停止します。

  2. <PMT_Home>\datastore\config ディレクトリに移動します。

  3. jvm.options ファイルを開き、#log4j2 セクションに -Dlog4j2.formatMsgNoLookups=true 引数を追加します。ファイルを保存します。

  4. <PMT_Home>\lib ディレクトリに移動します。

  5. log4j-core-2.3.jar ファイルを一時的な場所に移動します。

  6. パッチ適用済みの log4j-core-2.3.jar ファイルと、削除した JNDILookUp クラスを一緒にコピーします。このファイルは、こちらからダウンロードできます。

  7. Performance Monitoring Toolset サービスとデータストアサービスを再起動します。

    一時的な場所から log4j-core-2.3.jar を削除します。

Performance Monitoring Toolset 2018

Performance Monitoring Toolset 2018 には、Log4j 2.9.1 と Log4j 2.3 が付属しています。どちらのバージョンも影響を受けます。

  1. Performance Monitoring Toolset サービスとデータストアサービスを停止します。

  2. <PMT_Home>\datastore\lib ディレクトリに移動します。

  3. log4j-core-2.9.1.jar ファイルを一時的な場所に移動します。

  4. パッチ適用済みの log4j-core-2.9.1.jar ファイルと、削除した JNDILookUp クラスを一緒にコピーします。このファイルは、こちらからダウンロードできます。

  5. <PMT_Home>\lib ディレクトリに移動します。

  6. log4j-core-2.3.jar ファイルを一時的な場所にコピーします。

  7. パッチ適用済みの log4j-core-2.3.jar ファイルと、削除した JNDILookUp クラスを一緒にコピーします。このファイルは、こちらからダウンロードできます。

  8. Performance Monitoring Toolset サービスとデータストアサービスを再起動します。

    一時的な場所から log4j-core-2.3.jar と log4j-core-2.9.1.jar を削除します。

API Manager 2021、2018 および 2016

API Manager 2021、2018 および 2016 には、log4j 2.3 が付属しています。このバージョンは影響を受けます。

  1. API Manager サーバー( <APIM_Home>\bin)と Analytics サービス(<APIM_Home>database\analytics\bin)を停止します。

  2. <APIM_Home>\lib ディレクトリに移動します。

  3. log4j-core-2.3.jar ファイルを一時的な場所に移動します。

  4. パッチ適用済みの log4j-core-2.3.jar ファイルと、削除した JNDILookUp クラスを一緒にコピーします。このファイルは、こちらからダウンロードできます。

  5. Analytics サービスと API Manager サーバーを再起動します。

    一時的な場所から log4j-core-2.3.jar を削除します。

Adobe, Inc.

ヘルプをすばやく簡単に入手

新規ユーザーの場合