CVE-2026-120438
HighCVSS 7.8Summary
QuickJS-NG before 0.16.0 contains an integer overflow in js_proxy_get_own_property_names() in quickjs.c that causes a heap buffer overflow on 32-bit hosts. Attackers running JavaScript can return a large array-like object from a Proxy ownKeys trap to wrap the allocation size, causing crashes or potential code execution.
Risk Assessment
May lead to application crashes or potential arbitrary code execution on 32-bit hosts. Poses a threat in environments running untrusted JavaScript code.
Recommendation
Update QuickJS-NG to version 0.16.0 or later. If updating is not possible, restrict execution of untrusted JavaScript on 32-bit hosts.
Other vulnerabilities in QuickJS-NG
See all- CVE-2026-120440Medium
QuickJS-NG before 0.16.0 contains a memory leak vulnerability in js_atomics_store() in quickjs.c that fails to free the converted value when returning a RangeError. Attackers running JavaScript can repeatedly call Atomics.store with a valueOf that detaches or shrinks the buffer to exhaust heap memory and cause denial of service.
- CVE-2026-120439High
QuickJS-NG before 0.16.0 contains an integer overflow in js_typed_array_sort() in quickjs.c that allows attackers to cause a heap buffer overflow on 32-bit hosts. Attackers who can run JavaScript can call TypedArray.prototype.sort with a comparator on a typed array near 2^30 elements, wrapping the allocation size and writing indices past the buffer to crash or potentially execute code.
Original NVD description (English source)
QuickJS-NG before 0.16.0 contains an integer overflow in js_proxy_get_own_property_names() in quickjs.c that causes a heap buffer overflow on 32-bit hosts. Attackers running JavaScript can return a large array-like object from a Proxy ownKeys trap to wrap the allocation size, causing crashes or potential code execution.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

