11 Αυγούστου 2020-KB4569746 Προεπισκόπηση αθροιστικής ενημέρωσης του .NET Framework 4.8 για Windows 10, έκδοση 1607 και Windows Server, έκδοση 2016

Ισχύει για
.NET

Σημείωση

  • Ημερομηνία κυκλοφορίας:
    11 Αυγούστου 2020
  • Έκδοση:
    .NET Framework 4.8

Σύνοψη

Βελτιώσεις ασφαλείας

Υπάρχει ευπάθεια αναβάθμισης δικαιωμάτων όταν ASP.NET ή .NET Framework εφαρμογές web που εκτελούνται στις υπηρεσίες IIS δεν επιτρέπουν εσφαλμένα την πρόσβαση σε αρχεία στο cache. Ένας εισβολέας που εκμεταλλεύεται με επιτυχία αυτήν την ευπάθεια θα μπορούσε να αποκτήσει πρόσβαση σε περιορισμένα αρχεία. Για να εκμεταλλευτεί αυτήν την ευπάθεια, ένας εισβολέας θα πρέπει να στείλει μια ειδικά σχεδιασμένη αίτηση σε έναν διακομιστή που επηρεάζεται. Η ενημέρωση αντιμετωπίζει την ευπάθεια αλλάζοντας τον τρόπο ASP.NET και .NET Framework χειρισμού των αιτημάτων.

Για να μάθετε περισσότερα σχετικά με τα θέματα ευπάθειας, μεταβείτε στο ακόλουθο Common Vulnerabilities and Exposures (CVE).

Βελτιώσεις ποιότητας και αξιοπιστίας

CLR1 - Μια αλλαγή στην .NET Framework 4.8 υπονόμευσε ορισμένα σενάρια EnterpriseServices όπου ένα αντικείμενο διαμερίσματος ενός νήματος μπορεί να αντιμετωπιστεί ως διαμέρισμα πολλαπλών νημάτων και να οδηγήσει σε αποτυχία αποκλεισμού. Αυτή η αλλαγή αναγνωρίζει πλέον σωστά τα αντικείμενα διαμερισμάτων ενός νήματος ως τέτοια και αποφεύγει αυτήν την αποτυχία.
- Επιλύθηκε ένα πρόβλημα σε συγκροτήσεις με δεδομένα προφίλ IBC που προκαλεί τη διακοπή λειτουργίας των διεργασιών εργαζομένων Ngen και την επιστροφή σε πλήρεις εγγενείς εικόνες.
- Αντιμετωπίζει σπάνια σφάλματα που θα μπορούσαν να προκύψουν κατά την παράδοση ματαίωσης νήματος.
SQL - Το SqlBulkCopy.WriteToServer μπορεί να προκαλέσει την αποτυχία συναλλαγών σε πίνακες SQL στη μνήμη. Ο υπολογιστής-πελάτης ενδέχεται να δει μια εξαίρεση με το μήνυμα "Το χρονικό όριο εκτέλεσης έληξε. Το χρονικό όριο που παρήλθε πριν από την ολοκλήρωση της λειτουργίας ή ο διακομιστής δεν αποκρίνεται." Το SqlBulkCopy.WriteToServer έστελνε ένα διακριτικό προσοχής (μήνυμα ακύρωσης) μετά την αποστολή δεδομένων στον SQL Server, με αποτέλεσμα ο διακομιστής να ματαιώσει τη συναλλαγή για πίνακες στη μνήμη.
ASP.NET - Χρησιμοποιήστε κατακερματισμούς συμβατούς με το FIPS στα δεδομένα τηλεμετρίας ASP.Net.
- Επιλύθηκε ένα πρόβλημα όπου το "Απροσδιόριστο" δεν ήταν επιτρεπόμενη τιμή στη ρύθμιση παραμέτρων για το χαρακτηριστικό 'cookieSameSite' των ενοτήτων ρύθμισης παραμέτρων ελέγχου ταυτότητας φορμών και κατάστασης περιόδου λειτουργίας.
WPF2 - Επιλύθηκε ένα πρόβλημα όταν είναι ενεργοποιημένος ο ορθογραφικός έλεγχος στο WPF TextBox ή στο RichTextBox, λέξεις όπως "etc.", "e.g." αναγνωρίζονται εσφαλμένα ως ορθογραφικά λάθη.
- Επιλύθηκε ένα πρόβλημα όταν ορισμένες εφαρμογές WPF Per-Monitor Aware που εκτελούνται σε .NET 4.8 ενδέχεται να αντιμετωπίσουν περιστασιακά ένα σφάλμα με exceptionSystem.ComponentModel.Win32Exception.
- Επιλύθηκε ένα πρόβλημα όπου το TextBlock αναπροσαρμόζει τις ροές (λαμβάνει διαφορετικές αποφάσεις αλλαγής γραμμής) κατά τη διάρκεια της απόδοσης και της δοκιμής επιτυχίας, έναντι της μέτρησης. Τα συμπτώματα περιλαμβάνουν κείμενο που λείπει και σφάλματα FailFast κατά την επεξεργασία κειμένου μέσω προγραμματισμού.
- Επιλύθηκε ένα πρόβλημα με μια αποτυχία νήματος απόδοσης που προκαλείται από την αποσύνδεση του προορισμού του HostVisual σε λάθος νήμα.
- Επιλύει ένα πρόβλημα με μια παύση απόκρισης κατά την κύλιση ενός TreeView του οποίου το δέντρο δεν είναι ομοιόμορφο, με την έννοια ότι τα παιδιά ενός δεδομένου κόμβου κυβερνούν υποδέντρα των οποίων τα μεγέθη είναι αρκετά διαφορετικά.
- Επιλύει ένα πρόβλημα με ένα σφάλμα που μπορεί να παρουσιαστεί κατά το κλείσιμο μιας συμβουλής εργαλείου που κλείνει ξανά με κωδικό χρήστη.
- Όταν ένα HwndHost αφήνει το οπτικό δέντρο, δημιουργείται ένα ίχνος στοίβας. Αυτό είναι ακριβό και συνήθως περιττό. Η λογική έχει πλέον αλλάξει ώστε να δημιουργείται η ανίχνευση στοίβας μόνο όταν παρουσιάζεται η ανώμαλη συνθήκη.
- Αντιμετωπίζει μια διαρροή μνήμης στο System.Speech.SpeechSynthesizer.
- Η εντολή Αντιγραφή του DataGrid δημιουργεί μια εξαίρεση εάν το πρόχειρο του συστήματος είναι κλειδωμένο από άλλη διαδικασία. Αυτό παρουσιάζει σφάλμα, καθώς συνήθως δεν υπάρχει κωδικός εφαρμογής στη στοίβα για να εντοπιστεί η εξαίρεση. Η συμπεριφορά του TextBox (και άλλων εφαρμογών όπως το Σημειωματάριο, το Word, τα προγράμματα περιήγησης) σε αυτήν την κατάσταση είναι να αποτύχει σιωπηλά - τίποτα δεν αντιγράφεται στο πρόχειρο, αλλά καμία εξαίρεση. Μια εφαρμογή WPF μπορεί πλέον να επιλέξει αυτήν τη συμπεριφορά ορίζοντας την <προσθήκη του appSettings<>key="ShouldThrowOnDataGridCopyOrCutFailure" value="false"/></appSettings>στο αρχείο app.config.
- Επιλύθηκε ένα πρόβλημα στην κατασκευή του εσωτερικού μοντέλου για ένα έγγραφο FixedPage. Κάποιο κείμενο εμφανιζόταν με λάθος σειρά για τις λειτουργίες επεξεργασίας, όπως για παράδειγμα για τις λειτουργίες επιλογής και αντιγραφής/επικόλλησης.
WCF3 - Όταν χρησιμοποιείτε ένα όνομα χρήστη UPN Windows με μορφή παρόμοια με username@dns.domain την ιδιότητα ονόματος χρήστη ενός NetworkCredential κατά τη χρήση NetTcpBinding ή NetNamedPipeBinding, το WCF διαχώριζε εσφαλμένα το όνομα χρήστη και το dns.domain τοποθετώντας τα στις ιδιότητες UserName και Domain. Αυτό δεν είναι έγκυρο σε ορισμένα σενάρια και θα έχει ως αποτέλεσμα την αποτυχία ελέγχου ταυτότητας. Αυτή η επιδιόρθωση καταργεί την τροποποίηση διαπιστευτηρίων κατά τη χρήση ενός ονόματος χρήστη UPN. Η τροποποίηση μπορεί να ενεργοποιηθεί εκ νέου ορίζοντας το AppSetting "wcf:enableLegacyUpnUsernameFix" σε true.
Net Libraries - Αντιμετωπίζει διαρροή μνήμης στο HttpListener.
Φόρμες Winforms - Επιλύει ένα πρόβλημα με την κατάσταση προσβασιμότητας DataGridView, IsReadOnly: Ο Αφηγητής και άλλα προσβάσιμα εργαλεία ανακοινώνουν ανάλογα την κατάσταση του κελιού μόνο για ανάγνωση.
- Επιλύθηκε μια παλινδρόμηση στο .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 σε κατάσταση ανάπτυξης/σύμπτυξης από προγράμματα ανάγνωσης οθόνης.
- Ενημερώθηκαν τα προσβάσιμα μοτίβα του ελέγχου Property Grid και των εσωτερικών στοιχείων του.
- Ενημερώθηκαν τα προσβάσιμα ονόματα των εσωτερικών στοιχείων του στοιχείου ελέγχου πλέγματος ιδιοτήτων, ώστε να τα ανακοινώνουν σωστά από το πρόγραμμα ανάγνωσης οθόνης.
- Προσβάσιμες ιδιότητες ορθογωνίου ορισμού διευθύνσεων για τα στοιχεία ελέγχου PropertyGridView
- Επιτρέπει στα προγράμματα ανάγνωσης οθόνης να εκφωνούν σωστά την κατάσταση ανάπτυξης/σύμπτυξης του κελιού DataGridView ComboBox.

         1 Common Language Runtime (CLR)
2 Υποδομή παρουσίασης των Windows (WPF)
3 Υποδομή επικοινωνιών των Windows

Γνωστά προβλήματα σε αυτήν την ενημέρωση

Οι εφαρμογές 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 τιμή="Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
</runtime>

Λάβετε υπόψη ότι εάν η ρύθμιση παραμέτρων της εφαρμογής σας έχει ήδη μια καταχώρηση για <AppContextSwitchOverrides>, πρέπει να προσθέσετε τη νέα ρύθμιση σε αυτήν την καταχώρηση, διαχωρισμένη από άλλους διακόπτες με ελληνικό ερωτηματικό:

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

Λύση 2

• Εφαρμόστε το ακόλουθο δευτερεύον κλειδί μητρώου για να απενεργοποιήσετε την προβληματική επιδιόρθωση για όλες τις εφαρμογές WPF στον υπολογιστή.
 Προειδοποίηση
Εάν τροποποιήσετε εσφαλμένα το μητρώο χρησιμοποιώντας τον Επεξεργαστή Μητρώου ή κάποια άλλη μέθοδο, ενδέχεται να προκύψουν σοβαρά προβλήματα. Αυτά τα προβλήματα ενδέχεται να απαιτήσουν την επανεγκατάσταση του λειτουργικού συστήματος. Η Microsoft δεν μπορεί να εγγυηθεί ότι αυτά τα προβλήματα μπορούν να επιλυθούν. Τροποποιήστε το μητρώο με δική σας ευθύνη.

Τοποθεσία: HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext\
Όνομα: Switch.System.Media.HostVisual.DisconnectsOnWrongThread
Τύπος: String
Τιμή: true

Λάβετε υπόψη ότι για λειτουργικά συστήματα 64 bit, πρέπει επίσης να εφαρμόσετε ένα δευτερεύον κλειδί μητρώου με το ίδιο όνομα, τύπο και τιμή στην τοποθεσία: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\

Επίλυση

Εργαζόμαστε για την εξεύρεση μιας λύσης και θα παράσχουμε μια ενημέρωση σε μια προσεχή έκδοση.
 

Τρόπος λήψης αυτής της ενημέρωσης

Εγκατάσταση αυτής της ενημέρωσης

Κανάλι κυκλοφορίας Διατίθεται Επόμενο βήμα
Windows Update και Microsoft Update Ναι Καμία. Αυτή η ενημέρωση θα ληφθεί και θα εγκατασταθεί αυτόματα από το Windows Update.
Κατάλογος του Microsoft Update Ναι Για να λάβετε το μεμονωμένο πακέτο για αυτήν την ενημέρωση, μεταβείτε στην τοποθεσία web Κατάλογος του Microsoft Update.
Υπηρεσίες Windows Server Update Services (WSUS) Ναι Αυτή η ενημέρωση θα συγχρονίζεται αυτόματα με τις υπηρεσίες WSUS, αν ρυθμίσετε τις παραμέτρους των Προϊόντων και ταξινομήσεων ως εξής:
Προϊόν:Windows 10 έκδοση 1607 και Windows Server 2016
Ταξινόμηση: Ενημερώσεις ασφαλείας

Πληροφορίες αρχείων

Για μια λίστα με τα αρχεία που παρέχονται σε αυτήν την ενημέρωση, πραγματοποιήστε λήψη των πληροφοριών αρχείων για τη συγκεντρωτική ενημέρωση.

Πληροφορίες σχετικά με την προστασία και την ασφάλεια