重要: この資料には、コンピューターのセキュリティ設定を低くする方法や、コンピューターのセキュリティ機能を無効にする方法を示す情報が記載されています。 これらの変更によって特定の問題を回避できますが、 変更を行う前に、特定の環境でこの回避策を実行した際に生じるリスクを評価することをお勧めします。 この回避策を実行する場合は、コンピューターを保護するために、ここに記載された処理以外にも適切な処理を実行してください。
現象
SharePoint Server 用の次の 9 月のセキュリティ更新プログラムをインストールすると、一部の Web パーツ ページ Web サービス メソッドがブロックされる可能性があります。 さらに、"6loz1" または "5mh3d" イベント タグは SharePoint Unified Logging System (ULS) ログに記録されます。
-
SharePoint Foundation 2013 のセキュリティ更新プログラムについて: 2022 年 9 月 13 日 (KB5002159)
-
SharePoint Foundation 2013 のセキュリティ更新プログラムについて: 2022 年 9 月 13 日 (KB5002267)
-
SharePoint Enterprise Server 2016 言語パックのセキュリティ更新プログラムについて: 2022 年 9 月 13 日 (KB5002142)
-
SharePoint Enterprise Server 2016 のセキュリティ更新プログラムについて: 2022 年 9 月 13 日 (KB5002269)
-
SharePoint Server 2019 のセキュリティ更新プログラムについて: 2022 年 9 月 13 日 (KB5002258)
-
SharePoint Server 2019 言語パックのセキュリティ更新プログラムについて: 2022 年 9 月 13 日 (KB5002257)
-
SharePoint Server サブスクリプション エディションのセキュリティ更新プログラムについて: 2022 年 9 月 13 日 (KB5002271)
-
SharePoint Server サブスクリプション エディション言語パックのセキュリティ更新プログラムについて: 2022 年 9 月 13 日 (KB5002270)
原因
SharePoint のセキュリティを強化するために、RenderWebPartForEdit メソッドに強化されたセキュリティ チェックが追加され、属性にプロパティ トラバーサル文字 "." が含まれるコントロールが既定でブロックされました。 これにより、既存の Web パーツ ページ Web サービス メソッドがブロックされる可能性があります。
回避策
注: 既定の機能とその SharePoint Server の依存関係は、web.config ファイルの既定の設定に依存します。 SharePoint Server にカスタム コードまたはコンポーネントがデプロイされていない場合は、web.config に変更を加える必要はありません。 既定の web.config で引き続き影響を受ける既定の機能が見つかる場合は、問題の調査と対処に役立つサポート チケットを開いてください。
警告: SharePoint の web.config ファイルの既定の SafeControls はセキュリティ レビューを経て、属性内のプロパティ トラバーサル文字で安全と見なされるかどうかに基づいて、AllowPropertiesTraversal 属性が設定されています。 ユーザーは、追加の SafeControls AllowPropertiesTraversal 属性を true に設定する前にセキュリティ レビューを行い、属性値のプロパティ トラバーサル文字で安全に使用できることを確認する必要があります。
この問題を回避するには、セキュリティ チェックによってブロックされているコントロールのブロックを解除します。
まず、SharePoint ULS ログでイベント タグ "6loz1" と "5mh3d" を探します。 これらのイベント タグには、属性値にプロパティ トラバーサル文字 "." があるためにブロックされたコントロールに関する情報が含まれています。 次に例を示します。
6loz1 Unsafe control=<TypeName>, <AssemblyName>, <AssemblyVersion>, <AssemblyLanguageSetting>, <AssemblyPublicKey> 属性値にプロパティ トラバーサル文字を含めています。
次に、ブロックされたコントロールを調べて、属性値にプロパティ トラバーサル文字が含まれる安全であることを確認します。 安全な場合は、Web アプリケーションの web.config ファイルの <Configuration/SharePoint/SafeControls> ノードでそのコントロールの <SafeControl> を探し、 AllowPropertiesTraversal="True" 属性を追加します。 そのノードでそのコントロールの <SafeControl> が見つからない場合は、 AllowPropertiesTraversal="True" 属性を使用して、そのコントロールの <SafeControl> 要素を追加します。 次に例を示します。
<SafeControl
Assembly="CustomSolution.AssemblyName, Version=1.2.3.4,Culture=neutral, PublicKeyToken=11aa22bb33cc44dd"
Namespace="CustomSolution.AssemblyName.NameSpace"
TypeName="AffectedClass"
AllowRemoteDesigner="True" Safe="True" SafeAgainstScript="True" AllowPropertiesTraversal="True"/>