Description
QuickJS-NG before 0.16.0 contains an integer overflow in js_proxy_get_own_property_names() in quickjs.c that causes a heap buffer overflow on 32-bit hosts. Attackers running JavaScript can return a large array-like object from a Proxy ownKeys trap to wrap the allocation size, causing crashes or potential code execution.
Published: 2026-11-02
Score: 8.5 High
EPSS: n/a
KEV: No
Impact: Remote Code Execution
Action: Immediate Patch
AI Analysis

Impact

A buffer overflow results from an integer overflow in js_proxy_get_own_property_names between proxies and ownKeys traps, leading to heap corruption on 32‑bit hosts. An attacker that can execute JavaScript within QuickJS‑NG can engineer a Proxy whose ownKeys trap returns a very large array‑like object, causing a malformed allocation that may crash the engine or, in worst‑case, allow the attacker to execute arbitrary code. The vulnerability is identified as CWE‑190, input integer overflow.

Affected Systems

All builds of QuickJS‑NG version 0.15.1 and earlier, specifically running on 32‑bit platforms, are affected. The product is QuickJS‑NG, a lightweight JavaScript engine, and the issue is present in the core runtime before the 0.16.0 release. Users on 64‑bit hosts are not impacted because the overflow is limited to 32‑bit integer arithmetic.

Risk and Exploitability

The CVSS score of 8.5 places it in the high severity range, and while the EPSS score is not available, the lack of a KEV listing does not reduce the need for action. The attack vector requires the attacker to run JavaScript in the vulnerable host, so compromise of the host or injection of custom scripts is necessary to trigger the flaw. If achieved, the bug could lead to denial of service through crashes or, depending on implementation, remote code execution via the corrupted heap. The impact is therefore significant for any service that embeds or executes untrusted JavaScript with QuickJS‑NG.

Generated by OpenCVE AI on November 2, 2026 at 15:24 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade QuickJS‑NG to version 0.16.0 or newer, which fixes the integer overflow.
  • If upgrading is not immediately possible, disable or limit the use of JavaScript Proxies, especially those that return large ownKeys arrays, or enforce size checks on returned arrays.
  • Monitor application logs and memory usage for signs of heap corruption or crashes, and apply any subsequent patches as they become available.

Generated by OpenCVE AI on November 2, 2026 at 15:24 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 02 Nov 2026 14:30:00 +0000

Type Values Removed Values Added
Description QuickJS-NG before 0.16.0 contains an integer overflow in js_proxy_get_own_property_names() in quickjs.c that causes a heap buffer overflow on 32-bit hosts. Attackers running JavaScript can return a large array-like object from a Proxy ownKeys trap to wrap the allocation size, causing crashes or potential code execution.
Title QuickJS-NG before 0.16.0 Heap Buffer Overflow via Proxy ownKeys Enumeration
First Time appeared Quickjs Project
Quickjs Project quickjs
Weaknesses CWE-190
CPEs cpe:2.3:a:quickjs_project:quickjs:*:*:*:*:*:*:*:*
Vendors & Products Quickjs Project
Quickjs Project quickjs
References
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}

cvssV4_0

{'score': 8.5, 'vector': 'CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Quickjs Project Quickjs
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-11-02T14:29:00.633Z

Reserved: 2026-11-02T12:42:15.054Z

Link: CVE-2026-120438

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-11-02T15:17:25.767

Modified: 2026-11-02T19:34:23.993

Link: CVE-2026-120438

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-02T15:30:14Z

Weaknesses
  • CWE-190

    Integer Overflow or Wraparound