セキュリティ情報 SC2021-001-475944


最新のアップデートに関する情報

説明

この記事では、Sitecoreソフトウェアの重大な脆弱性(SC2021-001-475944)と、その解決策について説明しています。

この問題は、.NETのSystem.Text.Encodings.Web.dllのリモート コード実行脆弱性に関係しています(CVE-2021-26701)。

弊社は、Sitecoreのお客様とパートナー様に下記の情報について熟知していただき、全てのSitecoreシステムに修正を適用していただくことをお勧めいたします。また、お客様の環境をセキュリティに対応したバージョンに維持し、全ての利用可能なセキュリティ修正プログラムを、遅滞なく適用していただくことを推奨いたします。

最新のセキュリティ情報に関する通知を受け取りたい場合は、セキュリティ情報を購読してください。

重大度の定義

お客様およびパートナー様がセキュリティ脆弱性の重大度を理解しやすくなるよう、Sitecoreではセキュリティ脆弱性の重大度の定義の記事に記載されている定義を使用してセキュリティの問題を説明いたします。

バージョン

影響を受けるバージョン

脆弱性SC2021-001-475944は、以下のSitecore XPバージョンに影響します。

上記には、CMSオンリー モードおよびxDB有効化モード、単一インスタンスおよび複数インスタンス環境、Managed Cloud環境、そして全てのSitecoreのサーバー ロール(コンテンツ配信(CD)、コンテンツ編集(CM)、Reporting、Processing、パブリッシュなど)が含まれます。

また、以下のSitecore Commerceバージョンにも影響します。

加えて、幾つかのスタンドアローン サービスも影響を受けます。

影響を受けるバージョン向けの解決策がご利用いただけます。

重要な注意点:

影響を受けないバージョン

以下のSitecore XPバージョンはこの脆弱性の影響を受けません。

Sitecore Commerceおよびその他のモジュールで、「影響を受けるバージョン」の節に記載されていないバージョンについては、この脆弱性の影響を受けません。

解決策

この脆弱性を修正するには、System.Text.Encodings.Web.dllを置き換え、必要に応じてバインディング リダイレクトを適用します。
Sitecoreバージョン9.0 Update-1から10.1 Initial Release(10.0 Update-2は除く)は、更新する必要があります。

オンプレミスのソリューションについては、CVE-2021-26701の「How do I fix the issue」のセクションで言及されているアップグレードを全てのマシンにインストールする必要があります。

※註: Sitecore XP 10.1 Initial Releaseは、Sitecore XP 10.1 Update-1にアップグレードすることを強く推奨いたします。その他の方法としては、System.Text.Encodings.Webアセンブリをアップグレードする方法が考えられます。しかしこの場合、4.7.2にアップグレードする必要があるのに対して、他の影響を受けるSitecore XPバージョンはこのアセンブリのバージョンを4.5.1にアップグレードする事が必要です。

新しいSystem.Text.Encodings.Webパッケージは、以下のリンクから入手できます。
4.5.14.7.2

XP1トポロジーが使用されており、「System.Text.Encodings.Web.dll」が以下の「アセンブリのパス」に存在する場合は、以下の表を参考にコンポーネントをアップデートしてください。

ロール名 アセンブリの
バージョン
アセンブリのパス 設定のパス

 CM

4.5.1 / 4.7.2

 wwwroot\{instance}\bin\

 wwwroot\{instance}\Web.config

 CD

4.5.1 / 4.7.2

 wwwroot\{instance}\bin\

 wwwroot\{instance}\Web.config

 Processing

4.5.1 / 4.7.2

 wwwroot\{instance}\bin\

 wwwroot\{instance}\Web.config

 Reporting

4.5.1 / 4.7.2

 wwwroot\{instance}\bin\

 wwwroot\{instance}\Web.config

 MA

4.5.1 / 4.7.2

 wwwroot\{instance}\bin\

 wwwroot\{instance}\Web.config

 MA Engine

4.5.1 / 4.7.2

 wwwroot\{instance}\App_data\jobs\
continuous\ AutomationEngine\

 {Location path}\
Sitecore.MAEngine.exe.config

  or

 {Location path}\maengine.exe.config

 MA Reporting

4.5.1 / 4.7.2

 wwwroot\{instance}\bin\

 wwwroot\{instance}\Web.config

 Collection

4.5.1 / 4.7.2

 wwwroot\{instance}\bin\

 wwwroot\{instance}\Web.config

 Cortex Processing

4.5.1 / 4.7.2

 wwwroot\{instance}\bin\

 wwwroot\{instance}\Web.config

 Cortext Processing Engine

4.5.1 / 4.7.2

 wwwroot\{instance}\App_Data\jobs\
continuous\ ProcessingEngine

 {Location path}\
Sitecore.ProcessingEngine.exe.config

 Cortex Reporting

4.5.1 / 4.7.2

 wwwroot\{instance}\bin\

 wwwroot\{instance}\Web.config

 Collection Search

4.5.1 / 4.7.2

 wwwroot\{instance}\bin\

 wwwroot\{instance}\Web.config

 Index Worker

4.5.1 / 4.7.2

 wwwroot\{instance}\App_data\jobs\
continuous\IndexWorker\

{Location path}\
Sitecore.XConnectSearchIndexer.exe.config

 RefData

4.5.1 / 4.7.2

 wwwroot\{instance}\bin\

 {Location path}\Web.config

 

XP0トポロジーが使用されており、「System.Text.Encodings.Web.dll」が以下の「アセンブリのパス」に存在する場合は、以下の表を参考にコンポーネントをアップデートしてください。

ロール名 アセンブリの
バージョン
アセンブリのパス 設定のパス

 CM/CD

4.5.1 / 4.7.2

 wwwroot\{instance}\bin\

 wwwroot\{instance}\Web.config

 Collection MA

4.5.1 / 4.7.2

 wwwroot\{collection instance}\App_Data\jobs\ continuous\AutomationEngine\

 {Location path}\
Sitecore.MAEngine.exe.config

  or

 {Location path}\maengine.exe.config

 Collection Index Worker

4.5.1 / 4.7.2

 wwwroot\{collection instance}\App_Data\jobs\ continuous\IndexWorker\

 {Location path}\
Sitecore.XConnectSearchIndexer.exe.config

 ProcessingEngine

4.5.1 / 4.7.2

 wwwroot\{collection instance}\App_Data\jobs\ continuous\ProcessingEngine\

 {Location path}\
Sitecore.ProcessingEngine.exe.config

 Collection

4.5.1 / 4.7.2

 wwwroot\{collection instance}\bin\

 wwwroot\{collection instance}\Web.config

 

脆弱性のあるSystem.Text.Encodings.Web.dllアセンブリは、SearchおよびCollection xConnectロールの「tools」と「collectiondeployment」フォルダーの配下に存在します。このツールはSitecore XPのデプロイメントの間に一回だけ実行され、Sitecore XPの実行コードの一部ではありません。そのため、これらはそのままにして問題ありませんが、必要な場合は両方のフォルダーを削除するか、もしくはアセンブリ バージョン4.7.2にアップデートしても問題ありません。

註: 下記のバインディング リダイレクトの記述で記載されているバージョンは、この記事およびNuGet Galleryで言及されている4.5.1/4.7.2のバージョン表記とは異なりますが、正しいものです。
下記のバージョンは、「System.Text.Encodings.Web」のAssemblyVersion属性の値を示しています。

「設定のパス」欄に示されているファイルを、次の4.5.1バージョン向けのアセンブリ バインディング設定を使用して更新してください。

<dependentAssembly> 
 <assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> 
    <bindingRedirect oldVersion="0.0.0.0-4.0.3.1" newVersion="4.0.3.1" /> 
</dependentAssembly>

Sitecore XP 10.1 Initial Releaseに関しては、「設定のパス」欄に示されているファイルを、次の4.7.2バージョン向けのアセンブリ バインディング設定を使用して更新してください。

<dependentAssembly> 
    <assemblyIdentity name="System.Text.Encodings.Web" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" /> 
    <bindingRedirect oldVersion="0.0.0.0-4.0.5.1" newVersion="4.0.5.1" /> 
</dependentAssembly> 

 

Sitecore Experience Commerceをアップデートする

以下の手順に従って、CommerceエンジンSDKをリビルドし、全てのエンジン インスタンスを再パブリッシュします。

  1. Visual StudioでCommerceエンジンSDKの「Sitecore.Commerce.Engine」プロジェクトを開きます。
  2. NuGet Package Managerを使用して、「System.Text.Encodings.Web」4.5.1の参照をプロジェクトに追加します。
  3. エンジンのソリューションをビルドし、ビルドの出力フォルダーに「System.Text.Encodings.Web」の適切なバージョンが存在することを確認します。
  4. エンジンをパブリッシュし、既存のインスタンスを置き換えます。

Sitecore Experience Commerce 9.0 Initial Release、Update-1、Update-2およびUpdate-3バージョンにも、Sitecore Identityの古いバージョン(1.0から1.4) が含まれていますが、そのバイナリも、「System.Text.Encodings.Web.dll」の影響を受けるバージョンを含んでいます。

脆弱性を解決するには、Sitecore Identity Server SDKをビルドしてパブリッシュする必要があります。

  1. Visual Studioで、Sitecore Identity Server SDKの「Sitecore.IdentityServer」プロジェクトを開きます。
  2. NuGet Package Managerを使用して、「System.Text.Encodings.Web」4.5.1の参照をプロジェクトに追加します。
  3. Identity Serverのソリューションをビルドし、ビルドの出力フォルダーに「System.Text.Encodings.Web」の適切なバージョンが存在することを確認します。
  4. Identity Serverをパブリッシュし、既存のインスタンスを置き換えます。

Sitecore Identity Server SDKの詳細につきましては、このページ(英語)をご参照ください。

 

Sitecore IdentityとSitecore Horizon Standalone Servicesをアップデートする

いくつかのサービスには独自のライフサイクルがあり、異なるバージョンのSystem.Text.Encodings.Web.dllが必要です。当該インスタンスのrootフォルダーのライブラリを置き換えます。

以下のテーブルに記載されているバージョンはアップデートが必要です。

製品名

アセンブリの
バージョン

アセンブリのパス

 Sitecore Identity 2.0.0-4.0.0

4.5.1

 wwwroot\{instance}\ 

 Sitecore Identity 5.0.0

4.5.1

 wwwroot\{instance}\refs\

 Sitecore Identity 5.1.0

4.7.2

 wwwroot\{instance}\

 Sitecore Identity 6.0.0

4.7.2

 wwwroot\{instance}\refs\ 

 Sitecore Horizon 9.3.0

4.5.1

 wwwroot\{instance}\

 Sitecore Horizon 10.1.0

4.7.2

 wwwroot\{instance}\

System.Text.Encodings.Webパッケージの.netstandard2.0 4.5.14.7.2バージョンを使用します。

 

Sitecore Publishing Service Standalone Serviceをアップデートする

ソリューションで使用されているPublishing Serviceのバージョンによって、手順が若干異なります。

更新履歴(英語版)