11 Agustus 2020-KB4569746 Pembaruan Kumulatif untuk .NET Framework 4.8 untuk Windows 10 Versi 1607 dan Server Windows 2016

Berlaku Untuk
.NET

Catatan

  • Tanggal rilis:
    11 Agustus 2020
  • Versi:
    .NET Framework 4.8

Ringkasan

Peningkatan keamanan

Kerentanan peningkatan hak istimewa terjadi ketika aplikasi web ASP.NET atau .NET Framework yang berjalan di IIS secara tidak tepat mengizinkan akses ke file yang di-cache. Penyerang yang berhasil mengeksploitasi kerentanan ini dapat memperoleh akses ke file yang dibatasi. Untuk mengeksploitasi kerentanan ini, penyerang perlu mengirim permintaan yang dibuat khusus ke server yang terpengaruh. Pembaruan mengatasi kerentanan dengan mengubah cara ASP.NET dan .NET Framework menangani permintaan.

Untuk mempelajari selengkapnya tentang kerentanan, buka Kerentanan dan Paparan Umum (CVE) berikut.

Peningkatan kualitas dan keandalan

CLR1 - Perubahan dalam .NET Framework 4.8 memundurkan skenario EnterpriseServices tertentu di mana objek apartemen utas tunggal dapat diperlakukan sebagai apartemen multi-utas dan menyebabkan kegagalan pemblokiran. Perubahan ini kini mengidentifikasi objek apartemen utas tunggal dengan benar dan menghindari kegagalan ini.
- Mengatasi masalah dalam rakitan dengan data profil IBC yang menyebabkan proses pekerja Ngen mengalami crash dan kembali ke gambar asli penuh.
- Mengatasi crash langka yang dapat terjadi selama pengiriman pembatalan utas.
SQL - SqlBulkCopy.WriteToServer dapat menyebabkan transaksi ke tabel SQL dalam memori, gagal. Klien mungkin melihat pengecualian dengan pesan "Batas Waktu Eksekusi Kedaluwarsa. Periode batas waktu berlalu sebelum operasi selesai atau server tidak merespons." SqlBulkCopy.WriteToServer mengirim token Perhatian (pesan pembatalan) setelah mengirim data ke SQL Server, menyebabkan server membatalkan transaksi untuk tabel dalam memori.
ASP.NET - Gunakan hash yang sesuai dengan FIPS dalam data telemetri ASP.Net.
- Mengatasi masalah ketika "Tidak ditentukan" bukan nilai yang diizinkan dalam konfigurasi untuk atribut 'cookieSameSite' dari bagian autentikasi formulir dan konfigurasi status sesi.
WPF2 - Mengatasi masalah ketika pemeriksaan ejaan diaktifkan di WPF TextBox atau RichTextBox, kata-kata seperti "dll.", "e.g." diidentifikasi sebagai kesalahan ejaan yang salah.
- Mengatasi masalah ketika beberapa aplikasi WPF Sadar Per-Monitor yang berjalan di .NET 4.8 terkadang mengalami crash dengan exceptionSystem.ComponentModel.Win32Exception.
- Mengatasi masalah di mana TextBlock mengalir ulang (membuat keputusan pemecahan baris yang berbeda) selama render dan uji hit, vs. selama pengukuran. Gejalanya termasuk teks yang hilang, dan FailFast mengalami crash selama pemrosesan teks terprogram.
- Mengatasi masalah dengan kegagalan utas render yang disebabkan oleh HostVisual yang memutuskan sambungannya pada utas yang salah.
- Mengatasi masalah dengan hang saat menggulir TreeView yang pohonnya tidak seragam, dalam arti bahwa anak-anak node tertentu mengatur subpohon yang ukurannya sangat berbeda.
- Mengatasi masalah terkait crash yang dapat terjadi saat menutup tipsalat yang ditutup kembali oleh kode pengguna.
- Ketika HwndHost meninggalkan pohon visual, pelacakan tumpukan dibuat. Ini mahal, dan biasanya tidak perlu. Logika sekarang diubah untuk membuat pelacakan tumpukan hanya ketika kondisi anomali terjadi.
- Mengatasi kebocoran memori di System.Speech.SpeechSynthesizer.
- Perintah Salin DataGrid melemparkan pengecualian jika clipboard sistem dikunci oleh proses lain. Tindakan ini mengalami crash, karena biasanya tidak ada kode aplikasi di tumpukan untuk menangkap pengecualian. Perilaku TextBox (dan aplikasi lain seperti Notepad, Word, browser) dalam situasi ini adalah gagal secara diam-diam - tidak ada yang disalin ke clipboard, tetapi tidak terkecuali. Aplikasi WPF kini dapat ikut serta dalam perilaku ini dengan mengatur <appSettings><add key="ShouldThrowOnDataGridCopyOrCutFailure" value="false"/></appSettings>di file app.config-nya.
- Mengatasi masalah dalam membangun model internal untuk dokumen FixedPage. Beberapa teks muncul dalam urutan yang salah untuk tujuan operasi pengeditan seperti pemilihan dan salin/tempel.
WCF3 - Saat menggunakan nama pengguna Windows UPN dengan format yang mirip dengan username@dns.domain properti nama pengguna NetworkCredential saat menggunakan NetTcpBinding atau NetNamedPipeBinding, WCF akan salah membagi nama pengguna dan dns.domain menempatkannya ke dalam properti UserName dan Domain. Hal ini tidak valid dalam beberapa skenario dan akan mengakibatkan kegagalan untuk mengautentikasi. Perbaikan ini menghapus modifikasi kredensial saat menggunakan nama pengguna UPN. Modifikasi dapat diaktifkan kembali dengan mengatur AppSetting "wcf:enableLegacyUpnUsernameFix" ke true.
Pustaka Bersih - Mengatasi kebocoran memori di HttpListener.
Winforms - Mengatasi masalah dengan DataGridView IsReadOnlystatus aksesibilitas: Narator dan alat lain yang dapat diakses mengumumkan status sel baca-saja.
- Mengatasi regresi dalam .NET Framework 4.8 ketika aplikasi yang menggunakan tipe sel DataGridView ComboBox dan telah memilih Aksesibilitas Tingkat 3, mungkin mengalami crash sesekali saat mengedit sel.
- Mengatasi masalah di ClickOnce RFC3161 kode verifikasi stempel waktu.
Penyempurnaan aksesibilitas Winforms Dalam rilis ini, kami menambahkan penyempurnaan aksesibilitas baru yang dapat diikuti oleh aplikasi Anda. Secara default, perubahan ini dinonaktifkan. Aplikasi yang ikut serta dalam fitur aksesibilitas yang diperkenalkan di .NET 4.8 dan versi lebih lama, dapat menambahkan sakelar kompatibilitas berikut ke file konfigurasi aplikasi:
"Switch.UseLegacyAccessibilityFeatures.4=false"
Secara khusus, jika aplikasi menargetkan .NET 4.8, tambahkan bagian AppContextSwitchOverrides berikut:
<?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>
Jika aplikasi menargetkan versi kerangka kerja yang lebih lama dan ikut serta dalam kumpulan fitur aksesibilitas rilis sebelumnya, tambahkan satu "Switch.UseLegacyAccessibilityFeatures.4=false" sakelar ke bagian yang sudah ada 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>
Penyempurnaan aksesibilitas Winforms yang disertakan dalam rilis ini adalah:- Mengatasi masalah dengan pengumuman item kontrol PropertyGrid dan kategori status diperluas/diciutkan oleh Pembaca Layar.
- Memperbarui pola kontrol Property Grid yang dapat diakses dan elemen dalamnya.
- Memperbarui nama elemen dalam kontrol Kisi Properti yang dapat diakses untuk mengumumkannya dengan benar oleh pembaca layar.
- Addressesbounding rectangle yang dapat diakses properti untuk kontrol PropertyGridView
- Memungkinkan pembaca layar untuk mengumumkan status DataGridView ComboBox cell expanded/collapsed dengan benar.

         1 Common Language Runtime (CLR)
2 Windows Presentation Foundation (WPF)
3 Windows Communication Foundation

Masalah umum dalam pembaruan ini

Aplikasi Kerangka Kerja Presentasi Windows (WPF) yang menggunakan dua elemen HostVisual atau lebih milik utas umum, di mana kedua elemen HostVisual diminta untuk memutuskan sambungan dari target visualnya pada waktu yang kira-kira bersamaan, email gagal dengan kesalahan berikut:

Jenis pengecualian: System.COMException
Pesan: UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406)
Callstack: bingkai atas adalah System.Windows.Media.Composition.DUCE+Channel.SyncFlush()

Solusi

Anda dapat menonaktifkan perbaikan bermasalah dengan mengatur sakelar AppContext "Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread" ke true, menggunakan salah satu metode yang dijelaskan di sini.  Ini akan memaparkan aplikasi Anda ke bug asli, jadi Anda harus menghapus sakelar setelah perbaikan diterbitkan melalui pembaruan mendatang.

Solusi 1

• Tambahkan entri berikut ke file app.config untuk menonaktifkan perbaikan bermasalah dalam satu aplikasi.

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

Perhatikan bahwa jika konfigurasi aplikasi Anda sudah memiliki entri untuk <AppContextSwitchOverrides>, Anda perlu menambahkan pengaturan baru dalam entri tersebut, yang dipisahkan dari sakelar lain dengan titik koma:

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

Solusi 2

• Terapkan subkey registri berikut untuk menonaktifkan perbaikan bermasalah untuk semua aplikasi WPF di komputer.
 Peringatan
Masalah serius mungkin terjadi jika Anda salah mengubah registri menggunakan Editor Registri atau menggunakan metode lain. Masalah ini mungkin mengharuskan Anda menginstal ulang sistem operasi. Microsoft tidak dapat menjamin bahwa masalah ini dapat diselesaikan. Ubah registri dengan risiko yang Anda tanggung sendiri.

Lokasi: HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext\
Nama: Switch.System.Media.HostVisual.DisconnectsOnWrongThread
Jenis: String
Nilai: true

Perhatikan bahwa pada sistem operasi 64-bit, Anda juga perlu menerapkan subkunci registri dengan nama, tipe, dan nilai yang sama di lokasi: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\

Resolusi

Kami sedang berusaha menemukan resolusi dan akan menyediakan pembaruan di rilis mendatang.
 

Cara mendapatkan pembaruan ini

Instal pembaruan ini

Saluran Rilis Tersedia Langkah berikutnya
Windows Update dan Microsoft Update Ya Tidak ada. Pembaruan ini akan diunduh dan diinstal secara otomatis dari Windows Update.
Katalog Microsoft Update Ya Untuk mendapatkan paket mandiri untuk pembaruan ini, buka situs web Katalog Microsoft Update .
Windows Server Update Services (WSUS) Ya Pembaruan ini akan secara otomatis disinkronkan dengan WSUS jika Anda mengonfigurasi Produk dan Klasifikasi sebagai berikut:
Produk:Windows 10 versi 1607 dan Server Windows 2016
Klasifikasi: Security Updates

Informasi berkas

Untuk melihat daftar file yang disediakan dalam pembaruan ini, unduh informasi file untuk pembaruan kumulatif.

Informasi tentang perlindungan dan keamanan