Примечание
- Дата выпуска:
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 данных телеметрии. — Устранена проблема, из-за которой "Unspecified" не было допустимым значением в конфигурации для атрибута cookieSameSite разделов проверки подлинности и состояния сеанса. |
| WPF2 | — Устранена проблема, когда проверка орфографии включена в WPF TextBox или RichTextBox, слова типа "etc.", "например". неправильно определены как орфографические ошибки. — Устранена проблема, когда некоторые приложения WPF, поддерживающие Per-Monitor, которые выполняются в .NET 4.8, иногда могут столкнуться с сбоем с исключениемSystem.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 | — При использовании имени участника-пользователя Windows в формате, аналогичном свойству username@dns.domain username объекта NetworkCredential при использовании NetTcpBinding или NetNamedPipeBinding, WCF неправильно разделяет имя пользователя и dns.домен на свойства UserName и Domain. В некоторых сценариях это недопустимо и приведет к сбою проверки подлинности. Это исправление удаляет изменение учетных данных при использовании имени пользователя участника-пользователя. Изменение можно включить повторно, задав для параметра AppSetting "wcf:enableLegacyUpnUsernameFix" значение true. |
| Библиотеки Net | — Устранена утечка памяти в 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>Улучшения специальных возможностей Winform, включенные в этот выпуск: Устранена проблема с объявлением элементов управления PropertyGrid и категорий, развернутых или свернутых средствами чтения с экрана. — Обновлены доступные шаблоны элемента управления Property Grid и его внутренних элементов. — Обновлены доступные имена внутренних элементов элемента управления "Сетка свойств", чтобы правильно объявить их средством чтения с экрана. — адресирует доступные свойства прямоугольника для элементов управления PropertyGridView. — Позволяет средствам чтения с экрана правильно объявлять о развернутом или свернутом состоянии ячейки ComboBox DataGridView. |
1 СРЕДА CLR
2 Windows Presentation Foundation (WPF)
3 Windows Communication Foundation
Известные проблемы, связанные с этим обновлением
Приложения Windows Presentation Framework (WPF), использующие два или более элементов HostVisual, принадлежащих общему потоку, в которых оба элемента HostVisual получают запрос на отключение от визуального целевого объекта примерно в одно и то же время. Почта завершается ошибкой со следующей ошибкой:
Тип исключения: System.COMException
Сообщение: UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406)
Callstack: верхний кадр System.Windows.Media.Composition.DUCE+Channel.SyncFlush()
Временные решения
Вы можете отключить проблемное решение, задав для параметра AppContext значение true для параметра Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread, используя один из описанных здесь методов. Это открывает для приложения исходную ошибку, поэтому следует удалить переключатель после публикации исправления в предстоящем обновлении.
Обходной путь 1
• Добавьте следующую запись в файл app.config, чтобы отключить проблемное исправление в одном приложении.
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
</runtime>
Обратите внимание, что если в конфигурации приложения уже есть запись для <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
Тип: String
Значение: true
Обратите внимание, что в 64-разрядных операционных системах также необходимо применить подраздел реестра с тем же именем, типом и значением в расположении: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\
Решение
Мы работаем над решением и предоставим обновление в предстоящем выпуске.
Порядок получения обновления
Установка этого обновления
| Канал выпуска | Доступно | Следующий шаг |
|---|---|---|
| Центр обновления Windows и Центр обновления Майкрософт | Да | Нет. Это обновление будет скачано и установлено автоматически из Центра обновления Windows. |
| Каталог Центра обновления Майкрософт | Да | Чтобы получить отдельный пакет для данного обновления, перейдите на веб-сайт каталога Центра обновления Майкрософт. |
| Службы Windows Server Update Services (WSUS) | Да | Это обновление будет автоматически синхронизироваться с WSUS, если вы настроите продукты и классификации следующим образом: Продукт:Windows 10 версии 1607 и Windows Server 2016 Классификация: обновления для системы безопасности |
Сведения о файлах
Чтобы получить список файлов, которые предоставляются в этом обновлении, скачайте сведения о файлах накопительного обновления.
Сведения о защите и безопасности
- Защита себя в Интернете: Безопасность Windows поддержка
- Узнайте, как мы защитимся от киберугроз: Безопасность Майкрософт