Anumite tipuri care moștenesc de la IDictionary sunt blocate de la deserializare (KB5043462)

Se aplică la
SharePoint Server Subscription Edition SharePoint Server 2019 SharePoint Server 2016

Simptome

Unele tipuri care moștenesc de la IDictionary sunt blocate de la deserializare după aplicarea actualizărilor de securitate din septembrie 2024 pentru SharePoint Server. Atunci când apare această problemă, următorul mesaj de eroare și etichetele de eveniment "4nsby" sau "4nss4" sunt înregistrate în jurnalele Sistemului unificat de înregistrare în jurnal SharePoint (ULS):

Notă

S-a detectat un tip de IDicționar neacceptat. Tip: <Tip>, Asamblare: <Asamblare>

Cauză

Această problemă apare deoarece tipul nu se află în lista de permisiuni pentru deserializări.

Soluție

Dacă problema apare în procesul w3wp.exe, administratorul de fermă o poate rezolva, adăugând tipurile blocate în lista de încredere din fișierul Web.config, dar numai dacă sunteți sigur că aceste tipuri sunt sigure.

Pentru a face acest lucru, adăugați un nou element AllowedItem cu numele AllowedIDictionaryType și specificați o proprietate Type sau Assembly . Acest element ar trebui să fie adăugat sub secțiunea configuration/SharePoint/SafeMode/AllowedListItems din fișierul Web.config. Urmează un exemplu:

<SafeMode

            MaxControls = "200" 

            CallStack = "false"

            DirectFileDependencies ="10"

            TotalFileDependencies = "250"

            AllowPageLevelTrace = "false"

            ControlCompatMode="false"

            >

            <PageParserPaths>

            </PageParserPaths>

         <AllowedListItems>

                     <AllowedItem Name="AllowedIDictionaryType" Type="Microsoft.SharePoint.Portal.WebControls.RSSAggregatorWebPart, Microsoft.SharePoint.Portal, Version=15.0.0.0, Culture=neutral, PublicKeyToken=xxxxxx"/>

                   <AllowedItem Name="AllowedIDictionaryType" Assembly="System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=xxxxxx"/>

         </AllowedListItems>

</SafeMode>