11 августа 2020 г. — KB4569746 Накопительный пакет обновления для .NET Framework 4.8 для Windows 10 версии 1607 и Windows Server 2016

Применяется к
.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 данных телеметрии.
— Устранена проблема, из-за которой "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
Классификация: обновления для системы безопасности

Сведения о файлах

Чтобы получить список файлов, которые предоставляются в этом обновлении, скачайте сведения о файлах накопительного обновления.

Сведения о защите и безопасности