Description
quickjs-ng through 0.9.0 has a missing length check in JS_ReadString for a string, leading to a heap-based buffer overflow. QuickJS before 2025-04-26 is also affected.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| QuickJS Project | QuickJS | < 2025-04-26 | 2025-04-26 |
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 | 2025.04.26-1 | — |
| Debian 13 | quickjs | 2025.04.26-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | quickjs | No fix yet | — |
| Ubuntu 26.04 LTS | quickjs | No fix yet | — |
| Ubuntu 25.10 | quickjs | No fix yet | — |
Show 1 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 24.04 LTS | quickjs | No fix yet | — |
Alpine
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Alpine v3.24 | quickjs-ng | 0.10.0-r0 | — |
| Alpine v3.23 | quickjs-ng | 0.10.0-r0 | — |
References
- https://github.com/quickjs-ng/quickjs/issues/1018
- https://github.com/quickjs-ng/quickjs/pull/1020
- https://github.com/bellard/quickjs/commit/1eb05e44fad89daafa8ee3eb74b8520b4a37ec9a
- https://github.com/quickjs-ng/quickjs/commit/28fa43d3ddff2c1ba91b6e3a788b2d7ba82d1465
- https://github.com/bellard/quickjs/issues/399
- https://bellard.org/quickjs/Changelog