| tiêu đề | quickjs-ng quickjs v0.11.0 Heap-based Buffer Overflow |
|---|
| Mô tả | A heap-buffer-overflow (out-of-bounds access) can be triggered in QuickJS-NG via side effects during js_typed_array_constructor.
Root cause: When constructing a TypedArray(via Reflect.construct), js_typed_array_constructor calls js_create_from_ctor(ctx, new_target, classid), which performs a property lookup for prototype (JS_GetProperty(ctx, ctor, JS_ATOM_prototype)). A user-defined getter on new_target.prototype can run arbitrary JS at that point and resize or detach the input ArrayBuffer mid-execution. After returning, the constructor continues and typed_array_init is invoked with stale/outdated buffer assumptions, leading to out-of-bounds access on the resized/detached buffer.
Affected version: quickjs-ng/quickjs commit 537d004cd22b86373c262528c7e8076eaf76996d (tested on 2026-01-05)
Reproduction and ASAN crash details are publicly documented in: https://github.com/quickjs-ng/quickjs/issues/1296 |
|---|
| Nguồn | ⚠️ https://github.com/quickjs-ng/quickjs/issues/1296 |
|---|
| Người dùng | mcsky23 (UID 94179) |
|---|
| Đệ trình | 05/01/2026 16:11 (cách đây 9 các tháng) |
|---|
| Kiểm duyệt | 09/01/2026 19:24 (4 days later) |
|---|
| Trạng thái | được chấp nhận |
|---|
| Mục VulDB | 340355 [quickjs-ng quickjs đến 0.11.0 quickjs.c js_typed_array_constructor tràn bộ đệm] |
|---|
| điểm | 20 |
|---|