Fjärrkörning av kod om vissa typer anges i XOML-filen

Sammanfattning

Ett säkerhetsproblem finns i Microsoft Visual Studio 2019 och Visual Studio-2017 om (Extensible Object Markup Language) för XOML-filen refererar vissa typer och orsakar slumpmässiga koden som ska köras när filen öppnas i Visual Studio.

Det finns nu en begränsning som är tillåtna som ska användas i XOML-filer. Om XOML-filen som innehåller något av följande nyligen obehörig öppnas, får du ett felmeddelande om att typen är otillåten.

To mer information om problemet, gå till CVE-2019-1113.

Lösning

Om öppnade XOML-filen inte orsakar säkerhetsproblem kan du inaktivera processen som kontrollerar för obehöriga. Det gör du genom att lägga till en nyckel till den<appSettings>avsnitt i filen devenv.exe.config på följande sätt:

...
<appSettings>
<add key="microsoft:WorkflowComponentModel:DisableXOMLSerializerTypeChecking" value="true"/>
</appSettings>
...

Den här appSetting värde helt inaktiverar typkontrollen i serialiseraren XOML (Extensible Object Markup Language). Om värdet är truehar företräde framför följande nya appSetting värde för att inte tillåta endast specifika typer.

Om du vill att endast tillåta vissa specifika typer måste du göra följande ändringar i filen devenv.exe.config :

...
<appSettings>
<add key="microsoft:WorkflowComponentModel:DisableXOMLSerializerDefaultUnauthorizedTypes" value="true"/>
</appSettings>
...

Den här ändringen möjliggör alla typer som är auktoriserad som standard. Om du vill markera vissa typer som obehörig måste du också göra följande ändringar i filen devenv.exe.config :

...
<configuration>
...
<configSections>
<sectionGroup name="System.Workflow.ComponentModel.WorkflowCompiler" type="System.Workflow.ComponentModel.Compiler.WorkflowCompilerConfigurationSectionGroup, System.Workflow.ComponentModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35">
<section name="authorizedTypes" type="System.Workflow.ComponentModel.Compiler.AuthorizedTypesSectionHandler, System.Workflow.ComponentModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</sectionGroup>
</configSections>
...
<System.Workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>
<foo version="v4.0">
<authorizedType Assembly="System.Activities.Presentation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Activities.Presentation" TypeName="WorkflowDesigner" Authorized="false"/>
</foo>
</authorizedTypes>
</System.Workflow.ComponentModel.WorkflowCompiler>
...
</configuration>
...

WorkflowDesigner typ i System.Activities.Presentation -sammansättningen som obehöriga, markerar du dessa ändringar på följande sätt:

  • Version: 4.0.0.0

  • Kultur: neutral

  • PublicKeyToken: 31bf3856ad364e35

Du kan lägga till liknande poster för dessa typer om du vill markera andra typer som obehöriga.

Behöver du mer hjälp?

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Microsoft Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×