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

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

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

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

警告 :

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

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

ColdFusion(2021 リリース)アップデート 11(リリース日:2023年10月6日(PT))には、Administrator、インストーラー、移行、パッケージマネージャー、データベースなどの領域のバグ修正と機能強化が含まれています。このアップデートには、Tomcat(v9.0.78)や他のライブラリ(jackson-databind や Netty など)のアップグレードが含まれています。なお、これは累積的なアップデートで、以前のアップデートによる修正も含んでいます。

この更新で、ライブラリ jackson-databind が 2.9.8 から 2.15.0 にアップグレードされます。このライブラリバージョンでは、java.time.* の POJO 逆シリアル化をサポートしていません。これらのオブジェクトは NULL オブジェクトを返すので、AWS DynamoDB と Azure Service Bus からのデータ損失につながります。詳しくは、「バグ修正」の節を参照してください。

Java 11.0.20 以降を使用している場合は、フラグ java -Djdk.util.zip.disableZip64ExtraFieldValidation=true -jar hotfix.jar
を使用します。

アップデート 12 以降では、このフラグを使用する必要はありません。

注意:

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

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

注意:

今回のアップデートでは、セキュリティ上の理由から、Administrator でのコネクタポートへのアクセスはブロックされます。

このドキュメントのトピック:

cflogging.jar の削除

cflogging.jar ファイルは、cfusion/lib からは削除されていますが、アップデートの適用後に自動的には削除されません。

ファイルを必ず手動で削除してください。

パッケージ更新ワークフローの機能強化

次回のアップデート以降、パッケージのインストール中に、ColdFusion によってコアのバージョンがチェックされ、最新のパッケージを直接インストールするのではなく、コアバージョンと互換性のあるパッケージがインストールされます。

コアサーバーがアップグレードまたはダウングレードされる場合は、その確認を求めるメッセージが ColdFusion から表示されます。

詳しくは、ColdFusion パッケージマネージャーのドキュメントのインストールシナリオを参照してください。

このリリースでのライブラリのアップグレード

ライブラリ 以前のバージョン 新しいバージョン
Tomcat 9.0.74 9.0.78
jackson-databind/jackson-mapper
2.8.8 2.15.0
netty(web ソケット) 3.5.8 3.9.9
netty(クラウドサービス) 4.1.45 4.1.89
Jetty 9.4.31 9.4.51
cxf-core/cxf-rt-frontend-jaxrs/cxf-rt-rs-client
3.0.16 4.0.1
imageio-metadata
3.3.2 3.9.4
java-xmlbuilder
1.1 1.3
commons-fileupload
1.4 1.5
log4j 2.17.2 2.20.0
pebble 2.5.0 3.2.1
esapi.jar
2.2.1.1 2.5.1.0
jquery-ui 1.13.1 1.13.2

Admin API を使用したアクティベーションリクエストの生成

今回のアップデートでは、ColdFusion をアクティベートおよびディアクティベートするための Admin API が導入されました。

注意:

アクティベーション用の関数にアクセスする前に、まず RDS を有効にしてください。

activateNow

新しいシリアルキーを使用して ColdFusion をアクティベートします。

シンタックス

activateNow (string currentSN, string prevSN)

パラメーター

パラメーター 必須/オプション 説明
currentSN 必須 新しいシリアル番号。
prevSN オプション 以前のシリアル番号。

<cfscript>
    // 常にログインが必要。
    adminObj = createObject(“component”,“cfide.adminapi.administrator”)
    adminObjogin(“PASSWORD”  // CF Administrator のパスワード。
    previousSN=“previous serial number”
    currentSN=“new serial number”
    // オブジェクトをインスタンス化する
    myObj=createObject(“component”,“CFIDE.adminapiicense”)
    // 新しいシリアル番号を有効にする
    try{
        myObj.activateNow(currentSNreviousSN)
        writeOutput(“Successfully activated ColdFusion with the new serial number”)
    }
    catch(any e
        writeDump(e)
    }
</cfscript>

deactivateNow

ColdFusion をオンラインモードでディアクティベートします。

シンタックス

deactivateNow()

<cfscript>
    // 常にログインが必要。
    adminObj = createObject(“component”,“cfide.adminapi.administrator”)
    adminObjogin(“PASSWORD”  // CF Administrator のパスワード。// ライセンスオブジェクトをインスタンス化する
    myObj=createObject(“component”,“CFIDE.adminapiicense”)
    // ColdFusion をディアクティベートする
    try{
        myObj.deactivateNow()
        writeOutput(“Successfully dectivated ColdFusion.”)
    }
    catch(any e) {
        writeDump(e)
    }
</cfscript>

Exchange タグの新しい属性

次の Exchange タグに、認証用の新しい属性 usernamepassword および server が追加されました。

コネクタ関連の機能強化

wsconfig の更新で、変更されたファイルのバックアップが作成されるようになりました。例えば、次のファイルがバックアップされます。

  • mod_jk.conf
  • mod_jk.so
  • workers.properties

CFHTTP メソッドの変更点

以前のリリースでは、CFHTTP GET リクエストを実行し、CFHTTPPARAM を使用して本文を渡した場合、本文が削除され、GET リクエストで送信されませんでした。

この更新により、本文が削除されなくなります。

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

バグ ID 説明 コンポーネント
CF-4219159

この更新で、jackson-databind 2.9.8 が 2.15.0 にアップグレードされました。新しいバージョンでは、java.time.* の POJO 逆シリアル化をサポートしていません。これらのオブジェクトは NULL オブジェクトを返すので、AWS DynamoDB と Azure Service Bus からのデータ損失につながります。

AWS Service Bus の例:
_SBClient = getCloudService(application.SBConstants.serviceBusCred, application.SBConstants.serviceBusConf)
 topicRef = _SBClient.getTopic(topicName)
 topicRuntimeInfo = _SBClient.getTopicRuntimeInfo(topicRef.getPath())
 writedump(topicRuntimeInfo)

クラウドサービス:Azure Service Bus
CF-4217635
ColdFusion でカスタムバーコードフォントを読み込めません。
ColdFusion パッケージ:HtmlToPDF
CF-4216051
ColdFusion(2021 リリース)にアップデート 5 を適用した後、CFHTMLTOPDF タグを使用して PDF を生成すると、CFHTMLTOPDF タグが CFC 関数内にあると、拡張 ASCII 文字が誤ったエンコードで返されます。タグが通常の CFM ページに表示されるときは、正しいエンコーディングになっています。
ドキュメント管理:PDF の生成(CFHTML2PDF)
CF-4211764
カスタムフォントを使用すると、<cfhtmltopdf> で空の PDF が生成されます。
ドキュメント管理:PDF の生成(CFHTML2PDF)
CF-4211569
引用符で囲まれていない true または false 値を含んだコンポーネント構造体または配列を追加すると、セッションが Redis に保存されません。
コアランタイム:セッション管理
CF-4218184
mysql パッケージの説明を更新して、mysql パッケージが MYSQL コミュニティデータソースの作成には役立たないことを明示しました。
データベース
CF-4218176
エラーメッセージを更新して、ColdFusion のインストールにスタンドアロンの MySQL JDBC ドライバーが含まれなくなったことを反映させました。
Administrator
CF-4217838
cfquery ステートメントでは、一時テーブルをクリアし、一時テーブルに対する操作を実行したあと一時テーブルを再度クリアして、Macromedia ドライバーの値を返すことができます。同じことが MS JDBC ドライバーでは再現されません。
データベース
CF-4215843

MySQL 8 にアップグレードした後、テーブル名にアンダースコアの付いたテーブルを含んだカスタムタグ cfdbinfo を実行すると、実行が失敗します。例えば、次のスクリプトは失敗します。

<cfdbinfo datasource="#Datasource#" name="DBName" type="columns" table="table_groupOne" />

<cfdump var="#DBName#">

データベース
CF-4215129
cfinvoke または cfscript を使用する SOAP web サービスが正常に動作しないことがあります。
Web サービス
CF-4211276

ColdFusion の移行後、いくつかの日付関数が予期しない動作をし始めました。例えば、次の関数では移行後にエラーが発生します。

DateFormat(queryname.datecolumnname) throws "Error The value class java.time.LocalDateTime cannot be converted to a date."

データベース
CF-4205971
リクエストに通常よりも時間がかかると、Apache が予期しない動作をすることがあります。回避策として、heartbeat_interval=0 を更新するか、このドキュメントの手順に従って mod_jk.so を置き換えます。 インストール/設定:コネクタ
 
CF-4218421
TLS が設定されている SendGrid SMPTP サーバーを使用してメールを送信しようとすると、ColdFusion からエラーメッセージが表示されます。
メール
CF-4218140
クエリの実行時に、「[Macromedia][SQLServer JDBC ドライバー] このドライバーは組み込みアプリケーションで使用するためにロックされています」というエラーが ColdFusion で発生することがあります。
データベース
CF-4216526
cfprocresult タグを使用して PostgreSQL 13 のストアドプロシージャの結果を表示しようとすると、エラーが発生します。 データベース
CF-4212837
環境変数(installModules="ajax")を指定して Docker イメージ(public.ecr.aws/adobe/coldfusion:latest)を実行しても、Ajax モジュールがインストールされません。
CF Docker
CF-4212391
更新後に CFReport が正常に動作せず、エラーが発生します。 CFReport
CF-4217130
暗黙的な構造体作成により、大文字と小文字を区別するキーが生成されます。
言語
CF-4215479
encryption 属性の付いた cfdocument タグを使用すると、「クラスが見つかりません」という例外が発生します。
文書管理
CF-4214540
InitSAMLAuthRequest 関数が Null ポインター例外を断続的に返します。
SAML 統合
CF-4214518
cfreport タグで cfcompile を実行中に、ColdFusion 2021 Docker イメージでエラーが発生します。
ColdFusion Docker イメージ
CF-4212860

createDateTime 関数でうるう年の 2月29日の下記文字列表現を使用する場合、ColdFusion による検証が行われません。エラーメッセージが表示されます。

"Sat Feb 29 17:00:00 AEDT 2020"、"Mon Feb 29 17:00:00 AEDT 2016" または "Wed Feb 29 17:00:00 AEDT 2012"

日時関数
CF-4212735

wsconfig -ws apache -dir C:\Apache24\conf -bin C:\Apache24\bin\httpd.exe -v を実行して Apache コネクタを作成すると、次のエラーメッセージが表示されます。

Apache コントロールスクリプトファイルを特定できませんでした。

コネクタ
CF-4212696
アップデート 3 以降、ColdFusion 2021 AWS イメージでエラーが断続的に発生します。
AWS イメージ
CF-4212581

次の CLI コマンドで例外が発生します。

cf-cli>queryExecute("SELECT * FROM artists", {},

     {datasource="cfartgallery"}

);

CLI:REPL
CF-4212489
Azure BLOB ファイルのアップロード時に、content-type がデフォルトで application/octet-stream に設定されます。同じ目的の新しい属性が導入されています。ColdFusion の Azure BLOB ドキュメントを参照してください。
Azure Blob Storage
CF-4212245
CFSetup ユーティリティ:セッションキー(cfloginusesessionstorageredis)が設定されている場合、ColdFusion ランタイム設定の書き出し/読み込みに失敗します。
CFSetup
CF-4212182

一部の ColdFusion アプリケーションが、ColdFusion 2021 でコンパイルに時間がかかります。ColdFusion 2021 では、パフォーマンスを向上させるために次の最適化が行われます。

  • クラスファイルのディスクへの書き込みを非同期的に行う
  • 同期ブロックを最適化した
  • 文字列ベースではなく整数ベースのトークン比較を行うように先読みを最適化した
言語サーバー
CF-4211229 cfspreadsheet タグで、HTML および CSV ファイル形式に対する操作を実行するとファイルがロックされます。 スプレッドシート
CF-4208163
ormSettings で offset と maxRows を同時に指定すると、Hibernate のエラーが発生します。
ORM のサポート
CF-4217842
AWS Fargate サーバーレスにデプロイされているコマンドボックスコンテナで ColdFusion サーバーをアクティベートできません。
ライセンスとアクティベーション
CF-4215855
ColdFusion サービスを再起動するたびに、ColdFusion が cfc の読み込みに失敗します。エラーメッセージが表示されます。
CFC
CF-4215586
Redis セッションで、10 進数のフィールドを持つ保存済みのオブジェクトが失われます。 Redis セッションストレージ

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 を再起動して変更を有効にします。

注意:

アップデート 11 のインストール後、コネクタをアップグレードする必要があります。

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

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

  1. このリンクから、ホットフィックスインストーラーをダウンロードします。
  2. すべての 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-011-330247.jar
  • Linux ベースのプラットフォーム:<cf_root>/jre/bin/java -jar <InstallerReposityUnzippedPath>/bundles/updateinstallers/hotfix-011-330247.jar

ダウンロードした JAR の実行には、ColdFusion にバンドルされている JRE を必ず使用してください。スタンドアローン ColdFusion の場合、これは <cf_root>/jre/bin にあります。

ColdFusion サービスおよび他の設定済み web サーバーを再起動する権限を持つユーザーアカウントからアップデートをインストールします。

アプリケーションの手動更新について詳しくは、このヘルプ記事を参照してください。

注意:

コアパッケージを更新すると、ダウンロードされたすべてのパッケージが更新されます。また、任意のパッケージを更新すると、コアパッケージと残りのパッケージも更新されます。ColdFusion(2021 リリース)がアップデート 1 の状態にある場合、任意のインスタンスの Administrator を使用してアップデート 11 をインストールすると、他のすべてのインスタンスのコアも更新されます。

同様に、同じインスタンスから更新プログラムをアンインストールすると、一緒に更新されたインスタンスからもアップデートがアンインストールされます。

インストール後

注意:

このアップデートの適用後、ColdFusion のビルド番号は 2021.0.11.330247
になるはずです。

アンインストール

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

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

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

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

コネクタ設定

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

はい

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

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

パッケージの更新

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

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

新規ユーザーの場合

Adobe MAX 2025

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

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