Dopo aver installato l'aggiornamento nel Bollettino Microsoft sulla sicurezza MS14-009 relativo a Microsoft .NET Framework, è possibile che il marshaling dei tipi di reflection non funzioni come previsto su DCOM. Inoltre, la funzionalità macro in Microsoft Visual Studio potrebbe non funzionare come previsto.
Per ulteriori informazioni sul Bollettino MS14-009, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
2916607 MS14-009: Possibile elevazione dei privilegi a causa di vulnerabilità in .NET Framework: 11 febbraio 2014
Sintomi
Il Bollettino sulla sicurezza MS14-009 relativo a .NET Framework impedisce l'esecuzione del marshaling per i tipi di reflection. I tipi che vengono bloccati includono quelli riportati di seguito e tutti quelli da essi derivanti.
-
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
Sebbene questa modifica non interessa la maggior parte delle applicazioni, se un'applicazione deve utilizzare la reflection su DCOM, è possibile ovviare a questa limitazione aggiungendo l'opzione di configurazione AllowDComReflection nella sezione <runtime> del file <Application>.exe.config nel modo seguente:
<?xml version ="1.0"?> <configuration> <runtime> <AllowDComReflection enabled="1"/> </runtime> </configuration>
L'impostazione di questa opzione di configurazione consentirà a un'applicazione di utilizzare la reflection su DCOM.
Per ripristinare in modo sicuro la funzionalità delle macro di Visual Studio, aggiornare uno dei seguenti file di configurazione delle applicazioni, a seconda della versione di Visual Studio installata nel sistema.
Versione |
Cartella |
Nome file |
---|---|---|
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 |
Nota Per installazioni su versioni a 32 bit, il percorso sarà incluso in \Program Files\.
La procedura di modifica del file di configurazione è la stessa per tutte le versioni di Visual Studio interessate dal problema. Aggiungere l'opzione AllowDComReflection nella sezione <runtime> nel modo seguente:
<AllowDComReflection enabled="1"/>
Questo aggiornamento impedisce ai tipi di reflection di lasciare codice non gestito ma gli consente di immettere codice gestito. Pertanto, nella maggior parte dei casi è sufficiente impostare l'opzione di configurazione sul lato client. Utilizzare l'opzione di configurazione solo per le applicazioni per cui è necessario impostare l'opzione.
Nota È comunque necessario proteggere la connessione al server.
Protezione degli endpoint
Dal momento che endpoint non affidabili potrebbero essere in grado di elevare autorizzazioni quando viene utilizzata l'opzione di configurazione, assicurarsi che l'endpoint che invia i tipi di reflection possa affidarsi alla connessione con l'endpoint remoto.
Per ulteriori informazioni sulla configurazione di sicurezza DCOM, visitare il seguente sito Web Microsoft Developer Network (MSDN):
http://msdn.microsoft.com/it-it/library/windows/desktop/ms678426.aspx
Per informazioni per gli utenti di Enterprise Services (COM+), visitare il seguente sito Web MSDN:
http://msdn.microsoft.com/it-it/library/ms973847.aspx#entserv_topic6
Le informazioni contenute in questo articolo si riferiscono a:
-
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