Vulnerabilidad de Confusión de Tipos
¿Qué es Vulnerabilidad de Confusión de Tipos?
Vulnerabilidad de Confusión de TiposFallo de seguridad de memoria en el que el código accede a un objeto usando un tipo incompatible con su asignación real, permitiendo lectura, escritura o ejecución arbitrarias.
Una vulnerabilidad de confusión de tipos aparece cuando un programa lee o escribe memoria a través de un puntero o referencia cuyo tipo declarado difiere del tipo real del objeto subyacente. Las causas típicas son downcasts erróneos, mal manejo de polimorfismo u optimizaciones especulativas del JIT que asumen una forma estable que el atacante puede alterar. Cuando el runtime trata una estructura como un tipo incorrecto, los métodos, vtables, campos de longitud y datos inline se malinterpretan, otorgando primitivas de lectura/escritura controladas que suelen escalar a ejecución de código. Motores de JavaScript como V8 y JSC, así como renderers de navegador, son objetivos frecuentes y aparecen en Pwn2Own. Las defensas incluyen sistemas de tipos fuertes, comprobaciones en runtime, sandboxing y lenguajes seguros en memoria.
● Ejemplos
- 01
CVE-2021-30551, confusión de tipos en V8 explotada como 0-day en Chrome.
- 02
Un static_cast de C++ donde se requería dynamic_cast, permitiendo escribir en otro objeto.
● Preguntas frecuentes
¿Qué es Vulnerabilidad de Confusión de Tipos?
Fallo de seguridad de memoria en el que el código accede a un objeto usando un tipo incompatible con su asignación real, permitiendo lectura, escritura o ejecución arbitrarias. Pertenece a la categoría de Seguridad de aplicaciones en ciberseguridad.
¿Qué significa Vulnerabilidad de Confusión de Tipos?
Fallo de seguridad de memoria en el que el código accede a un objeto usando un tipo incompatible con su asignación real, permitiendo lectura, escritura o ejecución arbitrarias.
¿Cómo defenderse de Vulnerabilidad de Confusión de Tipos?
Las defensas contra Vulnerabilidad de Confusión de Tipos combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para Vulnerabilidad de Confusión de Tipos?
Nombres alternativos comunes: Mal cast, Bug de tipo incorrecto.