Iniciar sesión con Microsoft
Iniciar sesión o crear una cuenta
Hola:
Seleccione una cuenta diferente.
Tiene varias cuentas
Elija la cuenta con la que desea iniciar sesión.

Resumen

Existe una vulnerabilidad de ejecución remoto en Microsoft Visual Studio 2019 y Visual Studio 2017 si un archivo XOML (lenguaje de marcado de objeto extensible) hace referencia a determinados tipos y provoca la ejecución de código aleatorio cuando el archivo se abre en Visual Studio.

Ahora hay una restricción en qué tipos se permiten usar en archivos .xoml. Si un archivo .xoml que contiene uno de los tipos recién prohibidos, recibirá un mensaje de error que indica que el tipo no está autorizado.

Para obtener más información sobre la vulnerabilidad, consulte CVE-2019-1113.

Solución alternativa

Si un archivo .xoml abierto no produce problemas de seguridad, puede deshabilitar el proceso de comprobación de tipos no autorizados. Para ello, agregue una clave a la sección <appSettings> del archivo devenv.exe.config, tal como se indica a continuación:

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


Este valor appSetting deshabilita completamente la comprobación de tipos en el serializador XOML (lenguaje de marcado de objeto extensible). Si el valor se establece en true, tiene prioridad sobre el nuevo valor appSetting para prohibir solo tipos específicos.

Si desea prohibir solo algunos tipos específicos, debe realizar los siguientes cambios en el archivo devenv.exe.config:

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


Este cambio permite todos los tipos que están prohibidos de manera predeterminada. Para marcar tipos específicos como no autorizados, también debe realizar los siguientes cambios en el archivo 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>
...


Estos cambios marcan solo el tipo WorkflowDesigner en el ensamblaje System.Activities.Presentation como no autorizados, tal como se indica a continuación:

  • Versión: 4.0.0.0

  • Referencia cultural: neutra

  • PublicKeyToken: 31bf3856ad364e35

Para marcar otros tipos como no autorizados, puede agregar entradas similares para esos tipos.

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a su experiencia?
Si presiona Enviar, sus comentarios se usarán para mejorar los productos y servicios de Microsoft. El administrador de TI podrá recopilar estos datos. Declaración de privacidad.

¡Gracias por sus comentarios!

×