Une fois la mise à jour correspondant au bulletin de sécurité Microsoft MS14-009 installée pour Microsoft .NET Framework, le marshaling des types de réflexion risque de ne pas fonctionner comme prévu sur DCOM. En outre, les fonctionnalités de macro dans Microsoft Visual Studio peuvent ne pas fonctionner comme prévu.
Pour plus d'informations sur MS14-009, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
2916607 MS14-009 : Des vulnérabilités dans .NET Framework pourraient permettre l'élévation de privilèges : 11 février 2014
Symptômes
Le bulletin de sécurité MS14-009 pour .NET Framework bloque le marshaling pour les types de réflexion. Les types bloqués incluent les types suivants, ainsi que tous ceux qui en sont dérivés.
-
System.Type
-
System.Reflection.Assembly
-
System.Reflection.MemberInfo
-
System.Reflection.Module
-
System.Reflection.MethodBody
-
System.Reflection.ParameterInfo
-
System.Reflection.TypeInfo
-
System.Reflection.MethodInfo
-
System.Reflection.FieldInfo
Cause
Bien que la plupart des applications ne soient pas concernées par cette modification, si une application doit utiliser la réflexion sur DCOM, vous pouvez contourner la limitation en ajoutant le commutateur de configuration AllowDComReflection à la section <runtime> de votre fichier <Application>.exe.config en procédant comme suit :
<?xml version ="1.0"?> <configuration> <runtime> <AllowDComReflection enabled="1"/> </runtime> </configuration>
La définition de ce commutateur de configuration permet à une application d'utiliser la réflexion sur DCOM.
Pour restaurer en toute sécurité les fonctionnalités des macros Visual Studio, mettez à jour l'un des fichiers de configuration d'application suivants, en fonction de la version de Visual Studio installée sur le système.
Version |
Dossier |
Nom de fichier |
---|---|---|
Visual Studio 2005 Service Pack 1 (SP1) |
\Program Files (x86)\Common Files\Microsoft Shared\VSA\8.0\VsaEnv |
Vsmsvr.exe.config |
Visual Studio 2008 |
\Program Files (x86)\Common Files\Microsoft Shared\VSA\9.0\VsaEnv |
Vsmsvr.exe.config |
Visual Studio 2010 |
\Program Files (x86)\Common Files\Microsoft Shared\VSA\9.0\VsaEnv |
Vsmsvr10.exe.config |
Remarque Pour les installations 32 bits, le chemin d'accès se trouve sous \Program Files\.
La modification du fichier de configuration est la même pour toutes les versions de Visual Studio concernées. Vous devez ajouter le commutateur AllowDComReflection dans la section <runtime> en procédant comme suit :
<AllowDComReflection enabled="1"/>
Cette mise à jour empêche les types de réflexion de quitter le code managé, mais pas d'entrer du code managé. Par conséquent, dans la plupart des cas, il vous suffit de définir le commutateur de configuration côté client. Vous ne devez utiliser ce commutateur de configuration que pour les applications pour lesquelles le commutateur doit être défini.
Remarque Vous devez continuer à sécuriser la connexion au serveur.
Sécurisation des points de terminaison
Les points de terminaison non approuvés pouvant élever leurs autorisations en cas d'utilisation du commutateur de configuration, vous devez être sûr que le point de terminaison qui envoie les types de réflexion peut approuver la connexion au point de terminaison distant.
Pour plus d'informations sur la configuration de la sécurité DCOM générale, reportez-vous au site web MSDN (Microsoft Developer Network) à l'adresse suivante :
http://msdn.microsoft.com/fr-fr/library/windows/desktop/ms678426.aspx
Pour plus d'informations pour les utilisateurs d'Enterprise Services (COM+), reportez-vous au site web MSDN à l'adresse suivante :
http://msdn.microsoft.com/fr-fr/library/ms973847.aspx#entserv_topic6
Les informations fournies dans cet article s'appliquent à :
-
Microsoft .NET Framework 1.0 SP3
-
Microsoft .NET Framework 1.1 SP1
-
Microsoft .NET Framework 2.0 SP2
-
Microsoft .NET Framework 3.5
-
Microsoft .NET Framework 3.5 SP1
-
Microsoft .NET Framework 3.5.1
-
Microsoft .NET Framework 4
-
Microsoft .NET Framework 4.5