ColdFusion(2021 リリース)アップデート 20

ColdFusion(2021 リリース)アップデート 20

セキュリティに関する推奨事項

すべてのセキュリティアップデートについて、ColdFusion のセキュリティページで説明されているセキュリティ設定を適用し、それぞれのロックダウンガイドを確認することをお勧めします。  

警告 :

アップデートのインストール後、コネクタを作成し設定する必要があるかどうかを確認します。 詳しくは、コネクタ設定の節を参照してください。

注意:

以下のアップデートは累積的なもので、以前のアップデートがすべて含まれています。 以前のアップデートを行っていない場合、最新のアップデートを適用することで、以前のアップデートも適用されます。 また、スキップしたアップデートで行われた変更をメモしておいてください。

以前のアップデートをインストールするには、ColdFusion(2021 リリース)のアップデートを参照してください。

新機能および変更された機能

ColdFusion(2021 リリース)アップデート 20(リリース日:2025年5月13日(PT))は、ファイルシステムの任意の読み取り、任意のコード実行、権限昇格、セキュリティ機能のバイパスにつながるおそれがある重大かつ重要な脆弱性を解決します。 また、以前の ColdFusion アップデートからの PDFg サービス関連の問題も解決します。

詳しくは、セキュリティ情報 APSB25-52 を参照してください。

注意:

このアップデートで、cfusion/lib にある serialfilter.txt ファイルが置き換えられます。 そのため、このファイルに既にカスタム エントリが追加されている場合は、バックアップ ファイル(cfusion/hf-updates/{version}/backup/lib)からカスタム エントリをコピーします。

リモートメソッドの変更

リモートメソッドが特定のパラメーターを必要とする場合、これらの引数は cfargument タグを使用して明示的に宣言するか、関数署名で直接定義する必要があります。 例えば、リモート関数が 2 つの引数を受け入れるように定義されている場合、その 2 つの引数のみを受け取る必要があります。 宣言された数(例:10)を超える引数を渡すと、エラーが発生します。 この変更により、メソッドの整合性がより厳密になり、デバッグエクスペリエンスが向上します。 この動作変更は、リモート CFC メソッドにのみ適用されます。

このアップデートの新しい JVM フラグ

  • -Dcoldfusion.runtime.remotemethod.matchArguments
  • -Dcoldfusion.systemprobe.allowexecution

フラグについて詳しくは、ColdFusion(2023 リリース)および ColdFusion(2021 リリース)の JVM 引数を参照してください。

新しい Admin API

関数 canSystemProbeExecuteFile は、スケジューラーコンポーネント(CFIDE.adminapi.scheduler)の一部として導入されました。 この関数は、ColdFusion がシステムプローブの実行を許可しているかどうかを確認します。

<cfscript>
    obj = createObject(&quot;component&quot;,&quot;cfide.adminapi.scheduler&quot;)
    writeOutput(#obj.canSystemProbeExecuteFile#)
</cfscript>

プログラムの実行に指定したパスは、英数字、スラッシュ、ハイフン、アンダースコア、コロン、スペースに対して検証されます。

パスフィルターの変更

以前のアップデートでは、バイトコード実行防止用に cfusion/lib フォルダー内に pathfilter.txt が導入されました。 このアップデートでは、pathfilter.txt の代わりに、ColdFusion は pathfilter.json を導入します。 pathfilter.txt は引き続き使用できますが、ColdFusion では txt ファイルではなく JSON ファイルを使用します。 ファイル内のキーは、スケジューラー、バイトコードなどの機能を表します。

{
    &quot;comments&quot;: &quot;パスはセミコロンで区切る必要があります。
     ファイルを許可するには:{path-of-file}; 
     ディレクトリとその中のファイルを許可するには:{path-to-directory}/*; 
     ディレクトリとサブディレクトリを許可するには:{path-to-directory}/**; 
     ファイルをブロックするには:!{path-of-file}; 
     ディレクトリとサブディレクトリをブロックするには:!{path-to-directory}/**; 
     優先順位は左から右に向かって下がります。 ディレクトリ A の中にディレクトリ B と C があるとします。
     B を許可し C をブロックするには:!A/C/*;A/**;&quot;,
    &quot;bytecodeexecutionpaths&quot;: &quot;&quot;,
    &quot;schedulerexectionpaths&quot;: &quot;&quot;
}
注意:

スケジュールしたタスクで、ColdFusion Administrator の 公開/出力をファイルに保存 オプションが有効で、ファイルパスが指定されている場合、<cf_home>/libにある "pathfilter.json" ファイルの Schedulerexecutionpaths セクションでそのパスが明示的に許可されていない限り、タスクは機能しなくなります。

単一ファイルの場合:

"schedulerexecutionpaths": "C:/temp/log.txt;"

フォルダー全体の場合:

"schedulerexecutionpaths": "C:/temp/**;"

変更を行った後、ColdFusion を再起動します。

重要

 

最新の MySQL コネクタへのアップデート

セキュリティ上の理由から、最新の MySQL Java コネクタ(バージョン 8.0.15 以降)の使用を強くお勧めします。 以前のバージョンには、環境を危険にさらす可能性がある既知のセキュリティ脆弱性が含まれています。

コネクタのインストールについて詳しくは、MySQL JDBC ドライバーの設定(MySQL コネクタ)を参照してください。

アップデートで修正されたバグ

  • アップデート 14 をクラスター設定に適用すると、ColdFusion2021\cfusion\jetty\lib にある ext フォルダーが削除され、バックアップディレクトリに移動されます。 その結果、検索コレクションにアクセスできなくなり、エラーメッセージが表示されます。
  • Docker イメージでコマンド docker run --rm -it -v ./mywebroot:/app -e acceptEULA=YES adobecoldfusion/coldfusion:latest cli t.cfm を実行すると、Null ポインタ例外が発生します。
  • ColdFusion がインストールされ、複数のインスタンスが作成されている場合、すべてのインスタンスを一度に選択してホットフィックスを適用すると、正常に完了します。 ただし、このホットフィックスでは、特定の必須ファイル、特に jetty-ipaccess.xml ファイルが cfusion/jetty/etc ディレクトリに期待どおりにデプロイされません。 このファイルは、アップデート 19(CF 2021)、13(CF 2023)および 1(CF 2025)で導入されましたが、このケースでは欠落していました。
  • 以前のアップデートをインストールした後、PDF サービスマネージャーを登録または登録解除すると、エラーが発生します。 アップデートを適用し、ColdFusion サービスとアドオンサービスの両方を再起動した後、Administrator で PDFg サービスを編集すると、PDF エンジン 1 で予期しない動作が発生します。
  • PDF 関連の修正の一部として、<Jetty-home>/webapps/WEB-INF/classes の下にある特定のファイルがホットフィックスによって更新されるはずでした。 ただし、これらのファイルは期待どおりに置き換えられず、ColdFusion Administrator で編集すると PDF サービスが削除されます。

このアップデートの既知の問題

  • packages フォルダーが存在しない場合、CAR ビルドは失敗します。 回避策として、<cfhome>/cfusion/ に「packages」という名前のフォルダーを作成します(まだ作成していない場合)。
  • Windows 以外のシステムでは、Administrator/PDF サービス経由でローカル PDF サービスを編集すると、サービスが削除されます。 IP アドレス 127.0.0.1 は、jetty/etc/jetty-ipaccess.xml ファイル内の許可リストに含まれません。 その結果、ローカル PDF サービスへの接続がブロックされ、編集時に削除されます。 回避策として、jetty-ipaccess.xml ファイルで 127.0.0.1 を手動で許可リストに追加します。 これにより、ColdFusion Administrator から編集する際に、PDF サービスが正常に機能するようになります。
  • ColdFusion 2021 アップデート 19 をアンインストールすると、アップデート 19 のインストール時に追加されなかった場合でも、C:\ColdFusion2021\cfusion\lib から xalan.jar ファイルが削除されることがあります。 回避策として、アップデート 18 を実行しているサーバーから影響を受けるサーバーの C:\ColdFusion2021\cfusion\lib ディレクトリに xalan.jar ファイルを手動でコピーします。
  • アップデートをインストールした後、「出力をファイルに保存」オプションを有効にして設定したスケジュール済みタスクが、neo-cron.xml 設定ファイルから削除される場合があります。 pathfilter.json ファイルで出力パスを許可した後でも、問題は解決しません。アップデートプロセス中にスケジュール済みタスクエントリが削除される場合があり、パスを許可するだけではタスクが復元または読み込まれません。 回避策として、次の手順に従います。
    • アップデートを適用する前に、<cf_root>/cfusion/lib ディレクトリにある neo-cron.xml ファイルのバックアップを作成します。
    • 更新後にスケジュールタスクが見つからない場合:
      • アップデート中に作成されたバックアップファイル(neo-cron.bak)を見つけます。
      • neo-cron.bak から関連するコンテンツ(スケジュール済みタスクエントリ)をコピーし、アップデートした neo-cron.xml ファイルにペーストします。
      • 変更を保存し、ColdFusion を再起動します。
  • この更新にロックダウンを適用する場合は、-Dcoldfusion.runtime.remotemethod.matchArgumentsフラグを追加し、その値をFalseに設定してください。

ColdFusion JDK フラグの要件

COLDFUSION 2021(バージョン 2021.0.0.323925)以降

アプリケーションサーバーの場合   

JEE インストールでは、使用するアプリケーションサーバーのタイプに応じて、それぞれの起動ファイルに 「-Djdk.serialFilter= !org.mozilla.**;!com.sun.syndication.**;!org.apache.commons.beanutils.**;!org.jgroups.**;!com.sun.rowset.**; !com.mysql.cj.jdbc.interceptors.**;!org.apache.commons.collections.**;」という JVM フラグを設定します。

例:   

  • Apache Tomcat アプリケーションサーバー:Catalina.bat/sh ファイルの JAVA_OPTS を編集します   
  • WebLogic アプリケーションサーバー:startWeblogic.cmd ファイルの JAVA_OPTIONS を編集します   
  • WildFly/EAP アプリケーションサーバー:standalone.conf ファイルの JAVA_OPTS を編集します   

スタンドアロンインストールではなく、JEE インストールの ColdFusion に JVM フラグを設定します。  

前提条件

  1. 64 ビットコンピューターでは、64 ビット版 ColdFusion の 64 ビット JRE を使用します。
  2. ColdFusion サーバーがプロキシの背後にある場合は、サーバーが更新通知を受け取ってアップデートをダウンロードできるようにプロキシ設定を指定してください。 スタンドアロンインストールの場合は jvm.config の下のシステムプロパティ、JEE インストールの場合は対応するスクリプトファイルを使用してプロキシ設定を指定します。
    • http.proxyHost
    • http.proxyPort
    • http.proxyUser
    • http.proxyPassword
  3. JEE アプリケーションサーバー上で実行している ColdFusion の場合、アップデートをインストールする前に、すべてのアプリケーションサーバーインスタンスを停止します。

インストール

ColdFusion Administrator

パッケージマネージャー/パッケージで、コアサーバーの「アップデートを確認」をクリックします。

アップデートが検出されたら、「更新」をクリックします。 コアパッケージが前回のアップデートから更新されます。

アップデートが必要なインストール済みパッケージがすべて更新されます。

ColdFusion を再起動して変更を有効にします。

オフラインモードでのアップデートの手動インストール

  1. このリンクから、ホットフィックスインストーラーをダウンロードします。
  2. このリンクから packages zip ファイルをダウンロードし、その内容を、すべてのColdFusion サーバーインスタンスからアクセスできる場所に展開します。
  3. 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-020-330407.jar
  • Linux ベースのプラットフォーム:<cf_root>/jre/bin/java -jar  <InstallerReposityUnzippedPath>/bundles/updateinstallers/hotfix-020-330407.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.20.330407 になるはずです。

アンインストール

アップデートをアンインストールするには、以下のいずれかの操作を行います。

  • ColdFusion Administrator で、「サーバーアップデートアップデートインストール済みアップデート」に移動して「アンインストール」をクリックします。
  • コマンドプロンプトからアップデートのアンインストーラーを実行します。 例:java -jar {cf_install_home}/{instance_home}/hf_updates/hf-2021-00020-330407/uninstall /uninstaller.jar

上記のアンインストールオプションを使用してもアップデートをアンインストールできない場合、アンインストーラーが破損している可能性があります。 ただし、次の操作を実行すれば、手動でアップデートをアンインストールできます。

  1. {cf_install_home}/{instance_name}/lib/updates からアップデート jar を削除します。
  2. {cf_install_home}/{instance_name}/hf-updates/{hf-2021-00020-330407}/backup ディレクトリから {cf_install_home}/{instance_name}/ にすべてのフォルダーをコピーします。

コネクタ設定

2021 年アップデート コネクタの再作成が必要
アップデート 20

いいえ

ただし、アップデート 10 またはそれ以前のアップデートからアップグレードする場合は、コネクタを再作成する必要があります。

詳細については、以下を参照してください。

アップデート 19

いいえ

ただし、アップデート 10 またはそれ以前のアップデートからアップグレードする場合は、コネクタを再作成する必要があります。

詳細については、以下を参照してください。

アップデート 18

いいえ

ただし、アップデート 10 またはそれ以前のアップデートからアップグレードする場合は、コネクタを再作成する必要があります。

詳細については、以下を参照してください。

アップデート 17

いいえ

ただし、アップデート 10 またはそれ以前のアップデートからアップグレードする場合は、コネクタを再作成する必要があります。

詳細については、以下を参照してください。

アップデート 16

いいえ

ただし、アップデート 10 またはそれ以前のアップデートからアップグレードする場合は、コネクタを再作成する必要があります。

詳細については、以下を参照してください。

アップデート 15

いいえ

ただし、アップデート 10 またはそれ以前のアップデートからアップグレードする場合は、コネクタを再作成する必要があります。

詳細については、以下を参照してください。

アップデート 14

いいえ

ただし、アップデート 10 またはそれ以前のアップデートからアップグレードする場合は、コネクタを再作成する必要があります。

詳細については、以下を参照してください。

アップデート 13

いいえ

ただし、アップデート 10 またはそれ以前のアップデートからアップグレードする場合は、コネクタを再作成する必要があります。

詳細については、以下を参照してください。

アップデート 12

いいえ

ただし、アップデート 10 またはそれ以前のアップデートからアップグレードする場合は、コネクタを再作成する必要があります

詳細については、以下を参照してください。

アップデート 11 はい
アップデート 10 いいえ
アップデート 9 いいえ
アップデート 8 いいえ
アップデート 7 いいえ
アップデート 6 いいえ
アップデート 5 いいえ
アップデート 4 いいえ
アップデート 3 いいえ。 アップデート 2 でコネクタを既にアップグレードしてある場合は、コネクタを更新する必要はありません。
アップデート 2 はい
アップデート 1 はい

パッケージの更新

アップデート パッケージの更新
アップデート 20

次のパッケージが更新されました。

  • adminapi
  • administrator

  • document

  • htmltopdf

  • pdf

  • presentation

  • print

  • report

  • scheduler

アップデート 19

次のパッケージが更新されました。

  • htmltopdf
  • administrator
  • ajax
アップデート 18

pmtagent パッケージが更新されました。

アップデート 17 はい
アップデート 16 いいえ
アップデート 15 いいえ
アップデート 14 はい
アップデート 13 はい
アップデート 12 いいえ
アップデート 11 はい
アップデート 10 いいえ
アップデート 9 いいえ
アップデート 8 いいえ
アップデート 7 いいえ
アップデート 6 はい
アップデート 5 はい
アップデート 4 はい
アップデート 3 はい
アップデート 2 はい
アップデート 1 はい

Adobe, Inc.

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

新規ユーザーの場合