2020 年 8 月 11 日 - KB4569746 Windows 10 版本 1607 和 Windows Server 版本 2016 的 .NET Framework 4.8 彙整套件更新

套用到
.NET

注意

  • 發行日期:
    2020 年 8 月 11 日
  • 版本:
    .NET Framework 4.8

摘要

安全性改良功能

當 IIS 上執行的 ASP.NET 或 .NET Framework Web 應用程式不正確地允許存取快取的檔案時,即存在權限提高弱點。 成功利用此弱點的攻擊者可能會取得受限制檔案的存取權。 為了利用此弱點,攻擊者可能必須將蓄意製作的要求傳送到受影響的伺服器。 此更新會變更 ASP.NET 與 .NET Framework 處理要求的方式,藉此解決弱點。

若要深入了解這些弱點,請前往下列一般弱點及安全風險 (CVE)。

品質和可靠性改良功能

CLR1 - .NET Framework 4.8 中的變更迴歸了某些 EnterpriseServices 方案,其中單一執行緒公寓物件可能會被視為多執行緒公寓,並導致封鎖失敗。 這項變更現在可正確識別單一執行緒 Apartment 物件本身,並避免此失敗。
- 解決具有 IBC 設定檔資料的組件問題,導致 Ngen 背景工作程序當機並回復至完整的原生映像。
- 解決執行緒中止傳遞期間可能發生的罕見當機。
SQL - SqlBulkCopy.WriteToServer 可能會導致記憶體中 SQL 資料表的交易失敗。 用戶端可能會看到異常,並顯示訊息「執行逾時已過期。 在作業完成之前超過逾時等待的時間,或是伺服器未回應。」SqlBulkCopy.WriteToServer 在傳送資料至 SQL Server 之後,) 傳送了 Attention 權杖 (取消訊息,導致伺服器中止記憶體內部資料表的交易。
ASP.NET - 在遙測資料中使用符合 FIPS ASP.Net 雜湊。
- 解決表單驗證和工作階段狀態設定區段之 'cookieSameSite' 屬性的設定中不允許「未指定」值的問題。
WPF2 - 解決在 WPF TextBox 或 RichTextBox 中啟用拼字檢查時,如 “etc.”、“e.g.) 被識別為拼字錯誤。
- 解決 Per-Monitor 某些在 .NET 4.8 上執行的感知 WPF 應用程式偶爾會發生 exceptionSystem.ComponentModel.Win32Exception 當機的問題。
- 解決了 TextBlock 在轉譯和點擊測試期間與度量期間) 做出不同換行決策 (重排的問題。 徵狀包括遺失文字,以及在程式設計文字處理期間發生 FailFast 當機。
- 解決了由於 HostVisual 在錯誤執行緒上中斷目標連線而導致的轉譯執行緒失敗問題。
- 解決了滾動樹狀結構不均勻的樹視圖時掛起的問題,從某種意義上說,給定節點的子項控制大小完全不同的子樹。
- 解決了關閉由使用者程式碼重新進入關閉的工具提示時可能發生當機的問題。
- 當 HwndHost 離開可視化樹狀結構時,會建立堆疊追蹤。 這很昂貴,而且通常沒有必要。 現在,邏輯已變更為僅在異常情況發生時才建立堆疊追蹤。
- 解決 System.Speech.SpeechSynthesizer 中的記憶體流失。
- 如果系統剪貼簿被另一個處理程序鎖定,DataGrid 的 Copy 命令會擲回例外狀況。 這會當機,因為堆疊上通常沒有應用程式程式碼可以攔截例外狀況。 TextBox (和其他應用程式(如記事本、Word、瀏覽器)) 在這種情況下的行為是以無訊息方式失敗 - 不會將任何內容複製到剪貼簿,但沒有例外。 WPF 應用程式現在可以設定 appSettings add key=“ShouldThrowOnDataGridCopyOrCutFailure” value=“false”/<>/appSettings>在其 app.config 檔案中加入<此行為。><
- 解決為 FixedPage 文件建構內部模型的問題。 某些文字以錯誤的順序出現,以便進行選取和複製/貼上等編輯作業。
WCF3 - 使用 UPN Windows 使用者名稱的格式類似 username@dns.domain 於 NetworkCredential 的 username 屬性時,在使用 NetTcpBinding 或 NetNamedPipeBinding 時,WCF 會不正確地分割使用者名稱和 dns.domain 並將它們放入 UserName 和 Domain 屬性中。 這在某些情況下是無效的,且會導致驗證失敗。 此修正程式會移除使用 UPN 使用者名稱時的認證修改。 將 AppSetting “wcf:enableLegacyUpnUsernameFix” 設定為 true 即可重新啟用修改。
網路程式庫 - 解決 HttpListener 中的記憶體流失問題。
Winforms - 解決 DataGridView IsReadOnlyAccessibility 狀態的問題:朗讀程式和其他可存取工具會相應地宣告唯讀儲存格狀態。
- 解決 .NET Framework 4.8 中的迴歸,當使用 DataGridView ComboBox 儲存格類型並選擇加入層級 3 協助工具的應用程式,在編輯儲存格時可能會發生間歇性當機。
- 解決 ClickOnce RFC3161時間戳記驗證碼的問題。
Winforms 協助工具增強功能 在此版本中,我們新增了您的應用程式可以選擇加入的新協助工具改進。 根據預設,這些變更是停用的。 選擇加入 .NET 4.8 及更早版本中引進之協助 工具功能的 應用程式,可以將下列相容性切換新增至應用程式的設定檔:
"Switch.UseLegacyAccessibilityFeatures.4=false"
具體而言,如果應用程式以 .NET 4.8 為目標,請新增下列 AppContextSwitchOverrides 區段:
<?xml version="1.0" encoding+"utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Versionv4.8"/;
</startup>
<runtime>
<!-- AppContextSwitchOverrides value attribute is in the form of 'key1=true\|false;key2=true\|false -->
<AppContextSwitchOverrides value="Switch.UseLegacyAccessibilityFeatures.4=false" />
</runtime>
</configuration>
如果應用程式以舊版架構為目標,並選擇加入先前發行的協助工具功能集,請將單一 "Switch.UseLegacyAccessibilityFeatures.4=false" 切換新增至現有 AppContextSwitchOverrides 區段:
<?xml version="1.0" encoding+"utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Versionv4.7"/;
</startup>
<runtime>
<!-- AppContextSwitchOverrides value attribute is in the form of 'key1=true\|false;key2=true\|false -->
<AppContextSwitchOverrides value=Switch.UseLegacyAccessibilityFeatures=false\|Switch.UseLegacyAccessibilityFeatures.2=false\|Switch.UseLegacyAccessibilityFeatures.3=false\|Switch.UseLegacyAccessibilityFeatures.4=false"/>
</runtime>
</configuration>
此版本中包含的 Winforms 協助工具改進包括:- 解決螢幕助讀程式宣讀 PropertyGrid 控制項和類別展開/摺疊狀態的問題。
- 更新屬性格線控制項及其內部元素的易於存取模式。
- 更新屬性格線控制項內部元素的可存取名稱,以透過螢幕助讀程式正確宣讀這些內容。
- 解決 PropertyGridView 控制項的邊界矩形可存取屬性
- 可讓螢幕助讀程式正確宣讀 DataGridView ComboBox 儲存格展開/摺疊狀態。

         1 通用語言執行平台 (CLR)
2 Windows Presentation Foundation (WPF)
3 Windows Communication Foundation

此更新中的已知問題

Windows Presentation Framework (WPF) 使用屬於共同執行緒的兩個或多個 HostVisual 元素的應用程式,其中兩個 HostVisual 元素幾乎同時被要求與其視覺目標中斷連線,郵件會失敗並出現下列錯誤:

例外狀況類型:System.COMException
訊息:UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406)
呼叫堆疊:頂端框架是 System.Windows.Media.Composition.DUCE+Channel.SyncFlush ()

因應措施

您可以使用此處所述的方法之一,將 AppContext 參數 “Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread” 設定為 true,以停用有問題的修正程式。  這會讓您的應用程式暴露在原始錯誤中,因此您應該在透過即將推出的更新發佈修正程式後移除參數。

因應措施 1

• 將下列項目新增至 app.config 檔案,以停用單一應用程式中的問題修正程式。

        <runtime>
     <AppContextSwitchOverrides value=“Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true”/>
</runtime>

請注意,如果您的應用程式設定已有 AppContextSwitchOverrides> 項目<,您必須在該項目內新增設定,並以分號分隔與其他參數分隔:

   <AppContextSwitchOverrides value="Switch.SomeOtherSwitch=true; Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>

因應措施 2

• 套用下列登錄子機碼,以停用電腦上所有 WPF 應用程式的問題修正程式。
 警告
如果您使用「登錄編輯程式」或其他方法不當地修改登錄,可能會發生嚴重問題。 這些問題可能會迫使您重新安裝作業系統。 Microsoft 無法保證這些問題可以解決。 Modify the registry at your own risk.

地點:HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext\
名稱:Switch.System.Media.HostVisual.DisconnectsOnWrongThread
類型:字串
值:true

請注意,在 64 位元作業系統上,您也需要在以下位置套用具有相同名稱、類型和值的登錄子機碼:HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\

解決方法

我們正努力研究解決方法,並會在即將推出的版本中提供更新。
 

如何取得此更新

安裝此更新

發行管道 可用 後續步驟
Windows Update 和 Microsoft Update 無。 此更新將從 Windows Update 自動下載並安裝。
Microsoft Update Catalog 若要取得此更新的獨立套件,請前往 Microsoft Update Catalog 網站。
Windows Server Update Services (WSUS) 如果您依下列所示設定 [產品和分類],此更新將會自動與 WSUS 同步:
產品:Windows 10 版本 1607 和 Windows Server 2016
分類:安全性更新

檔案詳細資訊

如需此更新中提供的檔案清單,請下載累積更新的檔案資訊

有關保護和安全性的資訊