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.
{
"cna_assigner": "mitre",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/69xxx/CVE-2025-69654.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "fcd33c1afa7b3028531f53cd1190a3877454f6b3"
}
],
"source": "DESCRIPTION"
},
{
"range": [
{
"introduced": "0"
},
{
"last_affected": "fcd33c1afa7b3028531f53cd1190a3877454f6b3"
}
],
"source": "DESCRIPTION"
}
]
}
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-69654.json"
[
{
"deprecated": false,
"digest": {
"line_hashes": [
"321922556634478940060679865807493816665",
"167030822713665587538306754781688095647",
"170685787878288000855675330717284977004",
"20917632522658825228703961230595522255",
"147128111129021416720751134066803559246"
],
"threshold": 0.9
},
"id": "CVE-2025-69654-86747aec",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/bellard/quickjs/commit/fcd33c1afa7b3028531f53cd1190a3877454f6b3",
"target": {
"file": "quickjs.c"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "93953887476842481004175685851852162022",
"length": 326
},
"id": "CVE-2025-69654-bad6a845",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/bellard/quickjs/commit/fcd33c1afa7b3028531f53cd1190a3877454f6b3",
"target": {
"file": "quickjs.c",
"function": "cpool_add"
}
}
]
"2026-10-21T09:27:22Z"