Lucene search

K
githubGitHub Advisory DatabaseGHSA-F67Q-WR6W-23JQ
HistoryAug 14, 2024 - 8:49 p.m.

Boa has an uncaught exception when transitioning the state of `AsyncGenerator` objects

2024-08-1420:49:51
CWE-248
GitHub Advisory Database
github.com
3
boa
uncaught exception
asyncgenerator
state transition
assumption
ecmascript
operations
promise
denial of service
patch
workaround
application security
reference

CVSS3

7.5

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

AI Score

7

Confidence

High

EPSS

0

Percentile

16.3%

A wrong assumption made when handling ECMAScript’s AsyncGenerator operations can cause an uncaught exception on certain scripts.

Details

Boa’s implementation of AsyncGenerator makes the assumption that the state of an AsyncGenerator object cannot change while resolving a promise created by methods of AsyncGenerator such as %AsyncGeneratorPrototype%.next, %AsyncGeneratorPrototype%.return, or %AsyncGeneratorPrototype%.throw.
However, a carefully constructed code could trigger a state transition from a getter method for the promise’s then property, which causes the engine to fail an assertion of this assumption, causing an uncaught exception. This could be used to create a Denial Of Service attack in applications that run arbitrary ECMAScript code provided by an external user.

Patches

Version 0.19.0 is patched to correctly handle this case.

Workarounds

Users unable to upgrade to the patched version would want to use std::panic::catch_unwind to ensure any exceptions caused by the engine don’t impact the availability of the main application.

References

Affected configurations

Vulners
Node
boaboa_engineRange<0.19.0
VendorProductVersionCPE
boaboa_engine*cpe:2.3:a:boa:boa_engine:*:*:*:*:*:*:*:*

CVSS3

7.5

Attack Vector

NETWORK

Attack Complexity

LOW

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

HIGH

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

AI Score

7

Confidence

High

EPSS

0

Percentile

16.3%

Related for GHSA-F67Q-WR6W-23JQ