重要
本文包含如何降低安全性設定或關閉電腦安全性功能的資訊。 您可以進行這些變更,為特定的問題尋求因應措施。 在進行這些變更之前,建議您先評估在特定環境中實作此因應措施的相關風險。 如果您決定使用此因應措施,請採用任何其他的適當步驟,以協助保護電腦。
症狀
在您安裝下列適用於 SharePoint Server 的 9 月安全性更新之後,某些網頁組件頁面 Web 服務方法可能會遭到封鎖。 此外,事件標記「6loz1」或「5mh3d」會記錄在 SharePoint 統一記錄系統 (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 服務方法遭到封鎖。
因應措施
注意
SharePoint Server 的開箱即用功能及其相依性仰賴於 web.config 檔案中的預設設定。 如果您的 SharePoint 伺服器沒有部署任何自訂程式碼或元件,則不需要在 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.config 的 Configuration/SharePoint/SafeControls 節點中尋找<該控制<項的 SafeControl>,並新增 AllowPropertiesTraversal=“True” 屬性。> 如果你在該節點找不到 <該控制項的 SafeControl> ,請為它新增 <一個 SafeControl> 元素,並設定 AllowPropertiesTraversal=“True” 屬性。 下列是範例:
<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"/>