Sintomas
Depois de aplicar a atualização de segurança MS10-070 em servidores que atendem os sites do Microsoft ASP.NET que são implantados em web farms, alguns servidores ou aplicativos na web farm poderão encontrar um ou mais dos seguintes sintomas:
-
Falha ao descriptografar dados
-
Exceções nos manipuladores WebResource ou ScriptResource
-
Falhas de autenticação ao usar a autenticação de formulários
-
Exceções "Viewstate inválido"
-
Exceções "Não é possível validar os dados" ao tentar descriptografar os dados, como o cookie de autenticação de formulários
A falha foi manifestada como uma exceção de aplicativo ao acessar o aplicativo do ASP.NET e as informações que são semelhantes às seguintes também podem ser registradas no log do Aplicativo.
Mensagem 1:
System.Web.HttpException : Não foi possível validar os dados. em System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, IVType ivType, Boolean useValidationSymAlgo, Boolean signData)
Mensagem 2:
Tipo de Evento: Aviso
Origem do Evento: ASP.NET 2.0.50727.0
Categoria do Evento: Evento da Web
Identificação do Evento: 1309
Data: Data
Hora: Hora
Usuário: N/D
Descrição:
Código do evento: 3005
Mensagem de evento: Ocorreu uma exceção sem tratamento.
Informações da exceção:
Tipo de exceção: HttpException
Mensagem da exceção: Não é possível validar os dados.
Causa
A atualização de segurança corrigida pelo boletim MS10-070 altera o comportamento padrão da codificação no ASP.NET. O novo comportamento padrão depois da atualização de segurança é instalado para executar validação além da criptografia mesmo se somente esta for solicitada. Esse comportamento padrão altera a carga criptografada em servidores onde essa atualização for aplicada. A carga pode incluir o estado de exibição e os cookies de autenticação de formulários. Se uma web farm tiver somente alguns servidores nos quais a atualização de segurança é aplicada, haverá uma diferença na criptografia e nos métodos de descrição da mesma carga em servidores diferentes, e essa diferença em comportamento resulta em exceções. Esse comportamento também poderá ocorrer se os cookies de autenticação de formulários que forem persistentes em sistemas antes de aplicar a atualização de segurança forem consumidos depois que a atualização de segurança for aplicada.
Além disso, os métodos de criptografia e descriptografia são diferentes para cada versão de service pack do Microsoft .NET Framework 2.0. Portanto, ter diferentes níveis de service packs para o .NET Framework em um ambiente de web farm que possui a atualização de segurança instalada resulta em cargas de criptografia diferentes e em uma falha de descriptografia semelhante.
Resolução
Verifique se que as seguintes condições são verdadeiras em todos os servidores que atendem o conteúdo do ASP.NET:
-
Todos os servidores que atendem a um site ASP.NET na web farm devem instalar a atualização de segurança. Aplique a atualização nos servidores que ainda não têm a atualização de segurança instalada.
-
Todos os computadores que executam alguma versão do .NET Framework 2.0 na web farm deverão estar no mesmo nível de service pack se a atualização de segurança MS10-070 estiver aplicada em todos os sistemas. Se houver uma diferença nos níveis de service pack dos servidores, atualize todos eles e reaplique todas as atualizações de segurança. Portanto, se alguns servidores na web farm estiverem executando o .NET Framework 2.0 SP1 e outros estiverem executando o .NET Framework 2.0 SP2, todos os servidores do .NET Framework 2.0 SP1 devem estar atualizados para .NET Framework 2.0 SP2 antes de aplicar a atualização de segurança em todos os servidores da web farm.
-
Verifique se as aplicações não estão consumindo dados criptografados, como os cookies de autenticação de formulários que foram gerados antes da aplicação da atualização. Os dados criptografados anteriormente devem ser atualizados após a aplicação da atualização de segurança.
Para obter mais informações sobre como detectar as versões do .NET Framework e para obter a instalação da atualização de segurança nos seus servidores, consulte a seção "Referências".
Referências
Para obter mais informações sobre o estado de exibição do ASP.NET, consulte o artigo a seguir:
Visão geral do estado de exibição do ASP.NETPara obter mais informações sobre a Autenticação de formulários do ASP.NET, consulte o artigo a seguir:
Visão geral da autenticação de formulários do ASP.NETPara obter mais informações sobre os tíquetes e os cookies da autenticação de formulários do ASP.NET, clique no número abaixo para ler o artigo da Base de Dados de Conhecimento Microsoft:
910443 Entendendo o tíquete e o cookie de autenticação de formulários Para obter mais informações sobre o manipulador do recurso da Web do ASP.NET, clique no número abaixo para ler o artigo da Base de Dados de Conhecimento Microsoft:
910442 Trabalhando com recursos da Web no ASP.NET 2.0