Depois de aplicar a atualização de segurança 3141780, os aplicativos do .NET Framework encontram erros de exceção ou falhas inesperadas durante o processamento de arquivos que contêm SignedXml

Sumário
Após instalar qualquer uma das 3141780 atualizações de segurança (descritas no boletim de segurança da Microsoft MS16-035), os aplicativos do .NET Framework podem encontrar erros de exceção ou falhas inesperadas quando eles estão processando arquivos que contêm SignedXml.
Mais Informações
ImportanteEsta seção, método ou tarefa contém etapas que descrevem como modificar o Registro. No entanto, sérios problemas poderão ocorrer caso você modifique o Registro incorretamente. Portanto, siga estas etapas cuidadosamente. Para obter mais proteção, faça um backup do Registro antes de modificá-lo. Dessa forma, se ocorrer algum problema, você poderá restaurar o Registro. Para obter mais informações sobre como fazer backup e restaurar o Registro, clique no número a seguir para ler o artigo da Base de Dados de Conhecimento Microsoft:
322756Como fazer backup e restaurar o Registro no Windows

Cenário 1

Cenário 1 sintomas

Aplicativos gerenciados retornam uma exceção de erro que possui a assinatura a seguir:

System.Security.Cryptography.CryptographicException: Não é possível resolver o Uri [FileOrUrl].


Exemplo

System.Security.Cryptography.CryptographicException: Não é possível resolver o Uri testfile.xml.

Cenário 1 Solução

Clientes podem aplicar a chave de registro a seguir a seus sistemas:

Entrada do registro

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security@SignedXmlAllowDetachedSignature=1


Arquivo .Reg disponível para download

Para resolver este problema, clique no link apropriado e, em seguida, clique duas vezes no arquivo baixado para fazer as alterações do registro.

SignedXml-ExternalReferences.reg (processo de 32 bits em sistema de 32 bits e processo de 64 bits em sistema de 64 bits)

SignedXml-ExternalReferences.Wow6432.reg (processo de 32 bits em sistema de 64 bits)

Observações
  • Esta entrada do registro deve ser uma entrada DWORD.
  • Esta entrada do registro restaura o comportamento anterior ao abrir ou fazer download de um recurso que é externo para o documento a ser verificado para calcular seu resumo.
Aviso Ativar essa chave de registro poderia permitir vulnerabilidades de segurança, incluindo Negação de Serviço, Negação de Reflexão Distribuída de Serviço, Divulgação de Informações, Anulação de Assinatura e Execução de Código Remoto.

Cenário 2

Cenário 2 sintomas

Falha na verificação de assinatura quando o sucesso era esperado.

Resolução do cenário 2

Se o conteúdo contiver o bloco de assinatura a seguir, considere aplicar a entrada de registro fornecida:

Exemplo de bloco de assinatura

<Documento>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="...">
<Transforms></Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>…</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>…</SignatureValue>
</Signature>

</Document>

Entrada do registro

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\SafeTransformMethods@XmlDsigXPathTransform=http://www.w3.org/TR/1999/REC-xpath-19991116


Arquivo .Reg disponível para download

Para resolver este problema, clique no link apropriado e, em seguida, clique duas vezes no arquivo baixado para fazer as alterações do registro.

XmlDSigXPathTransform.reg (processo de 32 bits em sistema de 32 bits e processo de 64 bits em sistema de 64 bits)

XmlDSigXPathTransform.Wow6432.reg (processo de 32 bits em sistema de 64 bits)

Se o bloco de assinatura contiver o texto a seguir, considere aplicar a entrada de registro fornecida:

Exemplo de bloco de assinatura

<Documento>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<Reference URI="...">
<Transforms></Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<DigestValue>…</DigestValue>
</Reference>
</SignedInfo >
<SignatureValue>…</SignatureValue>
</Signature>

</Document>

Entrada do registro

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\SafeTransformMethods@XmlDsigXsltTransform=http://www.w3.org/TR/1999/REC-xslt-19991116

Arquivo .Reg disponível para download

Para resolver este problema, clique no link apropriado e, em seguida, clique duas vezes no arquivo baixado para fazer as alterações do registro.

XmlDSigXsltTransform.reg (processo de 32 bits em sistema de 32 bits e processo de 64 bits em sistema de 64 bits)

XmlDSigXsltTransform.Wow6432.reg (processo de 32 bits em sistema de 64 bits)

Observação Por padrão, somente as transformações de assinatura XML que são fornecidas pelo .NET Framework e não aceitam entrada do documento assinado são ativadas. Para ativar transformações que aceitam entradas ou transformações personalizadas, a URI registrada para essa transformação deve ser especificada como os dados de um valor digitado REG_SZ nesta chave de registro. O nome do valor não é processado e pode ser qualquer um que o administrador do computador escolher.

Aviso As transformações XPath e XSLT permitem que o remetente do documento crie documentos que sejam computacionalmente caros. Isto poderia causar uma situação de Negação de Serviço.
malicious attacker exploit
Observação: este é um artigo de “PUBLICAÇÃO RÁPIDA” criado diretamente pela organização de suporte da Microsoft. As informações aqui contidas são fornecidas no presente estado, em resposta a questões emergentes. Como resultado da velocidade de disponibilização, os materiais podem incluir erros tipográficos e poderão ser revisados a qualquer momento, sem aviso prévio. Consulte os Termos de Uso para ver outras informações.
Propriedades

ID do Artigo: 3148821 - Última Revisão: 03/23/2016 15:14:00 - Revisão: 3.0

Microsoft .NET Framework 4.6.1, Microsoft .NET Framework 4.6, Microsoft .NET Framework 4.5.2, Microsoft .NET Framework 3.5.1, Microsoft .NET Framework 3.5, Microsoft .NET Framework 3.0 Service Pack 2, Microsoft .NET Framework 2.0 Service Pack 2

  • kbbug kbexpertiseinter kbsecbulletin kbsecurity kbsecvulnerability kbregistry KB3148821
Comentários