Примітка.
- Дата випуску:
11 серпня 2020 р. - Версія:
.NET Framework.NET Framework 4.8
Зведення
Удосконалення системи безпеки
Вразливість прав перевищення, коли ASP.NET або .NET Framework веб-програми, запущені в IIS, неналежним чином надають доступ до кешованих файлів. Зловмисник, який успішно скористався цією вразливістю, може отримати доступ до файлів з обмеженим доступом. Щоб скористатися цією вразливістю, зловмиснику потрібно надіслати спеціально створений запит на уражений сервер. В оновленні виправлено вразливість шляхом зміни способу обробки запитів ASP.NET та .NET Framework.
Докладні відомості про вразливості див. в нижченаведених статтях Поширені вразливості та вразливості.
Покращення якості та надійності
| CLR1 | - Зміна .NET Framework 4.8 регресувала певні сценарії EnterpriseServices, де однопотоковий квартирний об'єкт може розглядатися як багатопотокова квартира і призвести до збою блокування. Ця зміна тепер правильно ідентифікує однопотокові квартирні об'єкти як такі та дозволяє уникнути цього збою. - Вирішено проблему в збірках з даними профілю IBC, що призводила до аварійного завершення роботи робочих процесів Ngen і повернення до повноцінних нативних образів. - Вирішено проблему рідкісних збоїв, які можуть виникати під час переривання доставки потоку. |
|---|---|
| SQL | - SqlBulkCopy.WriteToServer може спричинити збій транзакцій у таблицях SQL у пам'яті. Клієнт може побачити виняток із повідомленням "Термін очікування виконання минув. Час очікування минув до завершення операції, або сервер не відповідає." SqlBulkCopy.WriteToServer надсилав маркер уваги (повідомлення про скасування) після надсилання даних до SQL Server, через що сервер переривав транзакцію для таблиць у пам'яті. |
| ASP.NET | - Використовуйте FIPS-сумісні хеші в ASP.Net телеметричних даних. - Вирішено проблему, через яку "Unspecified" не було дозволеним значенням у конфігурації для атрибута "cookieSameSite" розділів конфігурації форм, аутентифікації та стану сеансу. |
| WPF2 | - Вирішено проблему, якщо в WPF TextBox або RichTextBox увімкнуто перевірку орфографії, таких слів, як "etc.", "e.g." неправильно визначені як орфографічні помилки. - Вирішено проблему, коли у деяких Per-Monitor Aware WPF програм, що працюють на .NET 4.8, іноді може виникати аварійне завершення роботи з exceptionSystem.ComponentModel.Win32Exception. - Вирішено проблему, через яку TextBlock переформатовується (приймає різні рішення щодо розриву рядка) під час рендерингу та тесту на влучення, а також під час такту. До цих симптомів належать відсутній текст і аварійне завершення роботи FailFast під час програмної обробки тексту. - Вирішено проблему з потоком рендерингу, викликаним відключенням HostVisual своєї цілі в неправильному потоці. - Вирішено проблему із зависанням під час прокручування TreeView, дерево якого є неоднорідним, у тому сенсі, що дочірні елементи даного вузла керують піддеревами, розміри яких досить різні. - Вирішено проблему з аварійним завершенням роботи, яке може статися при закритті підказки, яка повторно закривається за допомогою коду користувача. - Коли HwndHost залишає візуальне дерево, створюється трасування стека. Це дорого і, як правило, непотрібно. Логіку тепер змінено, щоб трасування стека створювалося лише тоді, коли виникає аномальна умова. — Вирішено проблему з втратою пам'яті в System.Speech.SpeechSynthesizer. - Команда Copy від DataGrid викликає виняток, якщо буфер обміну системи заблокований іншим процесом. Це призводило до аварійного завершення роботи, оскільки зазвичай у стеку немає коду програми, який міг би перехопити виняток. Поведінка TextBox (та інших програм на кшталт Notepad, WordWord, браузерів) у цій ситуації полягає в тому, щоб не працювати без жодних сповіщень - нічого не копіюється в буфер обміну, але не виняток. Програма WPF тепер може погодитися на таку поведінку, встановивши appSettings><add key="ShouldThrowOnDataGridCopyOrCutFailure" value="false"/></appSettings>у своєму app.config-файлі<. - Вирішено проблему в побудові внутрішньої моделі для документа FixedPage. Деякий текст відображався в неправильному порядку для цілей таких операцій редагування, як виділення та копіювання та вставлення. |
| WCF3 | - Під час використання імені користувача Windows UPN з форматом, подібним до username@dns.domain формату у властивості username NetworkCredential, під час використання NetTcpBinding або NetNamedPipeBinding, WCF неправильно розділяє ім'я користувача та dns.domain, розміщуючи їх у властивостях UserName та Domain. Це неприпустимо в деяких сценаріях і може призвести до помилки автентифікації. Це виправлення видаляє змінення облікових даних, якщо використовується ім'я користувача UPN. Модифікацію можна ввімкнути, встановивши для параметра AppSetting "wcf:enableLegacyUpnUsernameFix" значення true. |
| Net Libraries | — Вирішено проблему втрати пам'яті в HttpListener. |
| Форми Windows | - Вирішено проблему зі станом DataGridView IsReadOnlyaccessibility: Екранний диктор та інший доступний інструмент оголошує статус комірки лише для читання відповідно. - Вирішено проблему регресії у версії .NET Framework 4.8, коли програми, що використовують тип клітинки зі списком DataGridView та увімкнули спеціальні можливості рівня 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 (WPF)
3 . Фонд зв'язку Windows, 3
Відомі проблеми в цьому оновленні
Програми Windows Presentation Framework (WPF), які використовують два або більше елементів HostVisual, що належать до спільного потоку, де обом елементам HostVisual пропонується відключитися від свого візуального об'єкта приблизно одночасно, програма Пошта завершується помилкою з такою помилкою:
Тип винятку: System.COMException
Повідомлення: UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406)
Callstack: верхній кадр — System.Windows.Media.Composition.DUCE+Channel.SyncFlush()
Способи вирішення
Проблематичне виправлення можна вимкнути, встановивши для перемикача AppContext "Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread" значення true за допомогою одного з описаних тут способів. У результаті програма зіткнеться з оригінальною помилкою, тому вам слід вимкнути перемикач, коли буде опубліковано виправлення через майбутнє оновлення.
Спосіб вирішення 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 на комп'ютері.
Попередження
Якщо неправильно змінити реєстр за допомогою редактора реєстру або іншим способом, можуть виникнути серйозні проблеми. Через них може знадобитися повторно інсталювати операційну систему. Корпорація Майкрософт не гарантує вирішення цих проблем. Змініть реєстр на власний ризик.
Місцезнаходження: 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 10Windows 10 версії 1607 та Windows ServerWindows Server 2016 Класифікація: оновлення системи безпеки |
Відомості про файли
Щоб отримати список файлів, які містяться в цьому оновленні, завантажте відомості про файл для сукупного пакета оновлень.
Відомості про захист і безпеку
- Захистіть себе в Інтернеті: Windows SecurityБезпека у Windows support
- Дізнайтеся, як ми захищаємося від кіберзагроз: Захисний комплекс Microsoft