11 أغسطس 2020 - التحديث التراكمي KB4569748 ل .NET Framework 4.8 للإصدار Windows 10 1709

ينطبق على
.NET

ملاحظة

  • تاريخ الإصدار:
    11 أغسطس 2020
  • الإصدار:
    .NET Framework 4.8

الملخص

تحسينات الأمان

يوجد ارتفاع في ثغرة الامتياز عندما تسمح تطبيقات ويب ASP.NET أو .NET Framework التي تعمل على IIS بالوصول إلى الملفات المخزنة مؤقتا بشكل غير صحيح. يمكن للمهاجم الذي استغل هذه الثغرة الأمنية بنجاح الوصول إلى الملفات المقيدة. لاستغلال هذه الثغرة الأمنية، سيحتاج أحد المتطفلين إلى إرسال طلب تم إنشاؤه خصيصا إلى خادم متأثر. يعالج التحديث الثغرة الأمنية عن طريق تغيير كيفية معالجة ASP.NET .NET Framework مع الطلبات.

لمعرفة المزيد حول الثغرات الأمنية، انتقل إلى الثغرات الأمنية الشائعة وحالات التعرض (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، كلمات مثل "إلخ."، "على سبيل المثال." يتم تعريفها كأخطاء إملائية غير صحيحة.
- يعالج مشكلة عندما تواجه بعض تطبيقات WPF Per-Monitor Aware التي يتم تشغيلها على NET 4.8. في بعض الأحيان تعطل مع exceptionSystem.ComponentModel.Win32Exception.
- يعالج مشكلة إعادة انسياب TextBlock (يتخذ قرارات مختلفة لكسر الأسطر) أثناء العرض واختبار الضرب، مقابل أثناء القياس. تتضمن الأعراض النص المفقود، وتعطل FailFast أثناء معالجة النص البرمجي.
- يعالج مشكلة تتعلق بفشل مؤشر ترابط العرض بسبب قطع اتصال HostVisual لهدفه على مؤشر الترابط الخاطئ.
- يعالج مشكلة تعليق أثناء التمرير في TreeView التي تكون شجرتها غير موحدة، بمعنى أن أطفال عقدة معينة يتحكمون على الأشجار الفرعية التي تختلف أحجامها تماما.
- يعالج مشكلة تتعلق بتعطل يمكن أن يحدث عند إغلاق تلميح أداة تم إغلاقه بشكل معاد الدخول بواسطة التعليمات البرمجية للمستخدم.
- عندما يغادر HwndHost الشجرة المرئية ، يتم إنشاء تتبع مكدس. هذا مكلف وغير ضروري عادة. يتم الآن تغيير المنطق لإنشاء تتبع المكدس فقط عند حدوث الحالة الشاذة.
- يعالج تسرب الذاكرة في System.Speech.SpeechSynthesizer.
- يطرح أمر نسخ DataGrid استثناء إذا كانت حافظة النظام مؤمنة بواسطة عملية أخرى. يتعطل ذلك، حيث لا يوجد عادة رمز تطبيق على المكدس لالتقاط الاستثناء. سلوك TextBox (والتطبيقات الأخرى مثل المفكرة و Word والمتصفحات) في هذه الحالة هو الفشل بصمت - لا يتم نسخ أي شيء إلى الحافظة ، ولكن لا يوجد استثناء. يمكن لتطبيق WPF الآن الاشتراك في هذا السلوك عن طريق تعيين <appSettings><add key="ShouldThrowOnDataGridCopyOrCutFailure" value="false"/></appSettings>في ملف app.config الخاص به.
- يعالج مشكلة في إنشاء النموذج الداخلي لمستند FixedPage. كان يظهر بعض النص بترتيب خاطئ لأغراض تحرير العمليات مثل التحديد والنسخ/اللصق.
WCF3 - عند استخدام اسم مستخدم UPN Windows بتنسيق مشابه لخاصية username@dns.domain اسم المستخدم ل NetworkCredential عند استخدام NetTcpBinding أو NetNamedPipeBinding ، سيقوم WCF بتقسيم اسم المستخدم وdns.domain بشكل غير صحيح ووضعهما في خصائص اسم المستخدم والمجال. هذا غير صالح في بعض السيناريوهات وقد يؤدي إلى الفشل في المصادقة. يؤدي هذا الإصلاح إلى إزالة تعديل بيانات الاعتماد عند استخدام اسم مستخدم UPN. يمكن إعادة تمكين التعديل عن طريق تعيين AppSetting "wcf:enableLegacyUpnUsernameFix" إلى صواب.
مكتبات الشبكة - يعالج تسرب الذاكرة في 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 وفئاتها التي تم توسيعها/طيها بواسطة برامج قراءة الشاشة.
- تم تحديث الأنماط التي يمكن الوصول إليها لعنصر تحكم شبكة الخاصية وعناصرها الداخلية.
- تم تحديث الأسماء التي يمكن الوصول إليها للعناصر الداخلية لعنصر تحكم شبكة الخصائص للإعلان عنها بشكل صحيح بواسطة قارئ الشاشة.
- الخصائص التي يمكن الوصول إليها للمستطيل المحيط لعناصر تحكم 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" إلى صواب، باستخدام إحدى الطرق الموضحة هنا.  يؤدي هذا إلى تعريض تطبيقك للخطأ الأصلي، وبالتالي يجب عليك إزالة المفتاح بمجرد نشر إصلاح من خلال تحديث قادم.

الحل البديل 1

• أضف الإدخال التالي إلى ملف app.config لتعطيل إصلاح المشكلة في تطبيق واحد.

        <runtime>
     <AppContextSwitchOverrides value="Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
</وقت التشغيل>

لاحظ أنه إذا كان تكوين التطبيق يحتوي بالفعل على إدخال ل <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
النوع: سلسلة
القيمة: true

لاحظ أنه على أنظمة التشغيل 64 بت، ستحتاج أيضا إلى تطبيق مفتاح فرعي للتسجيل بنفس الاسم والنوع والقيمة في الموقع: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\

الدقة

نحن نعمل على حل وسنوفر تحديثا في إصدار قادم.
 

كيفية الحصول على هذا التحديث

تثبيت هذا التحديث

قناة الإصدار متوفر الخطوة التالية
Windows Update وMicrosoft Update نعم بلا. سيتم تنزيل هذا التحديث وتثبيته تلقائيًا من Windows Update.
كتالوج Microsoft Update نعم للحصول على الحزمة المستقلة لهذا التحديث، انتقل إلى موقع ويب كتالوج Microsoft Update.
خادم Windows Server Update Services ‏(WSUS) نعم ستتم مزامنة هذا التحديث تلقائيًا مع خادم WSUS إذا قمت بتكوين المنتجات والتصنيفات كالتالي:
المنتج: Windows 10 الإصدار 1709
التصنيف: تحديثات أمان

معلومات الملف

للحصول على قائمة بالملفات المقدمة في هذا التحديث، نزل معلومات الملفات للتحديث التراكمي.

معلومات حول الحماية والأمان