MS14-009 的更新後,反映類型的封送處理無法透過 DCOM 如預期般運作。此外,Microsoft Visual Studio 中的巨集功能無法如預期般運作。 如需有關 MS14-009 的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
安裝對應於 Microsoft .NET Framework 的 Microsoft 資訊安全佈告欄2916607 MS14-009:.NET Framework 的弱點可能會允許權限提高:2014 年 2 月 11 日
徵狀
.NET Framework 的資訊安全佈告欄 MS14-009 會封鎖反映類型的封送處理。其會封鎖下列類別和這些類別的任何衍生類別。
-
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
發生的原因
雖然此變更不會影響大部分的應用程式,但如果應用程式必須透過 DCOM 使用反映,您可以在 <應用程式>.exe.config 檔案的 <runtime> 區段中,新增下列 AllowDComReflection 設定參數以解決此限制:
<?xml version ="1.0"?> <configuration> <runtime> <AllowDComReflection enabled="1"/> </runtime> </configuration> 設定此設定參數可讓應用程式透過 DCOM 使用反映。 如果要安全地還原 Visual Studio 巨集的功能,請根據系統上安裝的 Visual Studio 版本,更新下列其中一個應用程式設定檔。
版本 |
資料夾 |
檔案名稱 |
---|---|---|
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 |
注意 如果是 32 位元安裝,則路徑位於 \Program Files\ 下方。 所有受影響 Visual Studio 版本的設定檔修改方式都相同。您必須在 <runtime> 區段中新增下列 AllowDComReflection 參數: <AllowDComReflection enabled="1"/> 此更新會讓反映類別無法離開 Managed 程式碼,但不會讓其無法進入 Managed 程式碼。因此,在大部分情況下,您只需要在用戶端上進行設定參數設定。您只能針對必須設定參數的應用程式使用此設定參數。 注意 您仍然必須保護伺服器的連線。
保護端點
由於如果使用設定參數,不信任的端點可能可以提高其權限,因此您必須確定傳送反映類型的端點可以信任遠端端點的連線。
如需有關一般 DCOM 安全性設定的資訊,請移至下列 Microsoft Developer Network (MSDN) 網站:http://msdn.microsoft.com/zh-tw/library/windows/desktop/ms678426.aspx (英文) 如需適用於 Enterprise Services (COM+) 使用者的資訊,請移至下列 MSDN 網站:
http://msdn.microsoft.com/zh-tw/library/ms973847.aspx#entserv_topic6 (英文) 本文中的資訊適用於:
-
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