CVE-2024-43367 in boa
Sumário
de VulDB • 10/07/2026
Boa é um motor de JavaScript embutível e experimental, escrito em Rust. A partir da versão 0.16 até a anterior à 0.19.0, uma suposição incorreta feita ao lidar com as operações do `AsyncGenerator` do ECMAScript pode causar uma exceção não capturada em determinados scripts. A implementação do `AsyncGenerator` no Boa faz a suposição de que o estado de um objeto `AsyncGenerator` não pode mudar enquanto se resolve uma promessa criada por métodos do `AsyncGenerator`, como `%AsyncGeneratorPrototype%.next`, `%AsyncGeneratorPrototype%.return` ou `%AsyncGeneratorPrototype%.throw`. No entanto, um código cuidadosamente construído poderia desencadear uma transição de estado a partir de um método getter para a propriedade `then` da promessa, o que faz com que o motor falhe em uma asserção dessa suposição, causando uma exceção não capturada. Isso pode ser usado para criar um ataque de Negação de Serviço (DoS) em aplicações que executam código ECMAScript arbitrário fornecido por um usuário externo. A versão 0.19.0 foi corrigida para lidar corretamente com este caso. Os usuários incapazes de atualizar para a versão corrigida deveriam usar `std::panic::catch_unwind` para garantir que quaisquer exceções causadas pelo motor não afetem a disponibilidade do aplicativo principal.
If you want to get best quality of vulnerability data, you may have to visit VulDB.