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

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

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

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

警告 :

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

注意:

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

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

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

ColdFusion(2021 リリース)アップデート 17(リリース日:2024年10月14日(PT))には、Administrator、言語、CFSetup、データベースなどの領域のバグ修正と機能強化が含まれています。このアップデートには、netty、ehcache などのライブラリのアップグレードが含まれています。 

更新を続行する前に、既知の問題を確認してください。

重要

このアップデートの適用後、HTMLToPDF パッケージのインストールと Oracle データソースの検証を行うための回避策として、Felix キャッシュをクリアすることをお勧めします。

すべてのデプロイメントでの空白抑制

効率的な空白抑制により、ColdFusion で削除しなければ CFML ソースファイルに残っている可能性のある多くの余分な空白、タブおよび復帰文字が削除されるので、ColdFusion からブラウザーに返されるページのファイルサイズが小さくなります。

ColdFusion のホワイトスペースは、ColdFusion Administrator(サーバーの設定/設定)で有効または無効にすることができます。

変更点

このリリースでは、ColdFusion のすべてのデプロイメントで空白抑制が可能です。例えば、Administrator や Admin API を使用して、JEE デプロイメントでのホワイトスペースの使用を許可できます。

ColdFusion Administrator を使用する場合

  1. ColdFusion Administrator を起動します。

  2. サーバーの設定/設定
    を選択します。

  3. 「空白抑制の有効化」チェックボックスを選択します。

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>

CFSetup でのクライアント変数のサポート

CFSetup を使用してクライアント変数を表示したり設定したりできます。ColdFusion では、クライアント変数で次の設定をサポートしています。

クライアント設定

  • クライアントセッションのデフォルトストレージ(clientStore)
  • パージ間隔(purgeIntervalInMinutes)

クライアントストア

レジストリ

  • 説明 - 文字列(description)
  • 指定の日数の間アクセスされていないクライアントのデータをパージする - 日数(purgeDataUnvisitedForDays)(変更可能)
  • クライアント変数のグローバルな更新を無効にする - ブーリアン(disableGlobalClientVariableUpdates)(変更可能)
  • タイプ - レジストリ(type)
  • 名前 - レジストリ(name)
  • パージ - ブーリアン(enableToPurgeUnvisited)

JDBC

  • 説明 - 文字列(description)(変更可能)
  • クライアントデータベーステーブルの作成 - ブーリアン(サポートされていません)
  • 指定の日数の間アクセスされていないクライアントのデータをパージする - 日数(purgeDataUnvisitedForDays)(変更可能)
  • パージ - ブーリアン(enableToPurgeUnvisited)
  • 名前 - 既存のデータソースの名前にする必要があります(name)
  • クライアント変数のグローバルな更新を無効にする - ブーリアン(disableGlobalClientVariableUpdates)(変更可能)

Cookie

  • description:クライアントベースのテキストファイル。
  • disableGlobalClientVariableUpdates:false
  • enableToPurgeUnvisited:true
  • purgeUnvisitedDataInDays:10
  • storageName:COOKIE
  • type: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 のアップグレード

OEM 以前のバージョン 新しいバージョン
ehcache 2.10.3 2.10.92
netty 3.9.9 4.1.89、4.1.109
postgresql 42.2.14 42.7.3
quartz 2.2.1 2.4.0

solr war

SOLR のアップグレードについては、ColdFusion のセキュリティリスクを軽減するための SOLR のアップグレードを参照してください。

7.2.1 8.11.3
xalan 2.7.1 2.7.3
cxf 4.0.1 4.0.5

OEM の削除

  • nimbus v6.4
  • xmlbeans v2.3.0
  • netty-reactive-streams v2.0.0
これらの OEM が削除された理由:

これらの JAR は、以前のリリースで既に更新されていた古く脆弱性のあるバージョンだったので、削除されました。

修正されたバグ

バグ ID 説明 コンポーネント
CF-4222080
Firefox でスケジュール済みタスクを作成または変更できません。 Administrator
CF-4211503
特定の画像をフォームの最初のフィールドとしてアップロードすると、後続のフォームフィールドが POST リクエストに現れれなくなります。
CFForm
CF-4216637
CFImage タグを使用して画像のサイズを変更できません。 CFImage
CF-4222881
RAM ドライブから S3 バケットにファイルをアップロードできません。 クラウドサービス
CF-4220122
cfsearch テストページが読み込まれるたびに、システムスレッドの数が増加します。
ColdFusion パッケージ
CF-4219563
purgecache コマンドが cfpm コマンドラインインターフェイス内でのみ機能します。cfpm purgecache を使用すると、コマンドが正常に動作しません。 ColdFusion パッケージ
CF-4223452

バッチモードで cfpm install コマンドを使用して複数のパッケージをインストールできません。ただし、cfpm コマンドラインインターフェイスを使用すると可能です。例えば、次のコマンドを実行すると、パッケージがインストールされます。

C:\ColdFusion2021\cfusion\bin\cfpm install document, htmltopdf

しかし、次のコマンドではパッケージがインストールされません。

C:\ColdFusion2021\cfusion\bin\cfpm install document, htmltopdf

ColdFusion パッケージ

CF-4219119

setter 関数に間違った名前付きパラメーターを使用すると、間違った関数名が例外で報告されます。

コアランタイム

CF-4198437

JEE インストールでは、スプレッドシートで空白抑制を使用できません。

コアランタイム

CF-4220502
配列型のプロパティを含んだコンポーネントでは、三項の true ステートメントセクション内に配列構文が含まれる状態で getter を使用すると、コンパイル時に NullPointerException が発生します。
コアランタイム
CF-4204716
一部のスケジュール済みタスクでは、cfquery タグがスケジュール済みタスク内で失敗し、メッセージと原因が返されません。
データベース

CF-4219530

QoQ を日付列で並べ替えようとすると、Java タイムスタンプエラーが発生します。

データベース

CF-4222965 

 

 

 

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-4223940
最新アップデートの適用後、Oracle データソースの確認に失敗します。この問題を解決するには、Felix キャッシュをクリアし、ColdFusion を再起動してください。
データベース
CF-4220030 
クエリを実行しようとすると、JDBC 例外が発生することがあります。
データベース
CF-4222036 
mysql から zeroDateTime を TimeStamp として読み取ると、java.sql.SQLException zeroDate is prohibited というエラーが発生するようになりました。
データベース

CF-4210894

 

 

PDF フォームの画像フィールドに入力できません。
ドキュメント管理

CF-4219797

 

 

インストールされている Java のバージョンが 11.0.18 より大きい場合、PDF サービスマネージャーが正常に登録されません。次のエラーメッセージが表示されます。

 

"エラー","Thread-39","03/15/23","10:55:55","","サービスマネージャーの登録エラー : .http://127.0.0.1:8993/PDFgServlet/.Reason: SERVER ERROR".

ドキュメント管理

 

 

CF-4217457

 

 

cfsetup で、ColdFusion Administrator のクライアント変数設定が表示されないか書き出されません。

 

 

インストール/設定

 

 

CF-4220000

 

 

等価演算子(eq)が正常に機能しません。

 

 

言語

 

 

CF-4217594

 

 

クエリで、最初の位置以外の任意の位置について、indexOf 関数が -1 をインデックスとして返します。 

 

 

言語

 

 

CF-4215309

 

 

クロージャを含んだ構造体キーが、大文字と小文字の区別を維持しません。

 

 

言語

 

 

CF-4215751

 

 

null 変数を同一性演算子 === で比較できません。回避策として、等価演算子 == を使用してください。

 

 

言語

 

 

CF-4213591

 

 

ローカルスコープの変数を配列内の 1 つ以上の項目として含んだ cfelseif タグの条件ステートメント内で呼び出される関数に配列リテラルを渡すと、例外が表示されます。

 

 

言語

 

 

CF-4212709

 

 

ColdFusion では generate3DesKey 関数をサポートしていますが、この関数がドキュメント化されていないか、getfunctionlist() の戻り値に含まれていません。

 

 

言語

 

 

CF-4215583

 

 

抽象クラスから静的メソッドを呼び出すことができません。

 

 

言語

 

 

CF-4222022 
複数の CFC を含んだ構造体をダンプすると、上位の CFC のメソッドが下位の CFC に反映されます。
言語
CF-4222005 
チェーン化を使用した構造体キーで、関数が存在する場合は ColdFusionで例外が発生します。
言語
CF-4219723 
アップデート 11 の適用後、toArray 関数が正常に機能しません。
言語 

CF-4212463

 

 

cfstat.bat -x を実行すると、Null ポインター例外が発生します。

 

 

ログ

 

 

CF-4216823

 

 

ColdFusion Administrator のデバッグとロギング/ログファイルページでファイル操作を許可します。

 

 

ログ

 

 

CF-4219897 
アップデートの適用後、coldfusion-out.log が正常に更新されません。詳しくは、コミュニティフォーラムの投稿を参照してください。
ログ

CF-4221161

 

 

ColdFusion が、Ed25519 などの新しい OpenSSH キーアルゴリズムを使用して sFTP 接続を処理できません。回避策として、次の JVM フラグを追加してください。

  • -Dcoldfusion.sftp.enable-ssh-rsa=TRUE(ssh-rsa アルゴリズムを有効にする場合)。このフラグのデフォルト値は FALSE です。 

  • -Dcoldfusion.sftp.fingerprint=md5(md5 を設定する場合)。このフラグのデフォルト値は SHA256 です。 

ネットプロトコル

 

 

CF-4216277

cfpm scan コマンド([path] と [serverurl] を指定)を実行すると、エラーが発生します。 

エラー : CODEBASEPATH [path] が見つかりません

これは、パスが存在する場合も同様です。

パッケージ
CF-4219459 
Application.cfm の使用時に REST サービスを登録できません。
REST サービス

CF-4212391

 

 

cfreport が正常に機能しません。次のエラーメッセージが表示されます。

行 4、文字 326 にエラーがあります : net.sf.jasperreports.engine.xml.JasperDesignFactory

問題が引き続き断続的に発生する場合は、Felix キャッシュをクリアし、ColdFusion を再起動してください。

 

レポート機能

 

 

CF-4220241 
サンドボックスを有効にし、action="write" と file output= "jpg" を指定して <cfimage> タグを使用すると、ColdFusion が予期しない動作をします。
サンドボックス

CF-4219575

 

 

initSAMLAuthRequest 関数を実行すると、Null ポインター例外が断続的に発生します。

 

 

セキュリティ

 

 

CF-4223921
Open Document Format ファイル(.odt 拡張子など)をインデックス化しようとすると、例外が発生します。
検索
CF-4222210 
Unix でアドオンを再起動した後、Solr コレクションが Administrator UI に表示されません。回避策として、cfjetty ファイルを手動で更新し、solr.home 値を最新の値にハードコードして、jetty を再起動してください。
検索

 

既知の問題

  • HTMLToPDF パッケージがインストールされていても、ColdFusion Administrator の Adobe PDF Services ページが読み込まれません。回避策として、Felix キャッシュ(<cf_home>/cfusion/bin/felix-cache)をクリアしてください。
  • 最新アップデートのインストール後、Oracle データソースの確認に失敗します。回避策として、Felix キャッシュをクリアし、ColdFusion を再起動してください。
  • .odt 拡張子のファイルなど、Open Document Format ファイルをインデックス化する際に例外が発生します。

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 フラグを設定します。

前提条件

  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-017-330334.jar
  • Linux ベースのプラットフォーム:<cf_root>/jre/bin/java -jar <InstallerReposityUnzippedPath>/bundles/updateinstallers/hotfix-017-330334.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.17.330334
になるはずです。

アンインストール

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

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

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

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

コネクタ設定

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

いいえ

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

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

アップデート 16

いいえ

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

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

アップデート 15

いいえ

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

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

アップデート 14

いいえ

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

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

アップデート 13

いいえ

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

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

アップデート 12

いいえ

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

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

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

パッケージの更新

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

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

新規ユーザーの場合

Adobe MAX 2025

Adobe MAX Japan
クリエイターの祭典

2025 年 2 月 13 日
東京ビッグサイト