CVE-2026-37630: QuickJS-NG arbitrary code execution in js_mapped_arguments_mark

CVE-2026-37630 · Severity: high · CVSS 7.3 · Published 2026-05-11

QuickJS-NG is a small, embeddable JavaScript engine used by developers to add scripting capabilities to their applications. A security flaw in how the engine manages memory during garbage collection could allow a malicious script to crash the application or execute unauthorized code. This could lead to a complete compromise of the application's security and the data it processes.

Technologies: QuickJS-NG. Vendors: QuickJS-NG.

Quick answers

Is CVE-2026-37630 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-37630 being exploited in the wild.
How severe is CVE-2026-37630?
High severity, with a CVSS score of 7.3, published 11 May 2026.
Which products and versions are affected?
QuickJS-NG 0.12.1.
Is there a fix for CVE-2026-37630?
No fixed version is recorded yet. Check the vendor's advisory in the references below. If you run it, Junglewise drafts a mitigation that fits your setup and applies it once you approve, with senior security engineers behind it.
How is CVE-2026-37630 attacked?
It is attacked with local access, in a software library.
Am I affected by CVE-2026-37630?
Check whether you run QuickJS-NG at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

Technical details

A vulnerability exists in QuickJS-NG v0.12.1 within the `js_mapped_arguments_mark` function. The root cause is that the function fails to distinguish between detached and non-detached `JSVarRef` entries when marking children for garbage collection. Non-detached references are not tracked in the GC list and contain uninitialized `link.prev` and `link.next` pointers. When `gc_decref_child` calls `list_del` on these entries, it dereferences these uninitialized pointers. An attacker can use heap grooming techniques to control the memory reused by these references, turning the uninitialized pointers into a 'write-what-where' primitive to achieve arbitrary code execution. This requires the ability to execute malicious JavaScript within the engine.

Affected products

  • QuickJS-NG QuickJS-NG 0.12.1

Timeline

  • 2026-05-11: disclosed: Issue reported on GitHub repository
  • 2026-05-11: advisory: CVE published by MITRE/NVD

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.