Созданный ввод JavaScript, выполненный с помощью версии QuickJS 13 сентября 2025 г., исправленный в коммите fcd33c1afa7b3028531f53cd1190a3877454f6b3 (11 декабря 2025 г.), интерпретатор `qjs` с использованием опции `-m` и низкий предел памяти могут вызвать состояние нехватки памяти, за которым следует сбой утверждения в JS_FreeRuntime (list_empty(&rt->gc_obj_list)) во время очистки во время выполнения. Хотя механизм сообщает об ошибке OOM, он впоследствии прерывается с помощью SIGABRT, поскольку список объектов GC не полностью освобожден. Это приводит к отказу в обслуживании.
Показать оригинальное описание (EN)
A crafted JavaScript input executed with the QuickJS release 2025-09-13, fixed in commit fcd33c1afa7b3028531f53cd1190a3877454f6b3 (2025-12-11),`qjs` interpreter using the `-m` option and a low memory limit can cause an out-of-memory condition followed by an assertion failure in JS_FreeRuntime (list_empty(&rt->gc_obj_list)) during runtime cleanup. Although the engine reports an OOM error, it subsequently aborts with SIGABRT because the GC object list is not fully released. This results in a denial of service.