flawopen.com/Incidents/angle-cross-platform-zero-day-december-2025
CVE-2025-14174: falha ANGLE no Chrome e referência Apple
O Google confirmou exploração do ANGLE no Chrome. A Apple usa este CVE para outra falha de inicialização de memória no WebKit.
Ilustração: um funcionário escreve além do campo destinado e invade o próximo registro, como uma operação fora dos limites. O registro de casos também pode reutilizar um número para entradas diferentes; o identificador igual não prova que as falhas sejam iguais.
Conceitos Centrais e Termos
ANGLE- Almost Native Graphics Layer Engine: a biblioteca de código aberto do Google que traduz chamadas OpenGL ES e WebGL para APIs nativas como Metal, Direct3D e Vulkan.
Backend Metal- A parte do ANGLE voltada à API Metal. O Google identifica uma falha do ANGLE no Chrome para Mac, mas não informa a função afetada nem o mecanismo da correção.
Acesso fora dos limites (CWE-787)- Acesso fora dos limites (
CWE-787): operação que acessa memória fora dos limites previstos de um buffer.CWE-787classifica especificamente gravação fora dos limites; o Google não divulgou a operação exata nem a causa. Aritmética verificada- Operações com inteiros que acusam estouro em vez de dar a volta silenciosamente, como base::CheckedNumeric no Chromium e no ANGLE.
Zero-day- Zero-day: falha explorada antes da correção. O Google confirmou exploração do problema ANGLE no Chrome. A Apple descreveu separadamente exploração direcionada de problemas WebKit no aviso do iOS 26.2.
Mapeamentos de frameworks
- Referência CWE para a fraqueza descrita neste guia: CWE-787
- CISA KEV — adicionado em 2025-12-12 — CVE-2025-14174
Linha do Tempo do Incidente
O Google lança o Chrome 143.0.7499.110 para macOS e informa que existe um exploit em uso para a falha do ANGLE (issue 466192044 do Chromium).
O aviso da Apple lista CVE-2025-14174 para inicialização de memória no WebKit e, separadamente, CVE-2025-43529 para corrupção de memória no WebKit. A Apple relaciona este último relato a possível exploração direcionada; isso não prova causa comum com o ANGLE do Chrome. A CISA adicionou CVE-2025-14174 ao KEV.
Fluxo de Ataque Passo a Paso
Uma página forjada chega à camada gráfica
O registro CVE descreve uma página HTML criada para acionar a falha do ANGLE no Chrome para Mac. O vetor CVSS exige interação do usuário, portanto a vítima precisa abrir conteúdo web controlado pelo atacante.
O ANGLE traduz para Metal
O Google aponta o ANGLE como componente afetado no Chrome. O aviso público não identifica a função responsável nem diz que o WebKit usa o mesmo código vulnerável.
Memória fora de um buffer é acessada
O Google descreve acesso à memória fora dos limites, mas não informa se houve leitura ou gravação, qual buffer foi afetado ou qual cálculo causou a falha. O código abaixo é um exemplo genérico, não é código ANGLE nem reconstrução deste CVE.
Usada em ataques direcionados
O Google confirma exploração do CVE-2025-14174. A Apple relata separadamente exploração direcionada de falhas WebKit e também usa esse CVE para uma entrada de inicialização de memória no WebKit. Os avisos não estabelecem uma cadeia comum entre Chrome e WebKit.
Código-Fonte: Vulnerável vs. Seguro
O Google não publicou a causa no nível da função nem os detalhes do patch. Este exemplo genérico em C++20 valida o deslocamento e compara, por subtração, o tamanho solicitado com a capacidade restante para evitar overflow. Não reproduz o CVE nem a correção real do ANGLE.
// Apenas um exemplo genérico; não é código-fonte do ANGLE nem a implementação da CVE-2025-14174.
bool copyRange(std::span<std::byte> destination,
std::size_t offset,
std::span<const std::byte> source)
{
std::copy(source.begin(), source.end(), destination.begin() + offset);
return true;
}
// Apenas um exemplo genérico; não é código-fonte do ANGLE nem o patch da CVE-2025-14174.
bool copyRange(std::span<std::byte> destination,
std::size_t offset,
std::span<const std::byte> source)
{
if (offset > destination.size() ||
source.size() > destination.size() - offset) {
return false;
}
std::copy(source.begin(), source.end(), destination.begin() + offset);
return true;
}
Lista de Verificação de Segurança para Engenharia
- ✓Atualize o Chrome para Mac para a versão 143.0.7499.110 ou posterior; em novos ambientes, instale a versão compatível mais recente do Chrome.
- ✓Mapeie as bibliotecas de parsing e de gráficos compartilhadas (ANGLE, FreeType, libwebp, libxml2) entre seus produtos e assine os avisos de segurança delas, não só os de cada navegador.
- ✓Exija aritmética verificada (base::CheckedNumeric, std::ckd_mul do C23 ou checked_mul do Rust) em todo tamanho de buffer calculado a partir de dimensões controladas por quem chama, e aponte multiplicações sem verificação na revisão de código.
- ✓Faça fuzzing no CI dos caminhos de upload de texturas e buffers com dimensões extremas e zeradas sob AddressSanitizer, para que cópias fora dos limites falhem nos testes antes da release.
- ✓Acompanhe separadamente o aviso ANGLE do Chrome e as entradas WebKit da Apple: identificadores ou datas coincidentes não provam causa raiz nem cadeia de exploração comuns.
Fontes
- CVE-2025-14174 — registro CVE (ANGLE no Google Chrome para Mac)
- Google Chrome Releases — atualização do canal estável para desktop (10 de dezembro de 2025)
- Apple — sobre o conteúdo de segurança do iOS 26.2 e do iPadOS 26.2
- CISA — entrada da CVE-2025-14174 no catálogo Known Exploited Vulnerabilities
- ANGLE — repositório de código-fonte do Chromium