Read the docs

Memory leak in QuickJS-NG Atomics.store exhausts heap memory

Priority LOW 37CWE-401Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Attack requirements
None
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · Low
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-401.

Summary

QuickJS-NG before 0.16.0 contains a memory leak in js_atomics_store() in quickjs.c. The function fails to free a converted value when it returns a RangeError (CWE-401). An attacker running JavaScript can repeatedly call Atomics.store with a valueOf that detaches or shrinks the buffer, exhausting heap memory and causing a denial of service.

Written with Claude Haiku 5.5 from the sources below · 2026-11-03

Description from the CNA

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.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00469 40th percentileScored 2026-11-07
Fix Fixed QuickJS-NG (quickjs-ng): 0.16.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
quickjs-ngQuickJS-NGbefore 0.16.00.16.0Patch availableCNA
  • QuickJS-NG Vendorquickjs-ng Affected before 0.16.0 Fixed in 0.16.0 Patch available CNA

Remediation

Upgrade QuickJS-NG to version 0.16.0 or later, which fixes the leak.

Written with Claude Haiku 5.5 from the sources below · 2026-11-03

  • Fix · CNA QuickJS-NG (quickjs-ng) Fixed in 0.16.0

Fixed in the same release

Records fixed by the same vendor advisory or release, as the CNA lists them.

  • Release ·

    QuickJS-NG 0.16.0

    3 records Highest priority Priority HIGH 1 HIGH, 2 LOW

    Other records, highest priority first

    • TI-2026-83831 Heap buffer overflow in QuickJS-NG TypedArray sort on 32-bit hostsPriority HIGH 69
    • TI-2026-83830 Heap buffer overflow in QuickJS-NG via Proxy ownKeys enumerationPriority LOW 38

Vendor assessments

Red Hat

Red Hat's page for this CVE →

Not affected: 1 product
  • Red Hat

Timeline

  1. 2026-11-02 Threatist record created from CVE-2026-120440
  2. 2026-11-02 Alias added: GHSA-48fx-7fjq-qgg4
  3. 2026-11-02 CISA SSVC decision points changed
  4. 2026-11-02 Priority changed: MEDIUM → LOW
  5. 2026-11-03 Affected versions changed · Red Hat
  6. 2026-11-03 CVSS score added · Red Hat

References

  • TI-2026-00603 quickjs-ng quickjs quickjs.c js_typed_array_constructor heap-based overflow CVSS 4.0MEDIUM 6.9
  • TI-2025-29366 quickjs-ng through 0.9.0 has an incorrect size calculation in JS_ReadBigInt for a BigInt… CVSS 3.1HIGH 8.4
  • TI-2026-83831 Heap buffer overflow in QuickJS-NG TypedArray sort on 32-bit hosts CVSS 4.0HIGH 8.3
  • TI-2025-29365 Resource allocation without limits in QuickJS CVSS 3.1HIGH 7.8
  • TI-2026-00873 quickjs-ng quickjs quickjs.c js_typed_array_constructor_ta heap-based overflow CVSS 4.0MEDIUM 5.3
  • TI-2026-00872 quickjs-ng quickjs Atomics Ops quickjs.c use after free CVSS 4.0MEDIUM 5.3
See all 10 →

Sources