Description
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.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| quickjs-ng | QuickJS-NG | < 0.16.0 | 0.16.0 |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | quickjs-ng | 0.16.2-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | quickjs-ng | No fix yet | — |
References
- GitHub Security Advisory (GHSA-jp52-chwg-2p9p) vendor-advisory
- https://github.com/quickjs-ng/quickjs/commit/252209d99cf112568160548bdcaa98d95e0d0068 patch
- QuickJS-NG v0.16.0 Release Notes release-notes
- https://github.com/quickjs-ng/quickjs/blob/v0.15.1/quickjs.c#L51509 technical-description
- VulnCheck Advisory: QuickJS-NG before 0.16.0 Heap Buffer Overflow via Proxy ownKeys Enumeration third-party-advisory