flawopen.com/Incidents/angle-cross-platform-zero-day-december-2025
CVE-2025-14174: fallo ANGLE en Chrome y referencia de Apple
Google confirmó la explotación de ANGLE en Chrome. Apple usa este CVE para otro fallo de inicialización de memoria en WebKit.
Una persona que copia un formulario escribe fuera de la casilla asignada y entra en el siguiente registro: así se representa un acceso fuera de límites. Un registro también puede reutilizar un número para entradas distintas; compartir identificador no demuestra que los defectos sean iguales.
Conceptos Clave y Términos
ANGLE- Almost Native Graphics Layer Engine: la biblioteca de código abierto de Google que traduce llamadas de OpenGL ES y WebGL a API nativas como Metal, Direct3D y Vulkan.
Backend Metal- Parte de ANGLE dirigida a la API Metal. Google identifica un problema de ANGLE en Chrome para Mac, pero no revela la función afectada ni el mecanismo de la corrección.
Acceso fuera de límites (CWE-787)- Acceso fuera de límites (
CWE-787): operación que accede a memoria fuera del límite previsto de un búfer.CWE-787clasifica específicamente la escritura fuera de límites; Google no publicó la operación exacta ni la causa. Aritmética comprobada- Operaciones con enteros que avisan del desbordamiento en lugar de dar la vuelta en silencio, como base::CheckedNumeric en Chromium y ANGLE.
Zero-day- Zero-day: fallo explotado antes de que exista una corrección. Google confirmó la explotación del problema de ANGLE en Chrome. Apple describió por separado explotación dirigida de problemas de WebKit en el aviso de iOS 26.2.
Mapeos de marcos
- Referencia CWE para la debilidad descrita en esta guía: CWE-787
- CISA KEV — añadido el 2025-12-12 — CVE-2025-14174
Cronología del Incidente
Google publica Chrome 143.0.7499.110 para macOS e indica que existe un exploit en circulación para el fallo de ANGLE (issue 466192044 de Chromium).
El aviso de Apple enumera CVE-2025-14174 para inicialización de memoria en WebKit y, por separado, CVE-2025-43529 para corrupción de memoria en WebKit. Apple vincula este último informe con posible explotación dirigida; eso no demuestra una causa común con ANGLE de Chrome. CISA añadió CVE-2025-14174 a KEV.
Flujo de Ataque Paso a Paso
Una página manipulada llega a la capa gráfica
El registro CVE describe una página HTML manipulada que activa el problema de ANGLE en Chrome para Mac. El vector CVSS requiere interacción del usuario, por lo que la víctima debe abrir contenido web controlado por el atacante.
ANGLE traduce a Metal
Google identifica ANGLE como el componente afectado de Chrome. El aviso público no identifica la función responsable ni afirma que WebKit utilice el mismo código vulnerable.
Se accede a memoria fuera de un búfer
Google describe un acceso a memoria fuera de límites, pero no indica si fue lectura o escritura, qué búfer se afectó ni qué cálculo causó el fallo. El código siguiente es genérico; no es código de ANGLE ni reconstruye este CVE.
Usado en ataques dirigidos
Google confirma explotación de CVE-2025-14174. Apple informa por separado de explotación dirigida de problemas de WebKit y también usa este CVE para una entrada de inicialización de memoria de WebKit. Los avisos no establecen una cadena común entre Chrome y WebKit.
Código Fuente: Vulnerable vs. Seguro
Google no publicó la causa a nivel de función ni los detalles del parche. Este ejemplo genérico en C++20 valida el desplazamiento y compara mediante una resta la longitud solicitada con la capacidad restante para evitar desbordamientos. No reproduce el CVE ni la corrección real de ANGLE.
// Solo es un ejemplo genérico; no es código fuente de ANGLE ni la implementación de 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;
}
// Solo es un ejemplo genérico; no es código fuente de ANGLE ni el parche de 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 Verificación de Seguridad para Ingeniería
- ✓Actualiza Chrome para Mac a 143.0.7499.110 o posterior; en entornos actuales, instala la versión compatible más reciente de Chrome.
- ✓Localiza las bibliotecas de análisis y gráficos compartidas (ANGLE, FreeType, libwebp, libxml2) en tus productos y suscríbete a sus avisos de seguridad, no solo a los de cada navegador.
- ✓Exige aritmética comprobada (base::CheckedNumeric, std::ckd_mul de C23 o checked_mul de Rust) en cada tamaño de búfer calculado a partir de dimensiones que controla quien llama, y señala en la revisión de código las multiplicaciones sin comprobar.
- ✓Haz fuzzing en CI de las rutas de subida de texturas y búferes con dimensiones extremas y nulas bajo AddressSanitizer, para que las copias fuera de límites hagan fallar las pruebas antes de publicar.
- ✓Sigue por separado el aviso de ANGLE para Chrome y las entradas de WebKit de Apple: compartir identificadores o fechas no demuestra una causa raíz ni una cadena de explotación común.
Fuentes
- CVE-2025-14174 — registro CVE (ANGLE en Google Chrome para Mac)
- Google Chrome Releases — actualización del canal estable para escritorio (10 de diciembre de 2025)
- Apple — acerca del contenido de seguridad de iOS 26.2 y iPadOS 26.2
- CISA — entrada de CVE-2025-14174 en el catálogo Known Exploited Vulnerabilities
- ANGLE — repositorio de código fuente de Chromium