Velja za
Visual Studio 2019 Visual Studio 2017

Povzetek

Zakoten zbornik usmrtitev ranljivost v Microsoft Visual Studio 2019 in Visual Studio 2017obstaja , če XOML (Extensible Object Markup Language) datoteko sklicuje na določene vrste in povzroči naključno kodo za zagon, ko datoteko odprete v Visual Studio.

Zdaj obstaja omejitev na katere vrste so dovoljena v .xoml datoteke. Če .xoml datoteka, ki vsebuje eno vrsto novo nepooblaščeno odprta, se prikaže sporočilo o napaki, ki pravi, da vrsto nedovoljene.

To več o ranljivosti, pojdite na CVE-2019-1113.

Rešitev

Če datoteko odprl .xoml ne povzroča varnostnih vprašanj, lahko onemogočite postopek preverjanja za nedovoljene vrste. Uganjati to, dodajte ključ do v<appSettings>oddelek devenv.exe.config datoteke, kot sledi:

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

Ta appSetting vrednost popolnoma onemogoči tipa, preverjanje v XOML (Extensible Object Markup Language) pretvornika. Če je vrednost nastavljena na true, ima prednost pred to novo appSetting vrednost za zavrne samo določene vrste.

Če želite samo v odbiti nekatere posebne vrste, boste morali narediti te spremembe v datoteki devenv.exe.config :

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

Ta sprememba omogoča vse vrste, ki so nepooblaščeno privzeto. Če želite označiti določene vrste kot nepooblaščen, imate tudi narediti te spremembe v datoteki 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>
...

Te spremembe označite le WorkflowDesigner vrsto v skupščini System.Activities.Presentation kot nepooblaščen, kot sledi:

  • Različica: 4.0.0.0

  • Kulture: nevtralno

  • ŽetonJavnegaKljuča: 31bf3856ad364e35

Za označevanje druge vrste kot nepooblaščen, lahko dodate podobne postavke za tiste vrste.

Ali potrebujete dodatno pomoč?

Ali želite več možnosti?

Raziščite ugodnosti naročnine, prebrskajte izobraževalne tečaje, preberite, kako zaščitite svojo napravo in še več.