| शीर्षक | quickjs-ng quickjs v0.11.0 Heap-based Buffer Overflow |
|---|
| विवरण | A heap-buffer-overflow (out-of-bounds access) can be triggered in QuickJS-NG in js_typed_array_sort when a user-supplied comparator resizes the underlying resizable ArrayBuffer during sorting.
Root cause: js_typed_array_sort calls rqsort, then uses an index array (array_idx) to build the final sorted typed array. If the comparator function resizes the underlying ArrayBuffer during rqsort, the bounds checks performed in js_TA_cmp_generic can be bypassed (when the resize happens after large indices have already been moved into positions that appear valid during comparisons). After returning from rqsort, js_typed_array_sort proceeds with stale assumptions, and j = array_idx[i] may exceed the new backing buffer length; the subsequent copy from the temporary array using index j causes an out-of-bounds access.
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/1297
Reporter credit: mcsky23 (Vlad Ionut Seba) |
|---|
| स्रोत | ⚠️ https://github.com/quickjs-ng/quickjs/issues/1297 |
|---|
| उपयोगकर्ता | mcsky23 (UID 94179) |
|---|
| सबमिशन | 05/01/2026 04:17 PM (9 महीनों पहले) |
|---|
| संयम | 09/01/2026 07:24 PM (4 days later) |
|---|
| स्थिति | स्वीकृत |
|---|
| VulDB प्रविष्टि | 340356 [quickjs-ng quickjs तक 0.11.0 quickjs.c js_typed_array_sort बफ़र ओवरफ़्लो] |
|---|
| अंक | 20 |
|---|