11 august 2020 - KB4569747 Actualizare cumulativă pentru .NET Framework 4.8 pentru versiunea Windows 10 1703

Se aplică la
.NET

Notă

  • Data lansării:
    11 august 2020
  • Versiune:
    .NET Framework 4.8

Rezumat

Îmbunătățiri de securitate

Există o vulnerabilitate de sporire a privilegiilor atunci când ASP.NET sau .NET Framework aplicații web care rulează pe IIS permit accesul la fișierele memorate în cache. Un atacator care exploatează cu succes această vulnerabilitate ar putea obține acces la fișiere restricționate. Pentru a exploata această vulnerabilitate, un atacator trebuie să trimită o solicitare special creată către un server afectat. Actualizarea remediază vulnerabilitatea prin schimbarea modului în care ASP.NET și .NET Framework gestionează solicitările.

Pentru a afla mai multe despre vulnerabilități, accesați următoarele vulnerabilități și expuneri comune (CVE).

Îmbunătățiri de calitate și fiabilitate

CLR1 - O modificare în .NET Framework 4.8 a regresat anumite scenarii EnterpriseServices în care un obiect apartment cu un singur fir poate fi tratat ca un apartament cu mai multe fire și poate duce la o eroare de blocare. Această modificare identifică acum corect obiectele apartment cu un singur fir ca atare și evită această eroare.
- Tratează o problemă din ansamblurile cu date de profil IBC care provoacă blocarea proceselor de lucru Ngen și revenirea la imagini native complete.
- Tratează blocările rare care pot apărea în timpul livrării abandonului de conversație.
SQL - SqlBulkCopy.WriteToServer poate cauza nereușita tranzacțiilor către tabelele SQL în memorie. Clientul poate vedea o excepție cu mesajul "Expirarea expirării execuției. Perioada de expirare a trecut înainte de terminarea operațiunii sau serverul nu răspunde." SqlBulkCopy.WriteToServer trimitea un simbol de atenție (mesaj de anulare) după trimiterea datelor la SQL Server, determinând ca serverul să abandoneze tranzacția pentru tabelele în memorie.
ASP.NET - Utilizați hashuri conforme cu FIPS în datele de telemetrie ASP.Net.
- Tratează o problemă în care "Nespecificat" nu era o valoare permisă în configurare pentru atributul "cookieSameSite" al secțiunilor de autentificare a formularelor și de configurare a stării sesiunii.
WPF2 - Tratează o problemă atunci când verificarea ortografiei este activată în WPF TextBox sau RichTextBox, cuvinte cum ar fi "etc.", "de exemplu." sunt identificate ca erori de ortografie incorect.
- Tratează o problemă ce apare atunci când unele aplicații WPF receptive la Per-Monitor care rulează pe .NET 4.8 pot întâmpina ocazional o cădere cu exceptionSystem.ComponentModel.Win32Exception.
- Tratează o problemă în care TextBlock reîncadrează (ia decizii diferite de sfârșit de linie) în timpul redării și testului de accesare, față de în timpul măsurării. Printre simptome se numără lipsa textului și căderi FailFast în timpul procesării programatice a textului.
- Tratează o problemă cu o eroare a firului de redare cauzată de deconectarea HostVisual a țintei pe firul greșit.
- Abordează o problemă cu o blocare în timp ce derulați un TreeView al cărui arbore nu este uniform, în sensul că copiii unui anumit nod guvernează subarbori ale căror dimensiuni sunt destul de diferite.
- Tratează o problemă cu o cădere care poate apărea la închiderea unui sfat ecran care este închis din nou de codul de utilizator.
- Când un HwndHost părăsește arborele vizual, se creează o urmărire a stivei. Acest lucru este costisitor și, de obicei, inutil. Logica este acum modificată pentru a crea trasarea stivei doar atunci când apare starea anormală.
- Tratează o irosire de memorie în System.Speech.SpeechSynthesizer.
- Comanda Copiere a DataGrid generează o excepție dacă clipboardul de sistem este blocat de un alt proces. Aceasta se defectează, deoarece nu există de obicei niciun cod de aplicație în stivă pentru a captura excepția. Comportamentul TextBox (și al altor aplicații, cum ar fi Notepad, Word, browsere) în această situație este de a eșua silențios - nimic nu este copiat în clipboard, dar nicio excepție. O aplicație WPF poate opta acum pentru acest comportament setând appSettings<>add key="ShouldThrowOnDataGridCopyOrCutFailure" value="false"/></appSettings>în fișierul <său app.config.
- Tratează o problemă în construirea modelului intern pentru un document FixedPage. O parte din text se afișa în ordine incorectă pentru operațiuni de editare, cum ar fi selectarea și copierea/lipirea.
WCF3 - Atunci când utilizați un nume de utilizator Windows UPN cu un format similar cu username@dns.domain în proprietatea username a unei NetworkCredential atunci când utilizați NetTcpBinding sau NetNamedPipeBinding, WCF ar scinda incorect numele de utilizator și dns.domain, plasându-le în proprietățile UserName și Domain. Acest lucru nu este valid în anumite scenarii și ar avea drept consecință neautentificarea. Această remediere elimină modificarea acreditărilor atunci când utilizați un nume de utilizator UPN. Modificarea poate fi reactivată setând AppSetting "wcf:enableLegacyUpnUsernameFix" la true.
Bibliotecile de rețea - Tratează o pierdere de memorie în HttpListener.
Forme de vinci - Tratează o problemă cu starea de accesibilitate DataGridView IsReadOnly: Naratorul și alte instrumente accesibile anunță starea celulelor doar în citire în consecință.
- Tratează o regresie din .NET Framework 4.8 atunci când aplicațiile care utilizează tipul de celulă DataGridView ComboBox și au optat pentru nivelul 3 de accesibilitate pot întâmpina căderi intermitente în timpul editării celulei.
- Tratează o problemă din codul de verificare a mărcii de timp ClickOnce RFC3161.
Îmbunătățiri ale accesibilității Winforms În această versiune, adăugăm noi îmbunătățiri de accesibilitate la care aplicația dvs. se poate înscrie. În mod implicit, aceste modificări sunt dezactivate. Aplicațiile care optează pentru caracteristicile de accesibilitate introduse în .NET 4.8 și în versiunile anterioare pot adăuga următorul comutator de compatibilitate la fișierul de configurare al aplicației:
"Switch.UseLegacyAccessibilityFeatures.4=false"
Mai exact, dacă o aplicație vizează .NET 4.8, adăugați următoarea secțiune 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>
Dacă o aplicație vizează o versiune anterioară a cadrului și optează pentru seturile de caracteristici de accesibilitate lansate anterior, adăugați un singur "Switch.UseLegacyAccessibilityFeatures.4=false" argument la secțiunea existentă 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>
Îmbunătățirile de accesibilitate Winforms incluse în această versiune sunt:- Tratează o problemă cu anunțarea stării extinse/restrânse pentru elementele de control PropertyGrid și categoriile de către cititoarele de ecran.
- Au fost actualizate modelele accesibile ale controlului Grilei de proprietăți și elementele sale interne.
- S-au actualizat numele accesibile ale elementelor interioare ale controlului grilei de proprietăți pentru a le anunța corect de cititorul de ecran.
- Addressesbounding rectangle accessible properties for the PropertyGridView controls
- Permite cititoarelor de ecran să anunțe corect starea de extindere/restrângere a celulei DataGridView ComboBox.

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

Probleme cunoscute din această actualizare

Aplicațiile Windows Presentation Framework (WPF) care utilizează două sau mai multe elemente HostVisual aparținând unui fir comun, în care ambele elemente HostVisual sunt rugate să se deconecteze de la ținta lor vizuală aproximativ în același timp, eșuează eșuarea mesajului, cu următoarea eroare:

Tip de excepție: System.COMException
Mesaj: UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406)
Callstack: cadrul de sus este System.Windows.Media.Composition.DUCE+Channel.SyncFlush()

Soluții de evitare

Puteți dezactiva remedierea problematică setând comutatorul AppContext "Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread" la true, utilizând una dintre metodele descrise aici.  Acest lucru vă expune aplicația la eroarea inițială, deci ar trebui să eliminați comutatorul după ce se publică o remediere printr-o actualizare viitoare.

Soluția 1

• Adăugați următoarea intrare la fișierul app.config pentru a dezactiva remedierea problemelor într-o singură aplicație.

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

Rețineți că, dacă configurația aplicației are deja o intrare pentru <AppContextSwitchOverrides>, trebuie să adăugați noua setare în acea intrare, separată de alte argumente prin punct și virgulă:

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

Soluția 2

• Aplicați următoarea subcheie de registry pentru a dezactiva remedierea problematică pentru toate aplicațiile WPF de pe computer.
 Avertisment
Pot apărea probleme grave dacă faceți modificări incorecte în registry utilizând Registry Editor sau altă metodă. Aceste probleme pot necesita reinstalarea sistemului de operare. Microsoft nu poate garanta că aceste probleme pot fi rezolvate. Modificați registry pe propriul risc.

Locație: HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext\
Nume: Switch.System.Media.HostVisual.DisconnectsOnWrongThread
Tip: Șir
Valoare: true

Rețineți că pe sistemele de operare pe 64 de biți trebuie, de asemenea, să aplicați o subcheie de registry cu același nume, tip și valoare în locație: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\

Rezolvarea

Lucrăm la o soluție și vom oferi o actualizare în acest sens într-o versiune viitoare.
 

Cum se obține această actualizare

Instalați această actualizare

Canal de lansare Disponibil Următorul pas
Windows Update și Microsoft Update Da Niciuna. Această actualizare va fi descărcată și instalată automat de la Windows Update.
Catalog Microsoft Update Da Pentru a obține pachetul independent pentru această actualizare, accesați site-ul web Catalog Microsoft Update.
Serviciile de actualizare Windows Server (WSUS) Da Această actualizare se va sincroniza automat cu WSUS în cazul în care configurați Produse și clasificări după cum urmează:
Produs:Windows 10 versiunea 1703
Clasificare: actualizări de securitate

Informații despre fișiere

Pentru o listă a fișierelor furnizate în această actualizare, descărcați informațiile de fișier pentru actualizarea cumulativă.

Informații despre protecție și securitate