ColdFusion(2023 リリース)アップデート 11
セキュリティに関する推奨事項
すべてのセキュリティアップデートについて、ColdFusion のセキュリティページで説明されているセキュリティ設定を適用し、それぞれのロックダウンガイドを確認することをお勧めします。
アップデートのインストール後、コネクタを作成し設定する必要があるかどうかを確認します。詳しくは、コネクタ設定の節を参照してください。
以下のアップデートは累積的なもので、以前のアップデートがすべて含まれています。以前のアップデートを行っていない場合、最新のアップデートを適用することで、以前のアップデートも適用されます。また、スキップしたアップデートで行われた変更をメモしておいてください。
新機能および変更された機能
ColdFusion(2023 リリース)アップデート 11(リリース日:2024年10月15日(PT))には、Administrator、言語、CFSetup、データベースなどの領域のバグ修正と機能強化が含まれています。このアップデートには、netty、ehcache などのライブラリのアップグレードも含まれています。
更新を続行する前に、既知の問題を確認してください。
詳細については、各トピックを選択してください。
このアップデートの適用後、HTMLToPDF パッケージのインストールと Oracle データソースの検証を行うための回避策として、Felix キャッシュをクリアすることをお勧めします。
すべてのデプロイメントでの空白抑制
効率的な空白抑制により、ColdFusion で削除しなければ CFML ソースファイルに残っている可能性のある多くの余分な空白、タブおよび復帰文字が削除されるので、ColdFusion からブラウザーに返されるページのファイルサイズが小さくなります。
ColdFusion のホワイトスペースは、ColdFusion Administrator(サーバーの設定/設定)で有効または無効にすることができます。
変更点
このリリースでは、ColdFusion のすべてのデプロイメントで空白抑制が可能です。例えば、Administrator や Admin API を使用して、JEE デプロイメントでのホワイトスペースの使用を許可できます。
ColdFusion Administrator を使用する場合
-
ColdFusion Administrator を起動します。
-
サーバーの設定/設定
を選択します。 -
「「空白抑制の有効化」チェックボックスを選択します。
Admin API を使用する場合
CFIDE.adminapi.runtime クラスの setRuntimeProperty メソッドで propertyName を whitespace として指定します。
例えば、
<cfscript> // 常にログインが必要。この例では 次の 2 行のコードを使用する adminObj = createObject(“component”,“cfide.adminapi.administrator”); adminObj.login(“password”); // CF Administrator のパスワード。 // ランタイムオブジェクトをインスタンス化する。 myObj = createObject(“component”,“CFIDE.adminapi.runtime”); // ホワイトスペースを設定する myObj.setRuntimeProperty(“whitespace”,true) // プロパティを取得する saveWhitespacesEnabled = myObj.getRuntimeProperty(“whitespace”) writeOutput(“Is whitespace management enabled: ” & saveWhitespacesEnabled & “<br>”) </cfscript>
レジストリ |
|
JDBC |
|
Cookie |
|
コマンド
表示
- show category - このコマンドはクライアント変数をカテゴリとして表示します。
- show clientvariable - このコマンドはクライアント変数のすべての設定を表示します。
- show clientvariable cookie - このコマンドは特定のクライアントストアのすべての詳細を表示します。
- show clientvariable nonexistentclientstore - エラーメッセージ を表示します。
ヘルプ
- help clientvariable - このコマンドは、カテゴリで使用可能なすべての設定を表示します。
- help set clientvariable
- help get clientvariable
- help add clientvariable
- help delete clientvariable
- help export clientvariable
- help import clientvariable
取得
- get clientvariable clientstore
- get clientvariable purgeintervalinminutes
- get clientvariable cookie
- get clientvariable cookie name
- get clientvariable cookie purgeDataUnvisitedForDays
- get clientvariable cookie description
設定
- set clientvariable clientstore=none
- set clientvariable clientstore=cookie
- set clientvariable clientstore=cfartgallery
- set clientvariable purgeintervalinminutes=92
- set clientvariable cookie purgeDataUnvisitedForDays=90 disableGlobalClientVariableUpdates=true description="テスト用の説明"
- set clientvariable cookie purgeDataUnvisitedForDays=90 disableGlobalClientVariableUpdates=Yes description="テスト用の説明"
追加
- add clientvariable name=cfartgallery description="JDBCベースのクライアントストア。"purgeDataUnvisitedForDays=91 disableGlobalClientVariableUpdates=false
削除
- delete clientvariable cfartgallery
書き出し
- export clientvariable test.json
読み込み
- import clientvariable test.json
OEM | 以前のバージョン | 新しいバージョン |
ehcache | 2.10.3 | 2.10.92 |
netty | 3.9.9 | 4.1.89、4.1.109 |
postgresql | 42.5.1 | 42.7.3 |
quartz | 2.2.1 | 2.4.0 |
solr war | 8.11.2 | 8.11.3 |
xalan | 2.7.1 | 2.7.3 |
zookeeper | 3.3.2、3.6.2 | 3.8.4 |
solr-core、solr-solrj | 8.9.0 | 8.11.3 |
cxf | 4.0.1 | 4.0.5 |
これらの JAR は、以前のリリースで既に更新されていた古く脆弱性のあるバージョンだったので、削除されました。
バグ ID | 説明 | コンポーネント |
---|---|---|
CF-4222080 |
Firefox でスケジュール済みタスクを作成または変更できません。 | Administrator |
CF-4219674 |
ColdFusion Administrator で IDP または SP 設定を追加または更新すると、「変数が定義されていません」というエラーが発生します。 |
Administrator |
CF-4222881 |
RAM ドライブから S3 バケットにファイルをアップロードできません。 | クラウドサービス |
gcpfirestore パッケージがインストールされていない場合、getCloudService でエラーが発生します。 |
クラウドサービス |
|
ColdFusion 2023 では、cfhtmltopdf orientation="landscape" の属性が無視されます。 |
ColdFusion パッケージ |
|
CF-4220122 |
cfsearch テストページが読み込まれるたびに、システムスレッドの数が増加します。 |
ColdFusion パッケージ |
CF-4219563 |
purgecache コマンドが cfpm コマンドラインインターフェイス内でのみ機能します。cfpm purgecache を使用すると、コマンドが正常に動作しません。 | ColdFusion パッケージ |
CF-4223452 |
バッチモードで cfpm install コマンドを使用して複数のパッケージをインストールできません。ただし、cfpm コマンドラインインターフェイスを使用すると可能です。 例えば、次のコマンドを実行すると、パッケージがインストールされます。 C:\ColdFusion2021\cfusion\bin\cfpm しかし、次のコマンドを実行すると、パッケージがインストールされません。 C:\ColdFusion2021\cfusion\bin\cfpm install document, htmltopdf |
ColdFusion パッケージ |
setter 関数に間違った名前付きパラメーターを使用すると、間違った関数名が例外で報告されます。 |
コアランタイム |
|
JEE インストールでは、スプレッドシートで空白抑制を使用できません。 |
コアランタイム |
|
CF-4220502 |
true ステートメント内で getter 配列構文が使用されている場合にのみ、三項ステートメントで構文エラーが発生することがあります。 |
コアランタイム |
CF-4204716 |
一部のスケジュール済みタスクでは、cfquery タグがスケジュール済みタスク内で失敗し、メッセージと原因が返されません。 |
データベース |
QoQ を日付列で並べ替えようとすると、Java タイムスタンプエラーが発生します。 |
データベース |
|
|
Oracle サーバー v19.23 を v19.24 に更新し、ColdFusion Administrator の「データソース」で接続を確認すると、次のエラーメッセージが表示されます。 データソースの接続確認に失敗しました : DATASOURCE_A java.sql.SQLException: [DataDirect][Oracle JDBC Driver]arraycopy: destination index -1 out of bounds for byte[128] 詳しくは、コミュニティフォーラムの投稿を参照してください。 |
データベース
|
CF-4221077 |
MySQL DB から 0000-00-00 00:00:00 文字列を読み取ると、エラーメッセージが表示されます。 修正により、MySQL ドライバーの最新バージョンでデータ型が文字列から DateTime に変更されたので、DateTime 値が TimeStamp に変換されます。 回避策として、DateTime 出力を文字列として取得するには、フラグ -Dcoldfusion.jdbc.datetime.str=true |
データベース |
CF-4222036 |
MySQL から zeroDateTime を TimeStamp として読み取ると、java.sql.SQLException zeroDate is prohibed というエラーが発生します。回避策として、JDBC 接続文字列に zeroDateTimeBehavior=convertToNull を設定してください。 |
データベース |
CF-4219530 |
クエリオブクエリで日付列で並べ替えようとすると、Java タイムスタンプエラーが発生することがあります。 | データベース |
|
クエリを実行しようとすると、JDBC 例外が発生することがあります。
|
データベース
|
|
ColdFusion Administrator で PDF サービスを有効にし、列を含む PDF を生成すると、PDF 出力の列が正常に配置されません。 | ドキュメント管理
|
|
セットアップで、「デフォルトのクライアントストレージ」や「破棄の間隔」など、クライアント変数ページの ColdFusion Administrator 設定が表示またはエクスポートされません。 | インストール/設定
|
|
等価演算子(eq)が正常に機能しません。
|
言語
|
|
ColdFusion では generate3DesKey 関数をサポートしていますが、この関数がドキュメント化されていないか、getfunctionlist() の戻り値に含まれていません。
|
言語
|
|
抽象クラスから静的メソッドを呼び出すことができません。
|
言語
|
|
複数の CFC を含んだ構造体をダンプすると、上位の CFC のメソッドが下位の CFC に反映されます。
|
言語
|
|
チェーン化を使用した構造体キーで、関数が存在する場合は ColdFusionで例外が発生します。
|
言語
|
|
カスタムログの書き込み時に、メッセージに二重引用符が含まれている場合、ログの書き込み時に二重引用符がエスケープされず、ログが有効な CSV ではなくなります。
|
ログ
|
|
cfstat.bat -x を実行すると、Null ポインター例外が発生します。
|
ロギング
|
|
アップデートの適用後、coldfusion-out.log が正常に更新されません。詳しくは、コミュニティフォーラムの投稿を参照してください。
|
ロギング
|
|
ColdFusion が、Ed25519 などの新しい OpenSSH キーアルゴリズムを使用して sFTP 接続を処理できません。回避策として、次の JVM フラグを追加してください。
|
ネットプロトコル
|
CF-4212578 |
cfhttp を使用してファイルを送信する場合、ファイル名に完全なサーバーパスが含まれます。サードパーティの API にファイルを送信することは、セキュリティ上のリスクを伴う可能性があり、web 標準に準拠していません。 |
ネットプロトコル |
|
Application.cfm の使用時に REST サービスを登録できません。
|
REST サービス
|
|
cfreport が正常に機能しません。次のエラーメッセージが表示されます。 行 4、文字 326 にエラーがあります : net.sf.jasperreports.engine.xml.JasperDesignFactory 問題が引き続き断続的に発生する場合は、Felix キャッシュをクリアし、ColdFusion を再起動してください。 |
レポート機能
|
|
initSAMLAuthRequest 関数を実行すると、Null ポインター例外が断続的に発生します。
|
セキュリティ
|
|
cfsearch のコンテキスト結果を表示する際に、特殊文字が正常に表示されません。
|
検索
|
|
Unix でアドオンを再起動した後、Solr コレクションが Administrator UI に表示されません。回避策として、cfjetty ファイルを手動で更新し、solr.home 値を最新の値にハードコードして、jetty を再起動してください。
|
検索
|
|
サンドボックスを有効にし、action="write" と file output= "jpg" を指定して <cfimage> タグを使用すると、ColdFusion が予期しない動作をします。
|
サンドボックス
|
|
graphql モジュールのインストール後、cfc または cfm ファイルのデバッグが正常に機能しない場合があります。
|
VS Code プラグイン
|
既知の問題
- HTMLToPDF パッケージがインストールされていても、ColdFusion Administrator の Adobe PDF Services ページが読み込まれません。回避策として、Felix キャッシュ(<cf_home>/cfusion/bin/felix-cache)をクリアしてください。
- 最新アップデートのインストール後、Oracle データソースの確認に失敗します。回避策として、Felix キャッシュをクリアし、ColdFusion を再起動してください。
- .odt 拡張子のファイルなど、Open Document Format ファイルをインデックス化する際に例外が発生します。
前提条件
- 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 を再起動して変更を有効にします。
オフラインモードでのアップデートの手動インストール
- このリンクから、ホットフィックスインストーラーをダウンロードします。
- このリンクから packages zip ファイルをダウンロードし、その内容を、すべてのColdFusion サーバーインスタンスからアクセスできる場所に展開します。
- cfusion およびそのすべての子インスタンスの cfusion/lib/neo_updates.xml で「packagesurl」を更新して、ダウンロードしたフォルダー内にある <InstallerRepositoryUnzippedPath>/bundles/bundlesdependency.json を指すようにします。
ColdFusion サービスを開始したり停止する特権と ColdFusion ルートディレクトリへのフルアクセスが必要です。
- Windows:<cf_root>\jre\bin\java.exe -jar <InstallerRepositoryUnzippedPath>\bundles\updateinstallers\hotfix-011-330706.jar
- Linux ベースのプラットフォーム:<cf_root>/jre/bin/java -jar <InstallerRepositoryUnzippedPath>/bundles/updateinstallers/hotfix-011-330706.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,11,330706
になるはずです。
アンインストール
アップデートをアンインストールするには、以下のいずれかの操作を行います。
- ColdFusion Administrator で、「サーバーアップデート/アップデート/インストール済みアップデート」に移動して「アンインストール」をクリックします。
- コマンドプロンプトからアップデートのアンインストーラーを実行します。例:java -jar {cf_install_home}/{instance_home}/hf_updates/hf-2023-00011-330706/uninstall/uninstaller.jar
上記のアンインストールオプションを使用してもアップデートをアンインストールできない場合、アンインストーラーが破損している可能性があります。ただし、次の操作を実行すれば、手動でアップデートをアンインストールできます。
- {cf_install_home}/{instance_name}/lib/updates からアップデート jar を削除します。
- {cf_install_home}/{instance_name}/hf-updates/{hf-2023-00011-330706}/backup ディレクトリから {cf_install_home}/{instance_name}/ にすべてのフォルダーをコピーします。
コネクタ設定
2023 年アップデート | コネクタの再作成が必要 |
---|---|
アップデート 11 | いいえ ただし、アップデート 4 またはそれ以前からアップグレードする場合は、コネクタを再作成する必要があります。 コネクタの作成と設定について詳しくは、次のドキュメント参照してください。 |
アップデート 10 | いいえ ただし、アップデート 4 またはそれ以前からアップグレードする場合は、コネクタを再作成する必要があります。 コネクタの作成と設定について詳しくは、次のドキュメント参照してください。 |
アップデート 9 | いいえ ただし、アップデート 4 またはそれ以前からアップグレードする場合は、コネクタを再作成する必要があります。 コネクタの作成と設定について詳しくは、次のドキュメント参照してください。 |
アップデート 8 | いいえ ただし、アップデート 4 またはそれ以前からアップグレードする場合は、コネクタを再作成する必要があります。 コネクタの作成と設定について詳しくは、次のドキュメント参照してください。 |
アップデート 7 | いいえ
ただし、アップデート 4 またはそれ以前からアップグレードする場合は、コネクタを再作成する必要があります。 コネクタの作成と設定について詳しくは、次のドキュメント参照してください。 |
アップデート 6 | いいえ ただし、アップデート 4 またはそれ以前からアップグレードする場合は、コネクタを再作成する必要があります。 コネクタの作成と設定について詳しくは、次のドキュメント参照してください。 |
アップデート 5 | はい |
アップデート 4 | いいえ |
アップデート 3 | いいえ |
アップデート 2 | いいえ |
アップデート 1 | いいえ |