Vulnerabilidad en Boa (CVE-2024-43367)
Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
15/08/2024
Última modificación:
19/08/2024
Descripción
Boa es un motor Javascript integrable y experimental escrito en Rust. A partir de la versión 0.16 y antes de la versión 0.19.0, una suposición incorrecta al manejar las operaciones `AsyncGenerator` de ECMAScript puede causar una excepción no detectada en ciertos scripts. La implementación de Boa de `AsyncGenerator` supone que el estado de un objeto `AsyncGenerator` no puede cambiar mientras se resuelve una promesa creada por métodos de `AsyncGenerator` como `%AsyncGeneratorPrototype%.next`, `%AsyncGeneratorPrototype%.return`, o `%AsyncGeneratorPrototype%.throw`. Sin embargo, un código cuidadosamente construido podría desencadenar una transición de estado desde un método getter para la propiedad "then" de la promesa, lo que hace que el motor falle en la afirmación de esta suposición, provocando una excepción no detectada. Esto podría usarse para crear un ataque de denegación de servicio en aplicaciones que ejecutan código ECMAScript arbitrario proporcionado por un usuario externo. La versión 0.19.0 tiene un parche para manejar correctamente este caso. Los usuarios que no puedan actualizar a la versión parcheada querrán usar `std::panic::catch_unwind` para garantizar que las excepciones causadas por el motor no afecten la disponibilidad de la aplicación principal.
Impacto
Puntuación base 3.x
7.50
Gravedad 3.x
ALTA