En un hallazgo que ha sacudido al mundo de la ciberseguridad, se ha divulgado el CVE-2024-5830, una
vulnerabilidad de confusión de tipos en V8, el motor de
JavaScript de Chrome. Esta falla fue reportada en mayo de 2024 como el error 342456991 y ya ha sido corregida en la versión 126,0.6478,56/57 del navegador. El problema permitió la ejecución remota de código (RCE) en la zona de seguridad del
renderizador de Chrome simplemente visitando un sitio malicioso, lo que activó los alertas en la comunidad tecnológica.
La magnitud de esta
vulnerabilidad reside en la manera en que V8 maneja los mapas de objetos y las transiciones. En los intérpretes de
JavaScript, el concepto de mapa o clase oculta es crucial para la optimización del acceso a propiedades. Un mapa define la disposición en memoria de un objeto y, se compartía entre objetos con la misma estructura, a menos que se introdujeran transiciones de tipos no anticipadas que podían llevar a un desajuste y explotación.
En este caso, situaciones comunes de manipulación de mapas fueron aprovechadas para crear una discrepancia entre los objetos de diccionario y los objetos velozes en V8. Esta confusión no solo condujo a la corrupción de datos sino que también brindó a atacantes experimentados un camino para modificar propiedades protegidas y lograr un acceso arbitrario a lectura y escritura dentro del montón de V8.