11 Ağustos 2020 - KB4569746 Windows 10 sürüm 1607 ve Windows Server 2016 için .NET Framework 4.8 Toplu Güncelleştirme

Uygulandığı Öğe
.NET

Not

  • Çıkış Tarihi:
    11 Ağustos 2020
  • Sürüm:
    .NET Framework.NET Framework 4.8

Özet

Güvenlik iyileştirmeleri

IIS üzerinde çalışan ASP.NET veya .NET Framework web uygulamaları önbelleğe alınmış dosyalara uygun olmayan şekilde erişim izni verdiğinde ortaya çıkan bir ayrıcalık yükselmesi güvenlik açığı vardır. Bu güvenlik açığından başarıyla yararlanan bir saldırgan, kısıtlanmış dosyalara erişim elde edebilir. Bu güvenlik açığından yararlanmak için, saldırganın etkilenen bir sunucuya özel hazırlanmış bir istek göndermesi gerekir. Güncelleştirme, ASP.NET ve .NET Framework istekleri işleme biçimini değiştirerek bu güvenlik açığını giderir.

Güvenlik açıkları hakkında daha fazla bilgi edinmek için aşağıdaki Genel Güvenlik Açıkları ve Etkilenmeler (CVE) bölümüne gidin.

Kalite ve güvenilirlik geliştirmeleri

CLR1 - .NET Framework 4.8'deki bir değişiklik, tek iş parçacıklı bir apartman nesnesinin çok iş parçacıklı bir daire olarak değerlendirilebileceği ve engelleme hatasına yol açabileceği belirli EnterpriseServices senaryolarını geriletti. Bu değişiklik artık tek iş parçacıklı apartman nesnelerini doğru bir şekilde tanımlar ve bu hatayı önler.
- Ngen çalışan işlemlerinin kilitlenmesine ve tam yerel görüntülere geri dönmesine neden olan IBC profil verilerine sahip derlemelerdeki sorunu giderir.
- İş parçacığı durdurma teslimi sırasında meydana gelebilecek nadir kilitlenmeleri giderir.
SQL - SqlBulkCopy.WriteToServer, bellek içi SQL tablolarına yapılan işlemlerin başarısız olmasına neden olabilir. İstemci, "Yürütme Zaman Aşımı Süresi Doldu. İşlem tamamlanmadan önce zaman aşımı süresi geçti veya sunucu yanıt vermiyor." SqlBulkCopy.WriteToServer, verileri Sql Server'a gönderdikten sonra bir Dikkat belirteci (iptal iletisi) gönderiyordu ve bu da sunucunun bellek içi tablolar için işlemi iptal etmesine neden oluyordu.
ASP.NET - Telemetri verilerini ASP.Net FIPS uyumlu karmalar kullanın.
- Form kimlik doğrulaması ve oturum durumu yapılandırma bölümlerinin 'cookieSameSite' özniteliği için yapılandırmada "Belirtilmemiş" ifadesinin izin verilen bir değer olmaması sorununu giderir.
WPF2 - WPF TextBox veya RichTextBox'ta yazım denetimi etkinleştirildiğinde "etc.", "e.g." gibi sözcüklerle ilgili bir sorunu giderir yanlış yazım hataları olarak tanımlanmıştır.
- .NET 4.8 üzerinde çalışan bazı Per-Monitor Aware WPF uygulamalarının zaman zaman exceptionSystem.ComponentModel.Win32Exception ile kilitlenmeyle karşılaşabilmesi sorununu giderir.
- TextBlock'un işleme ve isabet testi sırasında ve ölçüm sırasında yeniden akıtılması (farklı satır sonu kararları vermesi) sorununu giderir. Belirtiler arasında eksik metin ve programlı metin işleme sırasında FailFast çökmeleri yer alır.
- HostVisual'ın hedefinin bağlantısını yanlış iş parçacığından kesmesi nedeniyle oluşan iş parçacığı oluşturma hatasıyla ilgili sorunu giderir.
- Belirli bir düğümün alt ağaçlarının boyutları oldukça farklı olan alt ağaçları yönetmesi anlamında, ağacı tekdüze olmayan bir TreeView'ı kaydırırken bir kilitlenme sorununu giderir.
- Kullanıcı kodu tarafından yeniden girilen bir araç ipucunu kapatırken ortaya çıkabilecek kilitlenme sorununu giderir.
- Bir HwndHost görsel ağaçtan ayrıldığında bir yığın izlemesi oluşturulur. Bu pahalıdır ve genellikle gereksizdir. Mantık artık yalnızca anormal durum oluştuğunda yığın izlemesi oluşturacak şekilde değiştirilir.
- System.Speech.SpeechSynthesizer'daki bellek sızıntısını giderir.
- DataGrid'in Kopyala komutu, sistem panosu başka bir işlem tarafından kilitlenirse bir özel durum oluşturur. Yığında genellikle özel durumu yakalayacak uygulama kodu olmadığından bu durum kilitlenir. Bu durumda TextBox'ın (ve Not Defteri, Word, tarayıcılar gibi diğer uygulamaların) davranışı sessizce başarısız olmaktır - panoya hiçbir şey kopyalanmaz, ancak istisna yoktur. WPF uygulaması artık app.config dosyasında appSettings add key="ShouldThrowOnDataGridCopyOrCutFailure" value="false"/<>/appSettings>ayarını ayarlayarak <bu davranışı kabul edebilir.><
- Bir FixedPage belgesi için dahili model oluşturmadaki sorunu giderir. Bazı metinler, seçme ve kopyala/yapıştırma gibi düzenleme işlemleri için yanlış sırada görünüyordu.
WCF3 - NetTcpBinding veya NetNamedPipeBinding kullanırken NetworkCredential'ın username özelliğinde olduğuna benzer username@dns.domain biçimde bir UPN Windows kullanıcı adı kullanıldığında, WCF bunları UserName ve Domain özelliklerine yerleştirerek username'i ve dns.domain'i yanlış bir şekilde böler. Bu, bazı senaryolarda geçersizdir ve kimlik doğrulamasının başarısız olmasına neden olur. Bu düzeltme, UPN kullanıcı adı kullanılırken kimlik bilgisi değişikliğini kaldırır. Değişiklik, "wcf:enableLegacyUpnUsernameFix" AppSetting değeri true olarak ayarlanarak yeniden etkinleştirilebilir.
Ağ Kütüphaneleri - HttpListener'da bellek sızıntısını giderir.
Winforms - DataGridView IsReadOnlyerişilebilirlik durumuyla ilgili sorunu giderir: Ekran Okuyucusu ve diğer erişilebilir araçlar, buna göre salt okunur hücre durumunu duyurur.
- DataGridView ComboBox hücre türünü kullanan ve Düzey 3 Erişilebilirliği kabul eden uygulamalar hücreyi düzenlerken aralıklı kilitlenmeler yaşayabildiğinde .NET Framework 4.8'deki bir gerilemeyi giderir.
- ClickOnce RFC3161 zaman damgası doğrulama kodundaki sorunu giderir.
Winforms Erişilebilirlik Geliştirmeleri Bu sürümde, uygulamanızın kabul edebileceği yeni erişilebilirlik geliştirmeleri ekliyoruz. Varsayılan olarak bu değişiklikler devre dışı bırakılır. .NET 4.8 ve önceki sürümlerde kullanıma sunulan erişilebilirlik özelliklerini kabul eden uygulamalar, uygulamanın yapılandırma dosyasına aşağıdaki uyumluluk anahtarını ekleyebilir:
"Switch.UseLegacyAccessibilityFeatures.4=false"
Özellikle, bir uygulama .NET 4.8'i hedefliyorsa aşağıdaki AppContextSwitchOverrides bölümünü ekleyin:
<?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>
Bir uygulama çerçevenin önceki bir sürümünü hedefliyorsa ve daha önce yayınlanan erişilebilirlik özellikleri kümelerine dahil oluyorsa, mevcut AppContextSwitchOverrides bölüme tek "Switch.UseLegacyAccessibilityFeatures.4=false" bir anahtar ekleyin:
<?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>
Bu sürüme dahil edilen Winforms erişilebilirlik iyileştirmeleri şunlardır:- Ekran Okuyucular tarafından PropertyGrid kontrol öğeleri ve kategorilerinin genişletilmiş/daraltılmış durumunun duyurulmasıyla ilgili sorunu giderir.
- Property Grid kontrolünün ve iç öğelerinin erişilebilir desenleri güncellendi.
- Özellik Izgarası kontrolü iç öğelerinin erişilebilir adları, bunları ekran okuyucu tarafından doğru bir şekilde duyuracak şekilde güncelleştirildi.
- AdreslerPropertyGridView kontrolleri için sınırlayıcı dikdörtgen erişilebilir özellikleri
- Ekran okuyucuların DataGridView ComboBox hücresinin genişletilmiş/daraltılmış durumunu doğru şekilde duyurmasını sağlar.

         1 Ortak Dil Çalışma Zamanı (CLR)
2 Windows Presentation FoundationWindows Presentation Foundation (WPF)
3 Windows Communication Foundation

Bu güncelleştirmeyle ilgili bilinen sorunlar

Ortak bir iş parçacığına ait iki veya daha fazla HostVisual öğesi kullanan ve her iki HostVisual öğesinin de kabaca aynı anda görsel hedefleriyle olan bağlantılarının kesilmesinin istendiği Windows Presentation Framework (WPF) uygulamalarında posta aşağıdaki hatayla başarısız olur:

Özel durum türü: System.COMException
İleti: UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406)
Callstack: üst çerçeve System.Windows.Media.Composition.DUCE+Channel.SyncFlush()

Geçici Çözümler

Burada açıklanan yöntemlerden birini kullanarak AppContext anahtarı "Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread"i true değerine ayarlayarak sorunlu düzeltmeyi devre dışı bırakabilirsiniz.  Bu, uygulamanızı orijinal hataya maruz bırakır, bu nedenle yaklaşan bir güncelleştirme aracılığıyla bir düzeltme yayımlandıktan sonra anahtarı kaldırmanız gerekir.

Geçici çözüm 1

• Tek bir uygulamadaki sorunlu düzeltmeyi devre dışı bırakmak için aşağıdaki girdiyi app.config dosyasına ekleyin.

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

Uygulama yapılandırmanızda AppContextSwitchOverride> için <zaten bir giriş varsa, bu girişin içinde diğer anahtarlardan noktalı virgülle ayrılmış yeni ayarı eklemeniz gerektiğini unutmayın:

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

Geçici çözüm 2

• Makinedeki tüm WPF uygulamaları için sorunlu düzeltmeyi devre dışı bırakmak için aşağıdaki kayıt defteri alt anahtarını uygulayın.
 Uyarı
Kayıt Defteri Düzenleyicisi’ni veya başka bir yöntemi kullanarak kayıt defterini hatalı şekilde değiştirirseniz ciddi sorunlarla karşılaşabilirsiniz. Bu sorunlar nedeniyle işletim sistemini yeniden yüklemek zorunda kalabilirsiniz. Microsoft, bu sorunların çözülebileceğini garanti edemez. Kayıt defterini değiştirmenin riski size aittir.

Yer: HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext\
Ad: Switch.System.Media.HostVisual.DisconnectsOnWrongThread
Tür: Dize
Değer: true

64 bit işletim sistemlerinde, şu konumda aynı ad, tür ve değerle bir kayıt defteri alt anahtarı uygulamanız gerektiğini unutmayın: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\

Çözüm

Bir çözüm üzerinde çalışıyoruz ve gelecek bir sürümde bir güncelleştirme sağlayacağız.
 

Bu güncelleştirmeyi alma

Bu güncelleştirmeyi yükleme

Sürüm Kanalı Kullanılabilir Sonraki Adım
Windows Update ve Microsoft Update Evet Yok. Bu güncelleştirme Windows Update'ten otomatik olarak indirilip yüklenir.
Microsoft Update Kataloğu Evet Bu güncelleştirmenin tek başına paketini edinmek için Microsoft Update Kataloğu web sitesine gidin.
Windows Server Update Services (WSUS) Evet Ürün ve Sınıflandırmalar'ı aşağıdaki gibi yapılandırırsanız bu güncelleştirme WSUS ile otomatik olarak eşitlenir:
Ürün:Windows 10Windows 10 version 1607 ve Windows Server 2016Windows Server 2016
Sınıflandırma: Güvenlik Güncelleştirmeleri

Dosya bilgileri

Bu güncelleştirmede sunulan dosyaların listesi için toplu güncelleştirme için dosya bilgilerini indirin.

Koruma ve güvenlik hakkında bilgi