ColdFusion(2016 リリース)アップデート 15
アップデート 14 を適用せずにアップデート 15 を適用する場合は、アップデート 14 のインストール後の手順に従ってください。
注:アップデート 14 を既に使用している場合は、アップデート 15 をすぐにインストールできます。
ColdFusion Administrator でアップデートする場合:
証明書に署名をおこなうコードが最近変更されため、ColdFusion(2016 リリース)にアップデートできるバージョンはアップデート 11 以降になりました。
以下のアップデートは累積的なもので、以前のアップデートがすべて含まれています。以前のアップデートをおこなっていない場合、最新のアップデートを適用することで、以前のアップデートも適用されます。また、スキップしたアップデートでおこなわれた変更をメモしておいてください。
以前のアップデートをインストールするには、「ColdFusion(2016 リリース)のアップデート」を参照してください。
このリリースに含まれるアップデート
ColdFusion(2016 年リリース)アップデート 15(リリース日:2020 年 4 月 14 日)には、APSB20-18 で報告されたセキュリティの脆弱性に関する修正が含まれています。
SameSite 属性
SameSite 属性を使用すると、Cookie をファーストパーティに制限する必要があるかどうかを宣言できます。
Google Chrome Update 80 では、Cookie に SameSite 属性が定義されていない場合、デフォルトですべての Cookie をファーストパーティに設定します。それ以前のバージョンでは、SameSite 属性が設定されていない場合、デフォルトで none に設定され、サードパーティによる共有が有効になります。
cfcookie タグには、SameSite という新しい属性があります。
SameSite 属性には次の値を設定できます。
- Strict
- Lax
- None
使用方法
1. CFCookie
<cfcookie name="name" value="value" samesite="Strict | Lax | None">
2. Auth cookie / Session Cookie (CFID, CFTOKEN)
<cfset cookstruct = {samesite: "Lax"}
<cfapplication authCookie=cookstruct sessioncookie=cookstruct >
使用方法 - Application.cfc
このアップデートでは、次のフラグが追加されました。
this.sessioncookie.samesite = "Strict | Lax | None"
this.authcookie.samesite= "Strict | Lax | None"
例
component {
this.name = "MyApp";
this.sessioncookie.samesite = "Strict";
this.authcookie.samesite = "Lax";
this.sessionmanagement = true;
}
例 — Test.cfm
<cflogin>
<cfloginuser name="john" password="pwd" roles="" />
</cflogin>
使用方法 - cfapplication タグ
<cfset cookiest = {httponly='true', timeout=createTimeSpan(1, 0, 0, 0), samesite='Strict | Lax | None'}>
<cfset authcookiest = {samesite='Strict | Lax | None'}>
<cfapplication name="newApp" sessionmanagement="Yes" authCookie=#authcookiest# sessioncookie=#cookiest# >
注:cfapplication タグまたは Application.cfc に SameSite 属性がない場合、それぞれの session/auth cookie はサーバーレベルの SameSite 属性を使用します。この属性は、ColdFusion の管理者が「メモリ変数」セクションで設定します。
ColdFusion 2016 年リリースのアップデート 15 を使用すると、アプリケーションサーバーによっては SameSite 属性がデフォルトの設定で予期したとおり動作しない場合があります。詳しくは、アプリケーションサーバーのマニュアルを参照してください。
回避策はありますが、アプリケーションサーバーの公式ドキュメントを参照してください。
JEE 設定の回避策
EAP/Wildfly
いくつかの回避策があります。
- Undertow でカスタムフィルタを作成します(EAP 7.2 以降の場合)。
- JBoss EAP に含まれる Apache HTTPD サーバーの mod_headers の Header ディレクティブで SameSite フラグを設定します。
詳しくは、「EAP 7 の JSESSIONID Cookie で SameSite フラグを設定する」を参照してください。
Tomcat
context.xml では、SameSite 属性を設定できます。
<コンテキスト>
<CookieProcessor sameSiteCookies="strict" />
</コンテキスト>
WebSphere
WebSphere の場合は、Apache HTTP Server を使用して既存の Cookie を置き換えることをおすすめします。詳しくは、WebSphere の公式ドキュメントを参照してください。
WebSphere では、この問題の修正が公開されています。お使いのバージョンの修正をダウンロードします。
前提条件
- 64 ビット コンピューターでは、32 ビット版 ColdFusion には 32 ビット JRE を、64 ビット版 ColdFusion には 64 ビット JRE を使用します。
- ColdFusion サーバーがプロキシの背後にある場合は、サーバーが更新通知を受け取ってアップデートをダウンロードできるようにプロキシ設定を指定してください。スタンドアロンインストールの場合は jvm.config の下のシステムプロパティ、JEE インストールの場合は対応するスクリプトファイルを使用してプロキシ設定を指定します。
- http.proxyHost
- http.proxyPort
- http.proxyUser
- http.proxyPassword
- JEE アプリケーションサーバー上で実行している ColdFusion の場合、アップデートをインストールする前に、すべてのアプリケーションサーバーインスタンスを停止します。
インストール
このアップデートのインストール方法については、「サーバー更新」セクションをご覧ください。アップデートに関する質問については、この FAQ をご覧ください。
- アップデートはColdFusion インスタンスの Administrator か、コマンドラインオプションでインストールできます。
- Windows ユーザーは、「スタート/すべてのプログラム/Adobe/Coldfusion 2016/Administrator」を使用して ColdFusion Administrator を起動できます。
- Microsoft Windows 7、Windows 8、Windows 10、Windows Server 2008、または Windows Server 2012 のユーザーは、「管理者として実行」オプションを使用して wsconfig ツール({cf_install_home}/{instance_name}/runtime/bin にある)を起動する必要があります。
- 「ダウンロードおよびインストール」オプションを使用してアップデートをインストールするときに、次のエラーが表示された場合、フォルダー {cf_install_home}/{instance_name}/hf_updates に書き込み権限があることを確認します。「{cf_install_home}/{instance_name}/hf-updates/hotfix_015.properties のファイルで書き込みファイル操作を実行するときにエラーが発生しました。」
- コネクタ設定ファイルは、{cf_install_home}/config/ wsconfig /backup にバックアップされます。コネクタの再構成後、worker.properties ファイルにおこなわれたカスタム変更をすべて元に戻します。
アップデートの手動インストール
- このリンクをクリックして、アップデート JAR をダウンロードします。
- ダウンロードした JAR で、以下のコマンドを実行します。ColdFusion サービスを開始したり停止する特権と ColdFusion ルートディレクトリへのフルアクセスを持つ必要があります。
Windows:<cf_root>/jre/bin/java.exe -jar <jar-file-dir>/hotfix-015-318650.jar
Linux ベースのプラットフォーム:<cf_root>/jre/bin/java -jar <jar-file-dir>/hotfix-015-318650.jar
ダウンロードした JAR の実行には、ColdFusion にバンドルされている JRE を必ず使用してください。スタンドアローン ColdFusion の場合、これは <cf_root>/jre/bin にあります。
ColdFusion サービスおよび他の設定済み Web サーバーを再起動する権限を持つユーザーアカウントからアップデートをインストールします 。
アプリケーションを手動で更新する方法については、このヘルプ記事をご覧ください。
インストール後
このアップデートの適用後、ColdFusion のビルド番号は 2016,0,15,318650
になるはずです。
インストール後は、コネクタを再ビルドまたは再設定することをおすすめします。
注:これは、アップデート 14 を適用せずにアップデート 15 を適用した場合の説明です。
Web サイトを表示したときに Error 503 または Error 403 が発生した場合は、アップデート 14 のテクニカルノートにあるトラブルシューティング手順を参照してください。
アンインストール
アップデートをアンインストールするには、以下のいずれかの操作を行います。
- ColdFusion Administrator で、「サーバーアップデート/アップデート/インストール済みアップデート」に移動して「アンインストール」をクリックします。
- コマンドプロンプトからアップデートのアンインストーラーを実行します。例:java -jar {cf_install_home}/{instance_home}/hf_updates/hf-2016-00015-318650/uninstall/uninstaller.jar
上記のアンインストールオプションを使用してもアップデートをアンインストールできない場合、アンインストーラーが破損している可能性があります。ただし、次の操作を実行すれば、手動でアップデートをアンインストールできます。
- {cf_install_home}/{instance_name}/lib/updates からアップデート jar を削除します。
- {cf_install_home}/{instance_name}/hf-updates/{hf-2016-00014-318650}/backup ディレクトリから {cf_install_home}/{instance_name}/ にすべてのフォルダーをコピーします。