11 de agosto de 2020-KB4569746 Atualização cumulativa para .NET Framework 4.8 para Windows 10 versão 1607 e Windows Server 2016

Aplica-se a
.NET

Observação

  • Data de lançamento:
    11 de agosto de 2020
  • Versão:
    .NET Framework 4.8

Resumo

Melhorias de segurança

Existe uma elevação da vulnerabilidade de privilégios quando aplicativos ASP.NET ou aplicativos web .NET Framework em execução no IIS permitem indevidamente acesso a arquivos armazenados em cache. Um invasor que conseguir explorar essa vulnerabilidade poderá obter acesso a arquivos restritos. Para explorar essa vulnerabilidade, um invasor precisaria enviar uma solicitação especialmente criada para um servidor afetado. A atualização resolve a vulnerabilidade, alterando como o ASP.NET e o .NET Framework lidam com solicitações.

Para saber mais sobre as vulnerabilidades, acesse a CVE (Vulnerabilidades e Exposições Comuns) a seguir.

Melhorias de qualidade e confiabilidade

CLR1 - Uma alteração no .NET Framework 4.8 regrediu determinados cenários do EnterpriseServices em que um objeto apartment de thread único pode ser tratado como um apartment de multithread e levar a uma falha de bloqueio. Essa alteração agora identifica corretamente os objetos apartment de thread único como tais e evita essa falha.
- Resolve um problema em assemblies com dados de perfil IBC, fazendo com que os processos de trabalho Ngen falhem e retornem a imagens nativas completas.
- Resolve falhas raras que podem ocorrer durante a entrega de anulação de thread.
SQL - SqlBulkCopy.WriteToServer pode fazer com que as transações de tabelas SQL na memória falhem. O cliente pode ver uma exceção com a mensagem "Tempo limite de execução expirado. O período de tempo limite decorreu antes da conclusão da operação ou o servidor não está respondendo." SqlBulkCopy.WriteToServer estava enviando um token de atenção (mensagem de cancelamento) depois de enviar dados para o Sql Server, fazendo com que o servidor anulasse a transação para tabelas na memória.
ASP.NET - Use hashes compatíveis com FIPS em ASP.Net dados de telemetria.
- Resolve um problema em que "Não especificado" não era um valor permitido na configuração do atributo "cookieSameSite" das seções de configuração de estado de sessão e autenticação de formulários.
WPF2 - Resolve um problema quando a verificação ortográfica está habilitada no WPF TextBox ou RichTextBox, palavras como "etc.", "por exemplo" são identificados incorretamente como erros de ortografia.
- Resolve um problema em que alguns aplicativos WPF com reconhecimento de Per-Monitor executados no .NET 4.8 podem ocasionalmente encontrar uma falha com exceptionSystem.ComponentModel.Win32Exception.
- Resolve um problema em que o TextBlock reflui (toma diferentes decisões de quebra de linha) durante a renderização e o teste de ocorrência, versus durante a medida. Os sintomas incluem texto ausente e falhas FailFast durante o processamento de texto programático.
- Resolve um problema com uma falha de thread de renderização causada pelo HostVisual desconectando seu destino no thread errado.
- Resolve um problema com um travamento ao rolar um TreeView cuja árvore não é uniforme, no sentido de que os filhos de um determinado nó governam subárvores cujos tamanhos são bem diferentes.
- Corrige um problema com uma falha que pode ocorrer ao fechar uma dica de ferramenta que é fechada novamente pelo código do usuário.
- Quando um HwndHost sai da árvore visual, um rastreamento de pilha é criado. Isso é caro e geralmente desnecessário. Agora a lógica é alterada para criar o rastreamento de pilha somente quando a condição anômala ocorre.
- Resolve um vazamento de memória no System.Speech.SpeechSynthesizer.
- O comando Copiar do DataGrid lançará uma exceção se a área de transferência do sistema estiver bloqueada por outro processo. Isso falha, pois geralmente não há código de aplicativo na pilha para capturar a exceção. O comportamento do TextBox (e outros aplicativos como Bloco de notas, Word, navegadores) nessa situação é falhar silenciosamente - nada é copiado para a área de transferência, mas sem exceção. Um aplicativo WPF agora pode optar por esse comportamento definindo <appSettings><add key="ShouldThrowOnDataGridCopyOrCutFailure" value="false"/></appSettings>em seu arquivo app.config.
- Resolve um problema na construção do modelo interno para um documento FixedPage. Algum texto estava aparecendo na ordem errada para fins de operações de edição, como selecionar e copiar/colar.
WCF3 - Ao usar um nome de usuário UPN do Windows com o formato semelhante à username@dns.domain propriedade username de um NetworkCredential ao usar NetTcpBinding ou NetNamedPipeBinding, o WCF dividia incorretamente o nome de usuário e o dns.domain, colocando-os nas propriedades UserName e Domain. Isso é inválido em alguns cenários e resultaria em falha na autenticação. Essa correção remove a modificação de credencial ao usar um nome de usuário UPN. A modificação pode ser reabilitada definindo o AppSetting "wcf:enableLegacyUpnUsernameFix" como true.
Bibliotecas de rede - Resolve um vazamento de memória no HttpListener.
Winforms - Resolve um problema com o estado DataGridView IsReadOnlyaccessibility: o Narrador e outras ferramentas acessíveis anunciam o status da célula somente leitura de acordo.
- Resolve uma regressão no .NET Framework 4.8 quando aplicativos que usam o tipo de célula DataGridView ComboBox e optaram pelo Nível 3 de Acessibilidade podem apresentar falhas intermitentes durante a edição da célula.
- Resolve um problema no código de verificação de carimbo de data/hora do ClickOnce RFC3161.
Melhorias de Acessibilidade do Winforms Nesta versão, estamos adicionando novas melhorias de acessibilidade que seu aplicativo pode aceitar. Por padrão, essas alterações são desabilitadas. Os aplicativos que aceitam os recursos de acessibilidade introduzidos no .NET 4.8 e versões anteriores podem adicionar a seguinte opção de compatibilidade ao arquivo de configuração do aplicativo:
"Switch.UseLegacyAccessibilityFeatures.4=false"
Especificamente, se um aplicativo for direcionado ao .NET 4.8, adicione a seguinte seção 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>
Se um aplicativo for direcionado a uma versão anterior da estrutura e optar pelos conjuntos de recursos de acessibilidade lançados anteriormente, adicione uma única "Switch.UseLegacyAccessibilityFeatures.4=false" opção à seção existente 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>
As melhorias de acessibilidade do Winforms incluídas nesta versão são:- Resolve um problema com o anúncio do estado expandido/recolhido de itens e categorias de controle PropertyGrid por leitores de tela.
- Atualizados os padrões acessíveis do controle de Grade de Propriedades e seus elementos internos.
- Atualizados os nomes acessíveis dos elementos internos do controle da Grade de Propriedades para anunciá-los corretamente pelo leitor de tela.
- Endereços de propriedades acessíveis de retângulo delimitador para os controles PropertyGridView
- Permite que os leitores de tela anunciem o estado expandido/recolhido da célula DataGridView ComboBox corretamente.

         1 Common Language Runtime (CLR)
2 Windows Presentation Foundation (WPF)
3 Windows Communication Foundation

Problemas conhecidos nesta atualização

Aplicativos WPF (Windows Presentation Framework) que usam dois ou mais elementos HostVisual pertencentes a um thread comum, em que ambos os elementos HostVisual são solicitados a se desconectar de seu destino visual aproximadamente ao mesmo tempo, o email falha com o seguinte erro:

Tipo de exceção: System.COMException
Mensagem: UCEERR_RENDERTHREADFAILURE (HRESULT 0x88980406)
Pilha de chamadas: o quadro superior é System.Windows.Media.Composition.DUCE+Channel.SyncFlush()

Soluções alternativas

Você pode desabilitar a correção problemática definindo o comutador AppContext "Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread" como true, usando um dos métodos descritos aqui.  Isso expõe seu aplicativo ao bug original, portanto, você deve remover a opção assim que uma correção for publicada por meio de uma atualização futura.

Solução alternativa 1

• Adicione a seguinte entrada ao arquivo app.config para desativar a correção problemática em um único aplicativo.

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

Observe que, se a configuração do aplicativo já tiver uma entrada para <AppContextSwitchOverrides, você precisará adicionar a nova configuração dentro dessa entrada, separada de outras opções por um ponto-e-vírgula>:

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

Solução alternativa 2

• Aplique a seguinte subchave do Registro para desabilitar a correção problemática para todos os aplicativos WPF no computador.
 Aviso
A modificação incorreta do Registro usando o Editor do Registro ou outro método pode causar sérios problemas. Esses problemas podem exigir a reinstalação do sistema operacional. A Microsoft não pode garantir que esses problemas possam ser resolvidos. Modifique o Registro a seu próprio risco.

Localização: HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\AppContext\
Nome: Switch.System.Media.HostVisual.DisconnectsOnWrongThread
Tipo: Cadeia de caracteres
Valor: true

Observe que, em sistemas operacionais de 64 bits, você também precisa aplicar uma subchave do Registro com o mesmo nome, tipo e valor no local: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\.NETFramework\AppContext\

Resolução

Estamos trabalhando em uma solução e forneceremos uma atualização no próximo lançamento.
 

Como obter esta atualização

Instalar esta atualização

Canal de lançamento Disponível Próxima Etapa
Windows Update e Microsoft Update Sim Nenhuma. Esta atualização será baixada e instalada automaticamente do Windows Update.
Catálogo do Microsoft Update Sim Para obter o pacote autônomo dessa atualização, acesse o site do Catálogo do Microsoft Update.
Windows Server Update Services (WSUS) Sim Esta atualização será automaticamente sincronizada com o WSUS se você configurar Produtos e Classificações da seguinte maneira:
Produto:Windows 10 versão 1607 e Windows Server 2016
Classificação: Atualizações de Segurança

Informações de arquivo

Para obter uma lista dos arquivos fornecidos nesta atualização, baixe as informações de arquivos da atualização cumulativa.

Informações sobre proteção e segurança