Observação
- Data de lançamento:
11 de agosto de 2020 - Versão:
.NET Framework 4.8
Resumo
Melhoramentos 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 fiabilidade
| CLR1 | - Uma alteração no .NET Framework 4.8 regrediu certos cenários do EnterpriseServices em que um objeto de apartamento de thread único pode ser tratado como um apartamento multithread e levar a uma falha de bloqueio. Essa alteração agora identifica corretamente os objetos de apartamento de thread único como tal e evita essa falha. - Corrige um problema em assemblagens com dados de perfil IBC que fazem com que os processos de trabalho Ngen falhem e recorram a imagens nativas completas. - Aborda falhas raras que podem ocorrer durante a entrega do abortamento do thread. |
|---|---|
| SQL | - SqlBulkCopy.WriteToServer pode causar falhas nas transações para tabelas SQL na memória. O cliente pode ver uma exceção com a mensagem "Tempo limite de execução expirado. O período de tempo limite decorrido 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 abortasse a transação para tabelas na memória. |
| ASP.NET | - Use hashes compatíveis com FIPS em ASP.Net dados de telemetria. - Corrige um problema em que "Não especificado" não era um valor permitido na configuração para o atributo "cookieSameSite" das secções de autenticação de formulários e configuração do estado da sessão. |
| WPF2 | - Corrige um problema quando a verificação ortográfica está ativada no WPF TextBox ou RichTextBox, palavras como "etc.", "e.g." são identificados como erros ortográficos incorretamente. - Corrige um problema quando algumas aplicações WPF com Per-Monitor Aware que são executadas no .NET 4.8 podem, ocasionalmente, encontrar uma falha com exceptionSystem.ComponentModel.Win32Exception. - Corrige um problema em que TextBlock flui (toma diferentes decisões de quebra de linha) durante a renderização e o teste de acerto, em vez de durante a medida. Os sintomas incluem texto em falta e falhas FailFast durante o processamento de texto programático. - Corrige um problema com uma falha de thread de renderização causada pelo HostVisual desconectar seu destino no thread errado. - Resolve um problema com uma suspensão ao deslocar um TreeView cuja árvore não é uniforme, no sentido em que os filhos de um determinado nó governam subárvores cujos tamanhos são bastante diferentes. - Resolve um problema com uma falha que pode ocorrer ao fechar uma descrição que é novamente fechada por código de utilizador. - Quando um HwndHost deixa a árvore visual, um rastreamento de pilha é criado. Isso é caro e, geralmente, desnecessário. A lógica agora é alterada para criar o rastreamento de pilha somente quando a condição anômala ocorre. - Corrige uma fuga de memória em System.Speech.SpeechSynthesizer. - O comando Copiar do DataGrid lança uma exceção se a área de transferência do sistema estiver bloqueada por outro processo. Isso falha, pois geralmente não há nenhum código de aplicativo na pilha para capturar a exceção. O comportamento do TextBox (e outros aplicativos como Notepad, Word, navegadores) nesta situação é falhar silenciosamente - nada é copiado para a área de transferência, mas nenhuma 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 aparecia na ordem errada para efeitos de operações de edição, tais 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 dividiria incorretamente o nome de usuário e dns.domain colocando-os nas propriedades UserName e Domain. Esta autenticação é inválida em alguns cenários e poderá resultar numa falha de autenticação. Esta correção remove a modificação das credenciais ao utilizar um nome de utilizador UPN. A modificação pode ser reativada definindo o AppSetting "wcf:enableLegacyUpnUsernameFix" como true. |
| Bibliotecas de rede | - Corrige uma fuga de memória no HttpListener. |
| Winforms | - Corrige um problema com o estado DataGridView IsReadOnlyaccess: o Narrador e outra ferramenta acessível anuncia as células só de leitura status em conformidade. - Corrige uma regressão no .NET Framework 4.8 em que as aplicações que utilizam o tipo de célula DataGridView ComboBox que optaram por participar no Nível 3 de Acessibilidade podem apresentar falhas intermitentes ao editar a célula. - Resolve um problema no código de verificação do carimbo de data/hora do ClickOnce RFC3161. |
| Melhorias de acessibilidade do Winforms | Nesta versão, estamos a adicionar novas melhorias de acessibilidade nas quais a sua aplicação pode optar ativamente por participar. Por predefinição, estas alterações estão desativadas. As aplicações que optam por participar nas funcionalidades de acessibilidade introduzidas no .NET 4.8 e em versões anteriores podem adicionar o seguinte parâmetro de compatibilidade ao ficheiro de configuração da aplicação:"Switch.UseLegacyAccessibilityFeatures.4=false"Especificamente, se um aplicativo tiver como destino o .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 uma aplicação for direcionada para uma versão anterior do framework e optar ativamente por participar nos conjuntos de funcionalidades de acessibilidade lançados anteriormente, adicione um único "Switch.UseLegacyAccessibilityFeatures.4=false" parâmetro à secçã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:- Corrige um problema com o anúncio de itens de controlo PropertyGrid e categorias em estado expandido/fechado por Leitores de ecrã. - Atualização dos padrões acessíveis de controle de grade de propriedade e seus elementos internos. - Atualização dos nomes acessíveis dos elementos internos de controle da Grade de Propriedades para anunciá-los corretamente pelo leitor de tela. - Propriedades acessíveis do retângulo limitante 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
Os aplicativos do Windows Presentation Framework (WPF) que usam dois ou mais elementos HostVisual pertencentes a um thread comum, onde 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
Pode desativar a correção problemática ao definir o parâmetro AppContext "Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread" como verdadeiro, utilizando um dos métodos descritos aqui. Isto expõe a sua aplicação ao erro original, pelo que deve remover a opção assim que for publicada uma correção através de uma atualização futura.
Solução alternativa 1
• Adicione a seguinte entrada ao ficheiro app.config para desativar a correção problemática numa única aplicação.
<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 ponto-e-vírgula:
<AppContextSwitchOverrides value="Switch.SomeOtherSwitch=true; Switch.System.Windows.Media.HostVisual.DisconnectsOnWrongThread=true"/>
Solução alternativa 2
• Aplique a seguinte subchave de registo para desativar a correção problemática para todas as aplicações 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 garante que estes 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: String
Valor: verdadeiro
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 1703 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
- Proteja-se online: suporte à Segurança do Windows
- Saiba como protegemos contra ameaças cibernéticas: Segurança da Microsoft