CVE-2024-43367 in boa
Riassunto
di VulDB • 20/06/2026
Boa è un motore JavaScript incorporabile e sperimentale scritto in Rust. A partire dalla versione 0.16 e fino alla versione 0.19.0, un'assunzione errata effettuata durante la gestione delle operazioni `AsyncGenerator` di ECMAScript può causare un'eccezione non gestita in determinati script. L'implementazione di `AsyncGenerator` in Boa presuppone che lo stato di un oggetto `AsyncGenerator` non possa cambiare durante la risoluzione di una promise creata da metodi di `AsyncGenerator` come `%AsyncGeneratorPrototype%.next`, `%AsyncGeneratorPrototype%.return` o `%AsyncGeneratorPrototype%.throw`. Tuttavia, un codice appositamente costruito potrebbe innescare una transizione di stato da un metodo getter per la proprietà `then` della promise, causando il fallimento di un'asserzione relativa a questa assunzione da parte del motore e generando un'eccezione non gestita. Ciò potrebbe essere sfruttato per creare un attacco di Denial of Service (DoS) in applicazioni che eseguono codice ECMAScript arbitrario fornito da un utente esterno. La versione 0.19.0 è stata corretta per gestire correttamente questo caso. Gli utenti che non possono effettuare l'aggiornamento alla versione corretta dovrebbero utilizzare `std::panic::catch_unwind` per garantire che eventuali eccezioni causate dal motore non impattino la disponibilità dell'applicazione principale.
If you want to get best quality of vulnerability data, you may have to visit VulDB.