← voltar
CVE-2013-3900mediumsob ataqueCWE-347

WinVerifyTrust Signature Validation Vulnerability

75Vexday Risk Score

Priorize a correção. Ela está sob exploração confirmada pelo CISA e tem prova de conceito pública.

ssvc Actcvss 5.5epss 45%
da publicação à arma2797 dias
Publicada no NVD11 de dez.
1ª PoC+2797d
CISA KEV+2952d
probabilidade de exploração
45%top 1% das CVEs
exploração observada
simCISA + VulnCheck
15 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2022-07-10

Apply updates per vendor instructions.

Resumo

A CVE-2013-3900 descreve uma falha na função WinVerifyTrust do Windows que permite anexar dados arbitrários a um arquivo executável (PE) validamente assinado sem invalidar a assinatura Authenticode. Isso deixa binários maliciosos com payload extra embutido passando por 'assinado e confiável', o que quebra controles que decidem confiança com base em assinatura digital. Não é uma RCE remota clássica: o impacto real é bypass de verificação de integridade/confiança, e ganhou relevância nova em 2022 quando foi usada ativamente em campanhas de malware, entrando no catálogo KEV da CISA quase 9 anos depois da publicação original.

Detalhamento técnico

O Authenticode assina apenas partes específicas de um arquivo PE conforme a especificação da Microsoft — cabeçalho, seções de código e recursos, mas não necessariamente o arquivo completo. A WinVerifyTrust (wintrust.dll), ao validar a assinatura, verifica o hash das regiões previstas pela especificação, mas historicamente não rejeitava dados extras anexados após o bloco de assinatura (padding/appended data). O CVE está catalogado sob CWE-20 (Improper Input Validation) pela CISA, refletindo que a verificação não trata corretamente entradas fora do formato esperado.

Como é explorada

O atacante não precisa de acesso remoto à rede; precisa apenas conseguir modificar um arquivo PE já assinado — de qualquer editor confiável — anexando bytes extras (script, payload, dados de outro formato de arquivo) após a área coberta pela assinatura, e depois fazer a vítima executar ou instalar esse arquivo modificado. Como a assinatura permanece 'válida' aos olhos da WinVerifyTrust padrão, controles de segurança que confiam em binários assinados (allowlisting por assinatura, alguns AV/EDR) tratam o arquivo como legítimo, apesar do conteúdo malicioso anexado. O vetor CVSS (AV:L/PR:N/UI:R) reflete exatamente isso: execução local, sem privilégio prévio, mas com interação do usuário para rodar o arquivo trojanizado.

Versões

Afetadas
Todas as versões suportadas de Windows na época do MS13-098 (Windows XP SP3 até Windows Server 2012 R2, incluindo Windows RT). No republishing de 2022/2023, a MSRC lista como afetadas Windows 10 (versões 1507, 1607, 1809, 21H2, 22H2) e Windows 11 (21H2, 22H2, 22H3) no sentido de que o comportamento vulnerável (verificação frouxa) é o padrão de fábrica nessas versões, mesmo com a funcionalidade de correção disponível.
Corrigidas em
Não há versão que corrija o comportamento por padrão. A funcionalidade de verificação estrita (EnableCertPaddingCheck) está presente e disponível como opt-in em todas as versões suportadas de Windows 10 e Windows 11 desde 10/12/2013; nenhuma atualização de segurança adicional é necessária para obter o código — apenas a configuração manual da chave de registro.

Como se proteger

A Microsoft não corrigiu o comportamento por padrão nem planeja fazê-lo: a verificação estrita é opt-in via chave de registro EnableCertPaddingCheck, disponível desde o boletim original (dezembro de 2013) e presente em todas as versões atualmente suportadas de Windows 10 e Windows 11 sem necessidade de atualização adicional — só é preciso configurar a chave. A configuração exata está descrita no Security Advisory 2915720 da Microsoft; ative-a testando previamente, pois pode quebrar softwares legítimos que dependem de dados anexados a arquivos assinados (um custo real de compatibilidade, motivo pelo qual nunca se tornou padrão). Aplicar apenas as atualizações do MS13-098 de 2013 não resolve o problema de fundo — aquele boletim corrigiu apenas parte do comportamento; a mitigação completa depende da chave de registro, que continua desativada por padrão em toda instalação nova.

Como detectar

Não há assinatura de rede ou log padrão que indique exploração, já que o vetor é local/execução de arquivo e a evasão ocorre no nível de verificação de confiança, não de tráfego. Um indício técnico é comparar o tamanho do arquivo assinado com a região efetivamente coberta pela assinatura digital (ferramentas como sigcheck ou análise de PE que expõem o offset de fim de assinatura vs. tamanho real do arquivo); arquivos com dados anexados após o certificado, mas ainda reportando assinatura 'válida', são o padrão a procurar. A ausência da chave EnableCertPaddingCheck no registro indica que o host está com a verificação padrão (frouxa) ativa.

Pesquisado e redigido com IA a partir do advisory do fornecedor e de análises públicas, com as fontes acima. Confira sempre a versão corrigida no advisory oficial antes de agir.
Why is Microsoft republishing a CVE from 2013? We are republishing CVE-2013-3900 in the Security Update Guide to update the Security Updates table and to inform customers that the EnableCertPaddingCheck is available in all currently supported versions of Windows 10 and Windows 11. While the format is different from the original CVE published in 2013, except for clarifications about how to configure the EnableCertPaddingCheck registry value, the information herein remains unchanged from the original text published on December 10, 2013, Microsoft does not plan to enforce the stricter verification behavior as a default functionality on supported releases of Microsoft Windows. This behavior remains available as an opt-in feature via reg key setting, and is available on supported editions of Windows released since December 10, 2013. This includes all currently supported versions of Windows 10 and Windows 11. The supporting code for this reg key was incorporated at the time of release for Windows 10 and Windows 11, so no security update is required; however, the reg key must be set. See the Security Updates table for the list of affected software. Vulnerability Description A remote code execution vulnerability exists in the way that the WinVerifyTrust function handles Windows Authenticode signature verification for portable executable (PE) files. An anonymous attacker could exploit the vulnerability by modifying an existing signed executable file to leverage unverified portions of the file in such a way as to add malicious code to the file without invalidating the signature. An attacker who successfully exploited this vulnerability could take complete control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. If a user is logged on with administrative user rights, an attacker who successfully exploited this vulnerability could take complete control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights. Exploitation of this vulnerability requires that a user or application run or install a specially crafted, signed PE file. An attacker could modify an... See more at https://msrc.microsoft.com/update-guide/vulnerability/CVE-2013-3900
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N/E:U/RL:O/RC:C
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.