← voltar
CVE-2016-7200highsob ataqueCWE-787

CVE-2016-7200

98Vexday Risk Score

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

ssvc Actcvss 8.8epss 82%
da publicação à arma8 dias
Publicada no NVD10 de nov.
1ª PoC+8d
CISA KEV+1964d
probabilidade de exploração
82%top 1% das CVEs
exploração observada
simCISA + VulnCheck
7 exploit(s) público(s)
Ação exigida pela CISAprazo federal: 2022-04-18

Apply updates per vendor instructions.

Resumo

Falha de type confusion no motor JavaScript Chakra do Microsoft Edge, explorável via Array.filter para causar corrupção de memória e, em cadeia com outra falha, execução remota de código. Importa porque está no catálogo KEV da CISA com exploração confirmada e existe PoC pública funcional, mas o vetor exige que a vítima visite um site controlado pelo atacante — não há exploração passiva ou sem interação.

Detalhamento técnico

O bug está no tratamento de Array.filter pelo Chakra. Ao criar o array de destino, o motor usa ArraySpeciesCreate, que pode retornar tanto um array 'nativo' (armazenamento compacto de inteiros) quanto um array 'var' (armazenamento de ponteiros, mais largo). O laço interno que popula esse array de destino, porém, assume incondicionalmente que ele é do tipo var e grava valores usando DirectSetItemAt sem revalidar o tipo real do objeto — uma confusão de tipos (type confusion, próxima de CWE-843; a CISA classifica como CWE-119, restrição inadequada de operações em buffer de memória).

Como é explorada

Pesquisadores do Google Project Zero (Natalie Silvanovich, issue 922) demonstraram que é possível forçar o destino do filter a ser um array nativo definindo Symbol.species numa subclasse de Array e devolvendo, no getter, um construtor que retorna um array já existente com tipo diferente do esperado. Isso permite primeiro um information leak (ler ponteiros/valores fora dos limites como se fossem números) e, num segundo estágio, corromper heap escrevendo além do array alocado, já que elementos var ocupam o dobro do espaço de elementos int.

Versões

Afetadas
Microsoft Edge no Windows 10 (RTM/32-bit e x64), Windows 10 Version 1511 (32-bit e x64), Windows 10 Version 1607 (32-bit e x64) e Windows Server 2016 x64 — conforme listado no boletim MS16-129.
Corrigidas em
Corrigida pelas atualizações cumulativas listadas no MS16-129: KB3198585 (Windows 10 RTM), KB3198586 (Windows 10 1511), KB3200970 (Windows 10 1607 e Windows Server 2016), substituindo atualizações anteriores (3192440, 3192441, 3194798).

Como se proteger

A correção oficial veio no boletim MS16-129 (8 de novembro de 2016), via atualização cumulativa KB3199057 para Microsoft Edge no Windows 10 (RTM, 1511, 1607) e Windows Server 2016. Aplicar essa atualização cumulativa do Windows resolve a falha; não existe flag de configuração ou mitigação parcial documentada pelo fornecedor — o Chakra é parte integrante do Edge, então a única mitigação real sem atualizar é não usar o Edge para navegação não confiável ou desativar JavaScript (inviável na prática). Como o suporte ao Edge legado (EdgeHTML/Chakra) terminou, sistemas ainda expostos a essa versão do navegador devem ser considerados sem caminho de correção disponível e precisam migrar para um navegador com suporte ativo.

Como detectar

Não há assinatura de rede confiável documentada pelo fornecedor para esse CVE específico — a exploração ocorre inteiramente client-side, dentro do motor JS, via JavaScript ofuscado que manipula Array.filter, Symbol.species e subclasses de Array. Em ambiente de SOC, o sinal mais útil é indireto: telemetria de endpoint mostrando o processo do Edge (ou MicrosoftEdgeCP.exe/EdgeContentProcess) travando com falhas de acesso a memória após visitar um site específico, seguido de execução de processo filho inesperado (ex.: cmd.exe, powershell.exe, ou WinExec de outro binário) a partir do Edge — padrão consistente com os PoCs públicos que encadeiam CVE-2016-7200 com CVE-2016-7201 para RCE.

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.
The Chakra JavaScript scripting engine in Microsoft Edge allows remote attackers to execute arbitrary code or cause a denial of service (memory corruption) via a crafted web site, aka "Scripting Engine Memory Corruption Vulnerability," a different vulnerability than CVE-2016-7201, CVE-2016-7202, CVE-2016-7203, CVE-2016-7208, CVE-2016-7240, CVE-2016-7242, and CVE-2016-7243.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Produtos afetados
n/a · n/a
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.