← volver
CVE-2016-7200highbajo ataqueCWE-787

CVE-2016-7200

98Vexday Risk Score

Prioriza la corrección. Ella está bajo explotación confirmada por CISA y tiene prueba de concepto pública.

ssvc Actcvss 8.8epss 82%
de la publicación al arma8 días
Publicada en NVD10 nov
1ª PoC+8d
CISA KEV+1964d
probabilidad de explotación
82%top 1% de las CVE
explotación observada
CISA + VulnCheck
7 exploit(s) público(s)
Acción exigida por CISAplazo federal: 2022-04-18

Apply updates per vendor instructions.

Resumen

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.

Detalle 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).

Cómo se explota

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.

Versiones

Afectadas
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.
Corregidas en
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).

Cómo protegerse

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.

Cómo 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.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
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
Productos afectados
n/a · n/a
⚠ Recursos públicos, para evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.