本セキュリティ情報SC2023-003-587441では、Sitecore製品における重要度が重大(582720)および高(584731)の脆弱性と、その解決策についてお知らせします。 この脆弱性の悪用に成功すると、リモートコード実行ならびに情報への認証されていない不正なアクセスが行われる可能性があります。
Sitecoreのお客様およびパートナー企業の皆様に、以下の情報をご確認の上、影響を受けるすべてのSitecoreのインスタンスに、以下の解決策を適用していただくことを推奨いたします。 また、お客様の環境をセキュリティに対応したバージョンに維持し、遅滞なくセキュリティの修正を適用していただくことを推奨いたします。
この脆弱性は、以下のSitecore製品に影響を与えます。
Sitecore製品 | 影響 |
Experience Manager (XM) | 影響あり* |
Experience Platform (XP) | |
Experience Commerce (XC) | |
Managed Cloud | 影響あり** |
XM Cloud | 影響なし |
Content Hub | 影響なし |
CDP and Personalize (旧称Boxever) | 影響なし |
OrderCloud (旧称Four51 OrderCloud) | 影響なし |
Storefront (旧称Four51 Storefront) | 影響なし |
Moosend | 影響なし |
Send | 影響なし |
Discover (旧称Reflektion) | 影響なし |
Commerce Server | 影響なし |
* この脆弱性は、9.0 Initial Releaseから10.3 Initial Releaseの全てのExperience Platformトポロジー(XM、XP、XC)に影響します。また、8.2にも影響します。
** 影響を受けるExperience Platformバージョンを実行されているManaged Cloudのお客様が対象となります。
このセキュリティ情報は、今後さらなる詳細が判明した場合、更新される場合があります。すべての更新情報の詳細な一覧は、更新履歴節に記載されています。
最新のセキュリティ情報に関する通知をご希望される場合は、セキュリティ情報を購読してください。
お客様およびパートナー企業様に、潜在的なセキュリティ脆弱性の重大度の理解を深めていただくため、Sitecoreではセキュリティ脆弱性の重大度の定義の記事に記載されている定義を使用してセキュリティの問題をご案内いたします。
この脆弱性の影響を緩和するには、 影響を受けるSitecoreシステムに、貴社のデプロイに応じて、以下の解決策を適用していただくことをお勧めいたします。インストール時は、アーカイブ内のReadmeファイルのインストールの指示に従ってください(記載がある場合)。
CMインスタンスにHotfixをインストールした後、貴社の通常の開発方法で、他のインスタンスと同期する必要があります。プレリリースについては、Sitecoreの公式ドキュメントおよび関連するKB記事からのガイドラインを参照してください。
Sitecoreでは、都合がつき次第、恒久的な解決策セクションに記載されている適切な修正をインストールしていただくことをお勧めいたしますが、恒久的な解決策を迅速に適用できない場合は、以下の一時的な回避策を適用していただくことも可能です。
\website root\sitecore modules\Web\ExperienceExplorer\Dialogs\SelectUser.xaml.xml
重要な注意事項: 一時的な回避策は、複雑なSitecore XP環境により素早く適用できる可能性がありますが、エクスプローラー モード プリセットを作成する際の「関連するSitecoreユーザー(Associated Sitecore User)」ダイアログ ウィンドウで、ユーザーを選択することができないなどの副作用が発生します(なお、この場合でもフィールドにユーザー名を直接挿入することは引き続き可能です)。また、この一時的な回避策は、主要なすべての潜在的攻撃ベクトルに対処しますが、リモートコード実行の問題については部分的にしか修正しない点に注意してください。
Hotfixが正常に適用されたことを確認するには、Webサイトの\binフォルダーにあるファイルの SHA256ハッシュと、適用されたhotfixの\binフォルダーにあるファイルのハッシュ値を比較してください。ハッシュ値は、手動で比較するか、WinMergeなどのソフトウェア ツールを使用して比較できます。
アセンブリのSHA256ハッシュは、Windows PowerShellコマンドGet-FileHashを使用して生成できます。たとえば、以下のスクリプト サンプルを使用できます。次のスクリプト サンプルは一例であり、必要に応じて変更しなければならない場合があることに注意してください。
Get-FileHash -Path "path to bin folder\*.dll" -Algorithm SHA256 | Select-Object @{Name='Name';Expression={[System.IO.Path]::GetFileName($_.Path)}}, Hash
Q.この問題はすべてのSitecore XP Coreサーバー ロール(Content Delivery、Content Management、Reporting、Processing、EXM Dispatch)に影響を与えますか?
A.はい、この事象はすべてのSitecore XP Coreサーバー ロールに影響を与えます。 上記の解決策をそれぞれのロールに適用してください。
Q.近いうちにAzure Marketplaceを使用してインスタンス (10.3 など) をインストールする場合、上記のhotfixは含まれますか?それとも手動で適用する必要がありますか? HotfixはAzure Marketplaceで自動的に公開されますか?
A.いいえ、hotfixは自動的にはAzure Marketplaceに公開されません。Azure Marketplaceは、dev.sitecore.netでリリースされたものと同じバージョンをサポートしています。リリースされたバージョンで問題が修正されていない場合、上記の解決策をインスタンスに適用してください。
Q.解決策のhotfixをインストールしたところ、「Calling Namespace.Class.Method method through reflection is not allowed」のようなエラーがスローされました。エラーを解決するにはどうすればよいですか?また、エラーの原因は何ですか?
A.Hotfixはリフレクションを通じた予期しないメソッドの実行を防止する、追加のセキュリティ レイヤーを追加する場合があります。エラーが発生した場合、「Sitecore.Reflection.Filtering.config」ファイルで、呼び出すことができないメソッドをインボケーションのホワイトリストに追加して解決することができます。以下の方法のいずれかを検討してください。
<allowedMethods>
<descriptor type="SampleNameSpace.MyClass" methodName="MyMethod" assemblyName="MyAssembly"/>
</allowedMethods>
<allowedPatterns>ここでの「value」は、「ネームスペース.クラス.メソッド,アセンブリ名」のフォーマットのメソッド名の文字列に一致する正規表現となります。パターンのルールにあてはまるメソッドが渡された場合、警告がロギングされます。警告はメソッドごとに一回ロギングされます。
<pattern value="^Sitecore\..*,Sitecore\..*$"/>
</allowedPatterns>
注意:
<forbiddenMethods>
<descriptor type="SampleNameSpace.MyClass" methodName="MyMethod" assemblyName="MyAssembly"/>
</forbiddenMethods>
Q.この問題のみに対応する非累積型のhotfixをインストールすることはできますか?
A.この問題のみに対応する非累積型のhotfixはありません。すべての修正は、常に1つの累積hotfixにマージされます。最新の累積hotfixを適用することにより、以前にインストールされた修正が誤って失われることがなくなります。累積hotfixに含まれている修正が何であるか確認するには、パッケージ内のリリース ノートを参照してください。たとえば、10.3の場合は、「Sitecore 10.3.x rev. xxxxxx PRE/Documentation/Sitecore.Platform.Releasenotes 10.3.x rev. xxxxxx PRE.md」ファイルを参照してください。
Q.Hotfixがマルウェアに感染していると表示された場合、どうすればよいですか?
A.これは、MicrosoftのSharePointにおける、既知の誤検知に関する問題です。この問題を解決するには、Sitecoreサポートに連絡してください。
Q.バージョン8.2の場合、どのように問題を解決すればよいですか?
A.8.2.7以前のバージョンでは、一時的な解決策セクションに記載されている手順を適用できます。ただし、8.2.7以前のバージョンは既に維持(Sustaining)サポートフェーズに入っており、Sitecoreではそれらのバージョン向けのHofixを今後提供いたしませんので、より新しいバージョンにアップグレードし、対応するhotfixを適用していただくことをお勧めします。
Q.この脆弱性に関する詳細情報を提供することは可能ですか?
A.いいえ、セキュリティ上の理由から詳細情報を提供することはできません。これを行うと、詳細な悪用方法の流出につながり、幅広いお客様に深刻な影響を与える可能性があるためです。
Q.この脆弱性はManaged Cloudのサブスクリプションに影響しますか?
A.はい、この脆弱性は、Managed Cloud StandardおよびManaged Cloud Premiumサブスクリプション双方に影響します。上記の解決策を適用して、脆弱性の影響を緩和してください。