← volver
CVE-2017-5030highbajo ataqueCWE-125

CVE-2017-5030

63Vexday Risk Score

Prioriza la corrección. Ella está bajo explotación confirmada por CISA.

ssvc Actcvss 8.8epss 42%
de la publicación al arma
Publicada en NVD24 abr
CISA KEV+1871d
probabilidad de explotación
42%top 1% de las CVE
explotación observada
CISA + VulnCheck
Acción exigida por CISAplazo federal: 2022-06-22

Apply updates per vendor instructions.

Resumen

Falha de corrupção de memória no motor V8 do Google Chrome, causada pelo tratamento incorreto de 'species' complexas — o mecanismo do ES2015 que permite subclassificar objetos embutidos como Array e sobrescrever seu comportamento de construção. Um atacante que convença a vítima a abrir uma página HTML maliciosa pode corromper memória do processo de renderização e executar código arbitrário no contexto do Chrome. Está no catálogo KEV da CISA, ou seja, há evidência de exploração ativa, mas o advisory original da Google não descreve o bug como explorado no momento da correção — a confirmação de uso real veio depois, via CISA.

Detalle técnico

O bug (crbug 682194, CVE-2017-5030) está no tratamento, pelo V8, do padrão Symbol.species — o mecanismo do ES2015 que permite a métodos de Array (como map, filter, slice) determinar dinamicamente qual construtor usar para o objeto de retorno, inclusive quando esse construtor é sobrescrito por uma subclasse definida pelo atacante via getter customizado. Esse desvio de controle no meio de uma operação de array é uma fonte clássica de bugs de type confusion em motores JavaScript: o V8 assume premissas sobre o tipo, o layout de elementos ('elements kind') ou o tamanho do objeto que deixam de ser válidas quando o getter de species dispara código arbitrário e altera o estado do objeto original durante a operação.

A Google classificou o problema apenas como 'memory corruption in V8', sem detalhar CWE ou o caminho exato de código — política padrão da empresa de restringir detalhes técnicos até que a maioria dos usuários tenha atualizado. O padrão de bugs de 'species' no V8 dessa época é consistente com type confusion (CWE-843) ou escrita fora de limites (CWE-787) decorrente de reentrância não tratada durante manipulação de arrays.

O atacante controla o conteúdo de uma página HTML/JavaScript arbitrária: pode definir uma classe que estende Array (ou TypedArray) com um Symbol.species customizado, forçar o V8 a invocá-lo em pontos sensíveis da execução de métodos nativos, e usar o efeito colateral resultante para moldar um estado de memória inválido explorável.

Cómo se explota

O vetor é puramente client-side: a vítima precisa visitar uma página web controlada pelo atacante (ou uma página legítima comprometida/com anúncio malicioso) rodando o Chrome vulnerável. Não há necessidade de autenticação, privilégios elevados ou configuração não padrão — o requisito real é interação do usuário (abrir a página), refletido no vetor CVSS com UI:R. Isso torna o cenário de exploração amplo: qualquer usuário navegando com uma versão desatualizada do Chrome está potencialmente exposto.

A exploração de bugs de corrupção de memória em V8 normalmente exige, além do type confusion inicial, uma cadeia de primitivas (leitura/escrita controlada, bypass de proteções como ASLR) para chegar a execução de código confiável — não é um exploit trivial de uma única etapa, mas o prêmio de $7.500 pago pela Google (categoria 'High') indica que o researcher (Brendon Tiszka) demonstrou impacto sério, provavelmente até execução de código dentro do sandbox do renderer.

A presença no catálogo KEV da CISA confirma exploração no mundo real, mas não há, nas fontes disponíveis, detalhamento público de campanha, payload ou grupo de ameaça associado — a atribuição de exploração ativa é do próprio catálogo KEV, sem elaboração técnica adicional nas referências consultadas.

Versiones

Afectadas
Google Chrome anterior a 57.0.2987.98 (Linux, Windows e Mac) e anterior a 57.0.2987.108 (Android). Distribuições baseadas em Chromium (Red Hat, Gentoo, Debian) empacotavam versões correspondentes antes das respectivas atualizações.
Corregidas en
57.0.2987.98 (Windows, Mac, Linux) e 57.0.2987.108 (Android), conforme o Chrome Releases Blog da Google. Gentoo recomenda >=57.0.2987.133 para o pacote www-client/chromium, que absorve correções de rounds subsequentes. Red Hat corrigiu via RHSA-2017:0499 com chromium-browser-57.0.2987.98-1.el6.

Cómo protegerse

A correção definitiva é atualizar o Chrome para 57.0.2987.98 ou posterior (Windows, Mac e Linux) e 57.0.2987.108 ou posterior (Android). Distribuições que empacotam Chromium também publicaram correções: Red Hat via RHSA-2017:0499 atualizando para chromium-browser 57.0.2987.98, e Gentoo via GLSA 201704-02 recomendando >=57.0.2987.133 (versão que já inclui correções adicionais de rounds posteriores de segurança).

Não existe workaround de configuração conhecido — o próprio GLSA da Gentoo declara explicitamente 'There is no known workaround at this time'. Não há flag de linha de comando, política de grupo ou controle de sandbox documentado que neutralize esse bug especificamente sem desabilitar JavaScript por completo (o que quebra a usabilidade da maioria dos sites). A única mitigação real é a atualização do binário do Chrome/Chromium.

Como o bug está em V8 e depende de interação do usuário com conteúdo web arbitrário, filtragem de rede ou WAF não têm efeito — o vetor é o próprio navegador processando JavaScript legítimo do ponto de vista de protocolo, não uma requisição maliciosa identificável.

Cómo detectar

Não há assinatura de rede ou de log confiável para detectar tentativas de exploração desse bug — o ataque ocorre inteiramente dentro do processo de renderização do Chrome ao processar JavaScript de uma página, sem padrão de tráfego HTTP distintivo. Em ambientes corporativos, a única visibilidade prática é a telemetria de crash do próprio Chrome (crashes recorrentes do renderer com padrão de corrupção de memória) ou EDR capturando comportamento pós-exploração (spawning de processo anômalo a partir do Chrome), não o exploit em si.

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.
Incorrect handling of complex species in V8 in Google Chrome prior to 57.0.2987.98 for Linux, Windows, and Mac and 57.0.2987.108 for Android allowed a remote attacker to execute arbitrary code via a crafted HTML page.
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H