Description
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.
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-wm7w-r6qf-3c9w) vendor-advisory
- https://github.com/quickjs-ng/quickjs/commit/62951e1bc68711d37aad986ff84ef0fe17038a7e patch
- QuickJS-NG v0.16.0 Release Notes release-notes
- https://github.com/quickjs-ng/quickjs/blob/v0.15.1/quickjs.c#L61154 technical-description
- VulnCheck Advisory: QuickJS-NG before 0.16.0 Memory Leak via Atomics.store third-party-advisory