Skip to main content
← Vulnerabilities

QuickJS-NG before 0.16.0 Memory Leak via Atomics.store

Written by anthropic/claude-haiku-5.5 from the sources below. Verify against them.

6.9MediumCNA
Exploited
No known exploitation
Fix
Fixed in 0.16.0
Who is exposed
Not reported

Do first: Upgrade to a fixed version: 0.16.0.

Published
Last modified
Published
Not listed in CISA KEV
17/100 · provisional
Unclear
Fix
Fixed in 0.16.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: partial

Summary

QuickJS-NG, a lightweight JavaScript engine, is affected by this flaw in its Atomics.store implementation. An attacker who can run JavaScript code could repeatedly trigger the bug to consume heap memory until the program crashes or becomes unavailable.

Read the original description

QuickJS-NG before 0.16.0 contains a memory leak vulnerability in js_atomics_store() in quickjs.c that fails to free the converted value when returning a RangeError. Attackers running JavaScript can repeatedly call Atomics.store with a valueOf that detaches or shrinks the buffer to exhaust heap memory and cause denial of service.

What to do

  • Upgrade to a fixed version: 0.16.0.

Timeline

  1. CVE published
  2. First seen by cve.now
  3. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: partial

  4. Record last updated

Affected versions

  • quickjs-ng QuickJS-NG

    fixed in 0.16.0

Evidence 5

  1. Advisory
  2. Patch
  3. Repository
  4. Repository
  5. Link

Corrections

None so far.

Something wrong on this page? Report an error. Every fix is listed here.

FAQ

Questions about CVE-2026-120440

What does this mean?

When a BigInt64Array or BigUint64Array backed by a SharedArrayBuffer is detached during an Atomics.store() call, QuickJS-NG leaks memory that is never reclaimed. Repeated occurrences can exhaust memory and cause a denial of service.Source: github.com

Am I affected, and how do I check?

QuickJS-NG versions before 0.16.0 are affected. The bug needs a BigInt64Array or BigUint64Array backed by a SharedArrayBuffer that gets detached between the type check and the store inside Atomics.store(). To check a version, look at the QuickJS-NG release or package version in your build or dependency manifest.Source: github.com

What should I do about it?

Upgrade QuickJS-NG to 0.16.0 or later, which is the version range given as fixed. No vendor-specified workaround is listed in the checked facts.Source: github.com

Is it being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. No public exploit code is tracked.Source: cve.now feed data