ColdFusion(2023 リリース)アップデート 7
セキュリティに関する推奨事項
すべてのセキュリティアップデートについて、ColdFusion のセキュリティページで説明されているセキュリティ設定を適用し、それぞれのロックダウンガイドを確認することをお勧めします。
アップデートのインストール後、コネクタを作成し設定する必要があるかどうかを確認します。詳しくは、コネクタ設定の節を参照してください。
新機能および変更された機能
ColdFusion(2023 リリース)アップデート 7(リリース日:2024年3月12日(PT))では、セキュリティ情報 APSB24-14 に記載されている脆弱性に対処しています。
このアップデートには、システムの安全性とセキュリティを確保するためのいくつかのセキュリティ修正が含まれています。これらの変更は、潜在的な脆弱性と脅威に対処するもので、お客様のデータとプライバシーを保護するためのアドビの継続的なコミットメントの一環です。
次の各節では、このアップデートにおける変更点の概要を示します。
このドキュメントの内容
このリリースにおける重要な変更点
スコープ変数の変更点
デフォルトでは、接頭辞のない変数名が見つかると、その変数が特定の順序で様々なスコープでチェックされていました。その後、パフォーマンス上の理由でアプリケーション変数 searchimplicitscopes=FALSE が導入されました。つまり、スコープが指定されていない変数はスコープ内で検索されなくなりました。
この更新以降、ColdFusion では searchimplicitscopes=FALSE がデフォルトになり、変数名の先頭にスコープ識別子が付いていない場合は、エラーが返されます。
この変更の影響を受けるスコープは次のとおりです。
- CGI
- URL
- Form
- Cookie
- CFFile
- Client
例えば、次のコードは、変数 TEST が未定義という例外が発生して失敗します。
<cfset cookie.test=1> <cfoutput>#test#</cfoutput>
UndefinedElementException または 変数 {xx} が未定義であるというエラーが発生した場合はどうするか
選択肢 1:正しいスコープから値を取得するようにアプリケーションコードを修正します。
<cfset cookie.test=1> <cfoutput>#cookie.test#</cfoutput>
*選択肢 2:searchimplicitscopes 値を TRUE に戻します。
これは次の手順で行います。
- 新しく導入されたフラグ -Dcoldfusion.searchimplicitscopes=true を jvm 引数に追加します。または、
- Application.cfc または Application.cfm で searchimplicitscopes キーを TRUE に設定します。この場合は、サーバーレベルで設定された jvm フラグよりも優先されます。
*この選択肢はお勧めできません。すべてのアプリケーションコードが修正されるまでの一時的な回避策と見なしてください。
詳しくは、ColdFusion のアプリケーション変数を参照してください。
次回メジャーリリースでの変更点
JVM フラグ -Dcoldfusion.searchimplicitscopes は ColdFusion の次回メジャーリリースで削除されるので、スコープが指定されていない変数を暗黙的なスコープで検索することはできなくなります。これにより、アプリケーションコードの変更が必要になる可能性があります。
このリリースでのその他の変更点
ライブラリのアップグレード
- Tomcat が 9.0.85 にアップグレードされました。
- zip インストーラーについては、cfinstall.jar の log4j がバージョン 1.2.17 から 2.20.0 に更新されました。
- jose4j.jar が 0.7.12 から 0.9.4 に更新されました。
- ib6coreutil が 1.2 から 1.3 に更新されました。
中央管理型サーバー(CCS)での自動検出の削除
- ネットワーク上のすべての ColdFusion サーバーを検出する、中央管理型サーバー(CCS)での自動検出が削除されました。詳しくは、ColdFusion の中央管理型サーバーを参照してください。
このアップデートで削除されたファイル
このアップデートでは、AIR、Server Manager およびサーバー監視の残りのファイルの一部が ColdFusion Administrator から削除されました。
cffile アップロードブロックリストの変更点
このアップデートでは、jar、class、ashx、asmx の各拡張子が CFFILE アップロードのデフォルトのブロックリストに追加されました。
このブロックリストをカスタマイズするには:
- ColdFusion Administrator/サーバーの設定/CFFile アップロードのブロック済みファイルエクステンションに移動します。
- 「デフォルト拡張子の復元」を選択します。
- 変更内容を送信します。
メモ:ブロックリストをカスタマイズしてある場合は、「デフォルト拡張子の復元」をクリックすると、カスタマイズしたブロックリストが削除されます。予防策として、カスタマイズした拡張子リストに jar、class、ashx および asmx を追加し、変更を保存してください。
パッケージの更新
このアップデートでは、次のパッケージが更新されました。
- adminapi
- administrator
- ajax
- ccs
- db2
- document
- htmltopdf
- mysql
- odbc
- presentation
- report
- saml
- sybase
JSON Web Token(JWT)の変更点
RSA1_5 アルゴリズムは JWT でサポートされなくなりました。
CKEditor の変更点
CKEditor でファイルアップロードが禁止されているファイルタイプが更新されて、.jar、.class、.ashx および .asmx が追加されました。
このアップデートで修正されたバグ
バグ ID | 説明 | コンポーネント |
CF-4219940 | アップデートのインストール後、ColdFusion から SQL Server に接続できません。 | データベース |
CF-4220252 | Docker で CAR パッケージを使用してスケジュール済みタスクを読み込めません。 詳しくは、更新された ColdFusion シリアルフィルターのドキュメントを参照してください。 |
スケジューラー |
このアップデートの既知の問題
- クラウド環境では、アップデートを適用する前にリモート CCS サーバーに設定されていた ColdFusion サーバーが、CCS サーバーの ColdFusion Administrator コンソールで無効と表示されます。ローカル ColdFusion ノード(CCS クライアント)から行った変更は、リモート ColdFusion ノードにすぐには反映されません。変更内容を有効にするには、ColdFusion サーバーを再起動する必要があります。
- アップデートの適用後に新しいリモート ColdFusion ノードを追加しても、やはり失敗します。
前提条件
- 64 ビットコンピューターでは、64 ビット版 ColdFusion の 64 ビット JRE を使用します。
- ColdFusion サーバーがプロキシの背後にある場合は、サーバーが更新通知を受け取ってアップデートをダウンロードできるようにプロキシ設定を指定してください。スタンドアロンインストールの場合は jvm.config の下のシステムプロパティ、JEE インストールの場合は対応するスクリプトファイルを使用してプロキシ設定を指定します。
- http.proxyHost
- http.proxyPort
- http.proxyUser
- http.proxyPassword
- JEE アプリケーションサーバー上で実行している ColdFusion の場合、アップデートをインストールする前に、すべてのアプリケーションサーバーインスタンスを停止します。
ColdFusion JDK フラグの要件
COLDFUSION 2023(バージョン 2023.0.0.330468)以降
アプリケーションサーバーの場合
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 フラグを設定します。
ColdFusion Administrator
パッケージマネージャー/パッケージで、コアサーバーの「アップデートを確認」をクリックします。
アップデートが検出されたら、「更新」をクリックします。コアパッケージが前回のアップデートから更新されます。
インストールされているすべてのパッケージも更新されます。
ColdFusion を再起動して変更を有効にします。
オフラインモードでのアップデートの手動インストール
- このリンクから、ホットフィックスインストーラーおよびリポジトリをダウンロードします。
- すべての ColdFusion サーバーインスタンスからアクセスできる場所に解凍します。
- cfusion およびそのすべての子インスタンスの cfusion/lib/neo_updates.xml で「packagesurl」を更新して、ダウンロードしたフォルダー内にある <InstallerReposityUnzippedPath>/bundles/bundlesdependency.json を指すようにします。
ColdFusion サービスを開始したり停止する特権と ColdFusion ルートディレクトリへのフルアクセスが必要です。
- Windows:<cf_root>\jre\bin\java.exe -jar <InstallerReposityUnzippedPath>\bundles\updateinstallers\hotfix-007-330663.jar
- Linux ベースのプラットフォーム:<cf_root>/jre/bin/java -jar <InstallerReposityUnzippedPath>/bundles/updateinstallers/hotfix-007-330663.jar
コアサーバーのホットフィックスのインストールに成功しても、パッケージにエラーや問題がある場合は、パッケージマネージャークライアント(cfusion\bin\cfpm.bat/cfpm.sh)でパッケージをインストールまたは更新することができます。
ダウンロードした JAR の実行には、ColdFusion にバンドルされている JRE を必ず使用してください。スタンドアローン ColdFusion の場合、これは <cf_root>/jre/bin にあります。
ColdFusion サービスおよび他の設定済み web サーバーを再起動する権限を持つユーザーアカウントからアップデートをインストールします。
アプリケーションの手動更新について詳しくは、このヘルプ記事を参照してください。
Java 17.0.8 以降を使用していて、ホットフィックスを手動で適用する場合は、フラグ java -Djdk.util.zip.disableZip64ExtraFieldValidation=true -jar hotfix.jar を使用します。
ただし、ColdFusion Administrator からアップデートを適用する場合は、フラグは必要ありません。
インストール後
このアップデートの適用後、ColdFusion のビルド番号は 2023,0,07,330663
になるはずです。
アンインストール
アップデートをアンインストールするには、以下のいずれかの操作を行います。
- ColdFusion Administrator で、「サーバーアップデート/アップデート/インストール済みアップデート」に移動して「アンインストール」をクリックします。
- コマンドプロンプトからアップデートのアンインストーラーを実行します。例:java -jar {cf_install_home}/{instance_home}/hf_updates/hf-2023-00007-330663/uninstall/uninstaller.jar
上記のアンインストールオプションを使用してもアップデートをアンインストールできない場合、アンインストーラーが破損している可能性があります。ただし、次の操作を実行すれば、手動でアップデートをアンインストールできます。
- {cf_install_home}/{instance_name}/lib/updates からアップデート jar を削除します。
- {cf_install_home}/{instance_name}/hf-updates/{hf-2023-00007-330663}/backup ディレクトリから {cf_install_home}/{instance_name}/ にすべてのフォルダーをコピーします。
コネクタ設定
2023 年アップデート | コネクタの再作成が必要 |
---|---|
アップデート 7 | いいえ
ただし、アップデート 4 またはそれ以前のアップデートからアップグレードする場合は、コネクタを再作成する必要があります。 コネクタの作成と設定について詳しくは、次のドキュメント参照してください。 |
アップデート 6 | いいえ ただし、アップデート 4 またはそれ以前のアップデートからアップグレードする場合は、コネクタを再作成する必要があります。 コネクタの作成と設定について詳しくは、次のドキュメント参照してください。 |
アップデート 5 | はい |
アップデート 4 | いいえ |
アップデート 3 | いいえ |
アップデート 2 | いいえ |
アップデート 1 | いいえ |
ドキュメントの改版履歴
- 2024年3月13日(PT):影響を受けるスコープおよび関連するコードサンプルを追加しました。