ColdFusion(2023 リリース)アップデート 11

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 を使用する場合

  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.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

OEM の削除

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

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

修正されたバグ

バグ ID 説明 コンポーネント
CF-4222080
Firefox でスケジュール済みタスクを作成または変更できません。 Administrator
CF-4219674
ColdFusion Administrator で IDP または SP 設定を追加または更新すると、「変数が定義されていません」というエラーが発生します。
Administrator
CF-4222881
RAM ドライブから S3 バケットにファイルをアップロードできません。 クラウドサービス

CF-4218942

gcpfirestore パッケージがインストールされていない場合、getCloudService でエラーが発生します。

クラウドサービス

CF-4219706

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
cfpm> install document, htmltopdf

しかし、次のコマンドを実行すると、パッケージがインストールされません。

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

ColdFusion パッケージ

CF-4219119

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

コアランタイム

CF-4198437

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

コアランタイム

CF-4220502
true ステートメント内で getter 配列構文が使用されている場合にのみ、三項ステートメントで構文エラーが発生することがあります。
コアランタイム
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-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 タイムスタンプエラーが発生することがあります。 データベース

CF-4220030

 

 

クエリを実行しようとすると、JDBC 例外が発生することがあります。

 

 

データベース

 

 

CF-4222563

 

 

ColdFusion Administrator で PDF サービスを有効にし、列を含む PDF を生成すると、PDF 出力の列が正常に配置されません。 

ドキュメント管理

 

 

CF-4217457

 

 

セットアップで、「デフォルトのクライアントストレージ」や「破棄の間隔」など、クライアント変数ページの ColdFusion Administrator 設定が表示またはエクスポートされません。

インストール/設定

 

CF-4220000

 

 

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

 

 

言語

 

 

CF-4212709

 

 

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

 

 

言語

 

 

CF-4215583

 

 

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

 

 

言語

 

 

CF-4222022

 

 

複数の CFC を含んだ構造体をダンプすると、上位の CFC のメソッドが下位の CFC に反映されます。

 

 

言語

 

 

CF-4222005

 

 

チェーン化を使用した構造体キーで、関数が存在する場合は ColdFusionで例外が発生します。

 

 

言語

 

 

CF-4214319

 

 

カスタムログの書き込み時に、メッセージに二重引用符が含まれている場合、ログの書き込み時に二重引用符がエスケープされず、ログが有効な CSV ではなくなります。

 

 

ログ

 

CF-4212463

 

 

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

 

 

ロギング

 

 

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-4212578
cfhttp を使用してファイルを送信する場合、ファイル名に完全なサーバーパスが含まれます。サードパーティの API にファイルを送信することは、セキュリティ上のリスクを伴う可能性があり、web 標準に準拠していません。
ネットプロトコル

CF-4219459

 

 

Application.cfm の使用時に REST サービスを登録できません。

 

 

REST サービス

 

 

CF-4212391

 

 

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

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

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

 

レポート機能

 

 

CF-4219575

 

 

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

 

 

セキュリティ

 

 

CF-4219353

 

 

cfsearch のコンテキスト結果を表示する際に、特殊文字が正常に表示されません。 

 

 

検索

 

 

CF-4222210

 

 

Unix でアドオンを再起動した後、Solr コレクションが Administrator UI に表示されません。回避策として、cfjetty ファイルを手動で更新し、solr.home 値を最新の値にハードコードして、jetty を再起動してください。

 

 

検索

 

 

CF-4220241

 

 

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

 

 

サンドボックス

 

 

CF-4222549

 

 

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 ファイルをインデックス化する際に例外が発生します。

前提条件

  1. 64 ビットコンピューターでは、64 ビット版 ColdFusion の 64 ビット JRE を使用します。
  2. ColdFusion サーバーがプロキシの背後にある場合は、サーバーが更新通知を受け取ってアップデートをダウンロードできるようにプロキシ設定を指定してください。スタンドアロンインストールの場合は jvm.config の下のシステムプロパティ、JEE インストールの場合は対応するスクリプトファイルを使用してプロキシ設定を指定します。
    • http.proxyHost
    • http.proxyPort
    • http.proxyUser
    • http.proxyPassword
  3. 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 を再起動して変更を有効にします。

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

  1. このリンクから、ホットフィックスインストーラーをダウンロードします。
  2. このリンクから packages zip ファイルをダウンロードし、その内容を、すべてのColdFusion サーバーインスタンスからアクセスできる場所に展開します。
  3. 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

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

  1. {cf_install_home}/{instance_name}/lib/updates からアップデート jar を削除します。
  2. {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 いいえ

パッケージの更新

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

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

新規ユーザーの場合

Adobe MAX 2025

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

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