ColdFusion(2021 年リリース)アップデート 14
セキュリティに関する推奨事項
すべてのセキュリティアップデートについて、ColdFusion のセキュリティページで説明されているセキュリティ設定を適用し、それぞれのロックダウンガイドを確認することをお勧めします。
アップデートのインストール後、コネクタを作成し設定する必要があるかどうかを確認します。詳しくは、コネクタ設定の節を参照してください。
新機能および変更された機能
以下のアップデートは累積的なもので、以前のアップデートがすべて含まれています。以前のアップデートを行っていない場合、最新のアップデートを適用することで、以前のアップデートも適用されます。また、スキップしたアップデートで行われた変更をメモしておいてください。
以前のアップデートをインストールするには、ColdFusion(2021 リリース)のアップデートを参照してください。
ColdFusion(2021 リリース)アップデート 14(リリース日:2024年6月11日(PT))では、セキュリティ情報 APSB24-41 に記載されている脆弱性に対処しています。
これらの変更は、潜在的な脆弱性と脅威に対処するもので、お客様のデータとプライバシーを保護するためのアドビの継続的なコミットメントの一環です。
このリリースにおける重要な変更点
デフォルトアルゴリズムの変更
データのセキュリティを強化するために、デフォルトの暗号化アルゴリズムが変更されます。この更新は、最近確認されたセキュリティ脆弱性に対処するためのものです。この変更について詳しくは、以下をお読みください。
変更の概要
- 7 つの暗号化関数について、ColdFusion のデフォルトの暗号化アルゴリズムが CFMX_COMPAT から別のアルゴリズムに変わります。
- CFMX_COMPAT を使用する必要がある場合は、新しい JVM 引数 -Dcoldfusion.encryption.useCFMX_COMPATAsDefault=TRUE を使用して、変更します。デフォルトでは、値は False になっています。
- -Dcoldfusion.encryption.useCFMX_COMPATAsDefault フラグは、Adobe ColdFusion 2023 リリースおよび 2021 リリースの今後のセキュリティアップデートでサポートされます。
- ただし、ColdFusion の次回メジャーリリースで、このフラグは削除されます。
変更点
次の関数について、ColdFusion のデフォルトの暗号化アルゴリズムが CFMX_COMPAT から AES/CBC/PKCS5Padding に変更されました。
さらに、Hash 関数のデフォルトの暗号化アルゴリズムが CFMX_COMPAT から SHA-256 ハッシュアルゴリズムに変更されました。
次の Rand* 関数のデフォルトの暗号化アルゴリズムが CFMX_COMPAT から SHA1PRNG に変更されました。
SHA1PRNG は乱数ジェネレーターです。
この変更が重要な理由
お客様のデータのセキュリティがアドビの最優先事項です。アドビでは、安全性の低い CFMX_COMPAT よりも堅牢な暗号化アルゴリズムを採用することで、新たに出現するセキュリティ脅威に対するより強固な保護を提供することを目指しています。
CFMX_COMPAT を引き続き使用する方法
まだ CFMX_COMPAT を使用する場合は、新しい JVM 引数 -Dcoldfusion.encryption.useCFMX_COMPATAsDefault =TRUE を使用します。これにより、暗号化および乱数関連の関数がデフォルトで CFMX_COMPAT を使用するようになります。
新しいデフォルトアルゴリズムを使用するようにコードを変更し、必要な変更をコードに加えるまでは -Dcoldfusion.encryption.useCFMX_COMPATAsDefault フラグを一時的に使用することをお勧めします。
なお、CFMX_COMPAT は引き続き使用可能です。ただし、これは暗号化関数のデフォルトアルゴリズムではなくなりました。
データの変更方法
CFMX_COMPAT を使用して暗号化および保存されたデータに変更を加えるには、次の手順に従います。
- パスワードを取得します。
- CFMX_COMPAT アルゴリズムを使用して、データを復号します。
- 新しいアルゴリズムを使用して、パスワードを再度暗号化します。
- パスワードを再度保存します。
パスワードが既に保存されているユーザーに対して、新しいパスワードを作成します。
キーの生成
- CFMX_COMPAT アルゴリズムの場合は、任意の数の文字を任意に組み合わせて、32 ビットの暗号化キーを生成するためのシードとして使用します。
- 他のすべてのアルゴリズムでは、そのアルゴリズムに固有の形式のキーが使用されます。これらのアルゴリズムのキーを生成するには、GenerateSecretKey 関数を使用します。
ここで、CFMX_COMPAT を使用していて、使用していたキーが他の(新しい)デフォルトアルゴリズムでは動作しない形式になっている場合は、新しいキーを作成して、新しいデフォルトアルゴリズムで動作させる必要があります。
コードで CFMX_COMPAT アルゴリズムが使用されているかどうかを確認する方法
アルゴリズムを指定していない場合は、例えば encrypt(myMessage, key) のような関数を確認します。または、CFMX_COMPAT をデフォルトアルゴリズムとして指定してある場合は、次の例のような関数で同様の確認を行えます。
encrypt(myMessage, key, 'CFMX_COMPAT', 'Base64')
デフォルトアルゴリズムの変更に伴うコードの変更
新しいデフォルトアルゴリズムを使用するようにコードを変更し、必要な変更をコードに加えるまでは -Dcoldfusion.encryption.useCFMX_COMPATAsDefault フラグを一時的に使用することをお勧めします。
今後のアップデート
-Dcoldfusion.encryption.useCFMX_COMPATAsDefault フラグは、Adobe ColdFusion 2023 リリースおよび 2021 リリースの今後のセキュリティアップデートでサポートされます。
ただし、ColdFusion の次回メジャーリリースで、このフラグは削除されます。
フラグに変更があった場合は、アプリケーションコードを変更する必要があります。
cfdocument のアクセス制御に関する問題
新しい JVMフラグ Dcfdocument.metahttpequivrefresh.localfile=TRUE が導入されました。このフラグを使用すると、HTML の meta タグで渡された URL または場所を呼び出すことができます。デフォルトでは、値は FALSE になっています。
meta タグで URL が渡されても、デフォルトでブロックされます。このような URL を使用する場合は、-Dcfdocument.metahttpequivrefresh.localfile=TRUE フラグを使用します。
meta タグに URL を追加する前に、その URL の健全性を確認することをお勧めします。
パッケージの更新
次のパッケージが更新されました。
- document
- htmltopdf
- presentation
- report
Solr アップグレードの変更点
ColdFusion(2021 リリース)のセキュリティリスクを軽減するための SOLR のアップグレードに記載の手順を使用して Solr をバージョン 8.11.2 に手動でアップグレードした場合、アップデート 8 のインストール後、Solr はバージョン 7.9 にダウングレードされません。
ColdFusion JDK フラグの要件
COLDFUSION 2021(バージョン 2021.0.0.323925)以降
アプリケーションサーバーの場合
JEE インストールで、使用しているアプリケーションサーバーのタイプに応じて、それぞれの起動ファイルに JVM フラグ「-Djdk.serialFilter= !org.mozilla.**;!com.sun.syndication.**;!org.apache.commons.beanutils.**;!org.jgroups.**;!com.sun.rowset.**」を設定します。
例:
- Apache Tomcat アプリケーションサーバー:Catalina.bat/sh ファイルの JAVA_OPTS を編集します
- WebLogic アプリケーションサーバー:startWeblogic.cmd ファイルの JAVA_OPTIONS を編集します
- WildFly/EAP アプリケーションサーバー:standalone.conf ファイルの JAVA_OPTS を編集します
スタンドアロンインストールではなく、JEE インストールの ColdFusion に JVM フラグを設定します。
前提条件
- 64 ビットコンピューターでは、64 ビット版 ColdFusion の 64 ビット JRE を使用します。
- ColdFusion サーバーがプロキシの背後にある場合は、サーバーが更新通知を受け取ってアップデートをダウンロードできるようにプロキシ設定を指定してください。スタンドアロンインストールの場合は jvm.config の下のシステムプロパティ、JEE インストールの場合は対応するスクリプトファイルを使用してプロキシ設定を指定します。
- http.proxyHost
- http.proxyPort
- http.proxyUser
- http.proxyPassword
- JEE アプリケーションサーバー上で実行している ColdFusion の場合、アップデートをインストールする前に、すべてのアプリケーションサーバーインスタンスを停止します。
インストール
ColdFusion Administrator
パッケージマネージャー/パッケージで、コアサーバーの「アップデートを確認」をクリックします。
アップデートが検出されたら、「更新」をクリックします。コアパッケージが前回のアップデートから更新されます。
アップデートが必要なインストール済みパッケージがすべて更新されます。
ColdFusion を再起動して変更を有効にします。
オフラインモードでのアップデートの手動インストール
- このリンクから、ホットフィックスインストーラーをダウンロードします。
- すべての ColdFusion サーバーインスタンスからアクセスできる場所に、パッケージを解凍します。
- cfusion およびそのすべての子インスタンスの cfusion/lib/neo_updates.xml で「packagesurl」を更新して、ダウンロードしたフォルダー内にある <InstallerReposityUnzippedPath>/bundles/bundlesdependency.json を指すようにします。
コアサーバーのホットフィックスのインストールに成功しても、パッケージにエラーや問題がある場合は、パッケージマネージャークライアント(cfusion\bin\cfpm.bat/cfpm.sh)でパッケージをインストールまたは更新することができます。
ColdFusion サービスを開始または停止する特権と ColdFusion ルートディレクトリへのフルアクセス権が必要です。
- Windows:<cf_root>\jre\bin\java.exe -jar <InstallerReposityUnzippedPath>\bundles\updateinstallers\hotfix-014-330296.jar
- Linux ベースのプラットフォーム:<cf_root>/jre/bin/java -jar <InstallerReposityUnzippedPath>/bundles/updateinstallers/hotfix-014-330296.jar
ダウンロードした JAR の実行には、ColdFusion にバンドルされている JRE を必ず使用してください。スタンドアローン ColdFusion の場合、これは <cf_root>/jre/bin にあります。
ColdFusion サービスおよび他の設定済み web サーバーを再起動する権限を持つユーザーアカウントからアップデートをインストールします。
アプリケーションの手動更新について詳しくは、このヘルプ記事を参照してください。
Java 11.0.20 以降を使用していて、ホットフィックスを適用する場合は、フラグ java -Djdk.util.zip.disableZip64ExtraFieldValidation=true -jar hotfix.jar を使用します。
ただし、ColdFusion Administrator からアップデートを適用する場合は、フラグは必要ありません。
インストール後
このアップデートの適用後、ColdFusion のビルド番号は 2021.0.14.330296
になるはずです。
アンインストール
アップデートをアンインストールするには、以下のいずれかの操作を行います。
- ColdFusion Administrator で、「サーバーアップデート/アップデート/インストール済みアップデート」に移動して「アンインストール」をクリックします。
- コマンドプロンプトからアップデートのアンインストーラーを実行します。例:java -jar {cf_install_home}/{instance_home}/hf_updates/hf-2021-00014-330296/uninstall/uninstaller.jar
上記のアンインストールオプションを使用してもアップデートをアンインストールできない場合、アンインストーラーが破損している可能性があります。ただし、次の操作を実行すれば、手動でアップデートをアンインストールできます。
- {cf_install_home}/{instance_name}/lib/updates からアップデート jar を削除します。
- {cf_install_home}/{instance_name}/hf-updates/{hf-2021-00014-330296}/backup ディレクトリから {cf_install_home}/{instance_name}/ にすべてのフォルダーをコピーします。
コネクタ設定
2021 年アップデート | コネクタの再作成が必要 |
アップデート 14 | いいえ ただし、アップデート 10 またはそれ以前のアップデートからアップグレードする場合は、コネクタを再作成する必要があります。
詳細については、以下を参照してください。 |
アップデート 13 | いいえ ただし、アップデート 10 またはそれ以前のアップデートからアップグレードする場合は、コネクタを再作成する必要があります。
詳細については、以下を参照してください。 |
アップデート 12 | いいえ ただし、アップデート 10 またはそれ以前のアップデートからアップグレードする場合は、コネクタを再作成する必要があります。
詳細については、以下を参照してください。 |
アップデート 11 | はい |
アップデート 10 | いいえ |
アップデート 9 | いいえ |
アップデート 8 | いいえ |
アップデート 7 | いいえ |
アップデート 6 | いいえ |
アップデート 5 | いいえ |
アップデート 4 | いいえ |
アップデート 3 | いいえ。アップデート 2 でコネクタを既にアップグレードしてある場合は、コネクタを更新する必要はありません。 |
アップデート 2 | はい |
アップデート 1 | はい |
ドキュメントの改版履歴
- 2024年3月13日(PT):影響を受けるスコープおよび関連するコードサンプルを追加しました。