※本ページは、メーカーサイトの情報を部分的に抜粋して紹介していますが、参考情報としてのご紹介であり、内容の正確さや最新さ、推奨を保証するものではありません。また、本ページの内容とオリジナルの英文ページとの間に齟齬や矛盾があった場合(英文ページで情報が追加・変更された場合も含む)には、オリジナルの英文ページの情報を優先して下さい。
米国時間 2024年3月12日(日本時間3月13日(水))に ColdFusion 2021 Update 13が公開されました。このアップデートは、セキュリティ情報 APSB24-14 (優先度3)の修正が含まれます(優先度は、外部サイトでのセキュリティ情報に関するPoCなどが公開される等によって変更される場合があります)。また、いくつかの不具合の修正と内部エンジンTomcatの更新、いくつかのライブラリやColdFusionパッケージの更新が行われています。
(※日本語ページでは、コネクタの再作成が「はい」となっていますが正しくは「いいえ」となります(※※以下の【注意2】を確認してください)。またページ内のアップデートファイルへのリンクが古いままなどになっていますので英語ページを見ることをおすすめします)
:【注意1】【重要】※暗黙のスコープ処理の変更について
今回のUpdateではスコープ インジェクションの脆弱性に対処する重大な変更が含まれています。これまでのColdFusionは、スコープが指定されていない(「#URL.変数名#」や「#Form.変数名#」ではなく、ただ「#変数名#」と記述した)変数については、以下のページの「スコープが指定されていない変数の評価」の順に従って変数を探し、見つかり次第、そのスコープの変数を参照していました。
https://helpx.adobe.com/jp/coldfusion/developing-applications/the-cfml-programming-language/using-coldfusion-variables/about-scopes.html
内、「スコープが指定されていない変数の評価」を参照
ColdFusion 2016からは、Application.cfcで指定可能なアプリケーションレベルの変数(This.searchImplicitScopes)や主にApplication.cfmで使用する<cfapplication>タグのsearchImplicitScopes属性で、CGI・URL・Form・Cookie・File・Client変数の検索の有無の指定が可能になりました。
https://www.samuraiz.co.jp/coldfusion/faq/dl/ColdFusion2016_seminar.pdf#page=35「Adobe ColdFusion2016最新機能のご紹介」のP.35を参考にしてください。
これまで、デフォルトはTrue(スコープが指定されていない時はそれら変数の検索を行う)となっていました。今回のUpdateを適用した後は、これがFalse(スコープが指定されていない時はそれら変数の検索を行わない)に変更となります。
そのため、スコープを指定しないでそれら変数を参照している処理がある場合は、Updateを適用した後は、UndefinedElementExceptionや変数 {xx} は未定義ですのエラーが発生するようになります。
このエラーに該当する場合は、以下のいずれかの方法にて対応を行ってください。
また、以下の方法で、以前と同様の動作に戻す方法も提供されていますが、スコープ インジェクションの脆弱性が発生する可能性があるため、アドビでは searchImplicitScopes は FALSE のまま、問題が発生した場合はプログラムを修正することを強く推奨しています。
【注意2】
Update 13ではWebサーバーコネクタの更新は行われていませんが、Update 10以前の環境からUpdate 13を適用した際は、Update 13を適用した後、接続コネクタの「再定義(一旦コネクタを削除し、再登録)」
を行ってください。
webサーバー設定ツールを起動し、既存のwebサーバーとの接続設定を全て削除します。削除後は、再び前回と同様の設定でWebサーバーとの接続を行って下さい
※「Webサーバー設定ツール」の起動方法についてのColdFusionマニュアル
https://helpx.adobe.com/jp/coldfusion/configuring-administering/web-server-management.html#WebServerManagement-Webserverconfiguration
※参考記事「ColdFusionクリニック」
http://forum.samuraiz.co.jp/cfclinic/foundation/003_wsconfig.html
【注意】
コネクタ関連に修正や設定の変更や追加を行っている
場合は、接続コネクタの再定義によりそれらの値が初期値に戻ります
ので、コネクタの再登録後に変更設定をやり直してください(特にApacheと接続している場合は、cf_scriptsのエイリアスの変更などを mod_jk_vhost.conf に行っていますので、再登録後にその設定を再び反映させるのを忘れないようにしてください
)。接続コネクタの追加や削除時に{cf_install_home}/config/wsconfig/backup フォルダに既存の設定がバックアップされていますので、バックアップしたそれらファイルの内容と比較して、変更を行って下さい。
【注意】
Apacheとの接続を行っている際は、再定義(一旦コネクタを削除し、再登録)によって、再び 503エラーが発生するようになります。
接続コネクタの再定義によりそれらの値が初期値に戻るためです。
コネクタの再登録後に変更設定をやり直してください。Webサーバー(Apache等)と接続後、.cfmページのリクエストが503エラーになる
攻撃者からのリスクを軽減するために、ColdFusion 2016以降は内部Webサーバーを使用したAdministratorへのアクセスが強く推奨され、外部Webサーバーを経由したAdministratorへのアクセスがブロックされています。外部Webサーバーを使用(経由)した Administratorへのアクセスは推奨されておらず、推奨されていない機能に関連する問題が発生した場合メーカーはサポートを行いません
【注意3
】
アドビでは、セキュリティへの備えが必要となるサイトでColdFusionを使用する 場合は、ColdFusionが使用するJavaを最新のリビジョンにすることを推奨しています。UpdateにはJavaの更新は含まれないため、Updateとは別にJavaのインストールとColdFusionのJVM設定の変更が必要となります。サポートするJavaのバージョンやインストール方法・JVM設定の変更方法については、以下の FAQ をご確認ください。
ColdFusionが使用するJVMを変更する方法について(再更新)
また、アドビでは、ColdFusion セキュリティ ページに概要が記載されているセキュリティ構成設定を確認するとともに、それぞれのロックダウン ガイドを適用することを推奨しています。
ColdFusion 2021 Lockdown Guide
※記事中の「サーバー自動ロックダウン」インストーラーについては、強力なセキュリティ設定をインストール・ウィザード形式でステップで行っていける半面、「ColdFusionの実行ユーザー」の変更や「ファイルシステムのアクセス許可の変更によりwebルート以下の書き込みの制限」、「Webサーバー設定」の変更など、既存の運用に影響を生じることが考えられます。そのため、実稼働環境に導入する前に、すべての推奨事項を分離されたテスト環境でテストすることが強く推奨されています。
上記のロックダウンガイドに沿って手動で設定を変更していくことなども検討してください。以下のFAQも参考にしてください
【補足】
従来のバージョンと手順が異なっています
。詳しくは、下記の記事をご参考下さい
画面を開いた時に、『コアサーバー』のアップデートが無い「コアパッケージに対するアップデートはありません。」という表示になることがだいたい2回に1回の割合でありました。外部ネットワークの接続が行えている(直接接続できる、もしくは、プロキシの設定を追加している)にも関わらず、アップデートはありませんとなっている場合は、何回か「パッケージマネージャ」の画面を開いて(画面左、下から2番目のアイコンを何度もクリック)みてください
)(注意)Unix環境では
、手動でUpdateを適用した際は、そのUpdateを実行してユーザーで、新規フォルダやファイルが作成されます。また、再起動も手動でUpdateを実行したユーザーで行われる模様です。そのため、本来と異なる起動ユーザーでColdFusionが実行され、ファイル・フォルダの権限不足エラーなど、動作の障害や404エラーの発生を招くことがあります。この状態になった場合は、Update適用後に再起動された ColdFusion 2021を停止し、下記の手順を実施した後、改めて、通常の方法でColdFusionを起動してください【注意】
をご確認ください)
その他の情報がある場合は、確認次第、情報を追記・修正致します
記事公開日:2024年03月12日
最終更新日:2024年03月13日
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent suscipit iaculis libero sed tristique. Quisque mollis dolor non tellus placerat vitae sodales lectus porta. Curabitur ut suscipit tellus. Maecenas rhoncus, ante vitae vehicula vestibulum, metus sapien dapibus tellus, et mattis dolor neque vitae nisl. Nullam eleifend ultrices ipsum eget pretium. Curabitur semper metus ut ante adipiscing nec volutpat sem rutrum. Nullam a nisi lacus, non interdum ante. Vivamus ante augue, commodo vel egestas sed, pharetra nec dui. Quisque sed tellus felis. Donec ipsum mauris, sagittis eu accumsan in, aliquam non ipsum.
Vestibulum tempor nunc nec felis scelerisque eget elementum erat dignissim. Ut vel ipsum mollis orci venenatis luctus. Aenean vehicula quam vel quam porttitor ac iaculis elit pulvinar. Proin consequat, ipsum eu venenatis semper, justo turpis posuere tortor, ac placerat metus nisl et lectus. Nulla cursus dui id nunc ullamcorper sed semper nisl lobortis. Aliquam erat volutpat. Phasellus arcu ante, imperdiet in ornare sed, laoreet eu massa.