CVE-2026-120438
📛 CVE Title
QuickJS-NG before 0.16.0 Heap Buffer Overflow via Proxy ownKeys Enumeration
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.
Overview
- State
- PUBLISHED
- Assigner (CNA)
- VulnCheck
- CVSS severity
- HIGH
- CVSS score
- 8.5 / 10
- CVSS 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- Effective score
- 8.5 / 10 HIGH source: CNA overview
- CWE(s)
-
CWE-190 - Reserved
- 2026-11-02
- Published
- 2026-11-02 14:29 UTC
- Last updated
- 2026-11-02 14:29 UTC
- Source
- https://raw.githubusercontent.com/CVEProject/cvelistV5/main/cves/2026/120xxx/CVE-2026-120438.json
- Linked Threat
- CVE-2026-120438 — QuickJS-NG before 0.16.0 Heap Buffer Overflow via Proxy ownKeys Enumeration
NVD triage scoring NVD CVE 2.0
Layer NVD adds on top of the CNA's CVE record — published / last-modified timestamps, exploitability / impact subscores, and the FIRST.org EPSS probability that this CVE will be exploited in the wild in the next 30 days.
- NVD published
- 2026-11-02 15:17:25 UTC
- NVD last modified
- 2026-11-02 19:34:23 UTC
- NVD CVSS v3.1
- 7.8 / 10 HIGH source: disclosure@vulncheck.com
- NVD CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H- Exploitability subscore
- 1.8 / 10
- Impact subscore
- 5.9 / 10
NVD / KEV / EPSS data refreshed 2026-11-03 08:20 UTC. Re-run the 🛰 Backfill from NVD button above to refresh.
European Union Vulnerability Database ENISA EUVD
ENISA's official EU repository for curated vulnerability intelligence. Carries a separate identifier (EUVD-YYYY-NNNN) and frequently exposes an earlier-published description + CVSS than NVD does.
- EUVD ID
-
EUVD-2026-115198 - Assigner
- VulnCheck
- Published
- Nov 2, 2026, 2:29:00 PM
- Updated
- Nov 2, 2026, 2:29:00 PM
- EUVD base score (CVSS 4.0)
-
8.5 / 10
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 - EUVD-reported EPSS
- 0.0000
- Vendors
- quickjs-ng
- Products
-
QuickJS-NG (0 <0.16.0)
- Aliases
-
GHSA-m9xj-cppc-fm6c
ENISA 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.
EUVD references (5)
- https://github.com/quickjs-ng/quickjs/security/advisories/GHSA-jp52-chwg-2p9p
- https://github.com/quickjs-ng/quickjs/commit/252209d99cf112568160548bdcaa98d95e0d0068
- https://github.com/quickjs-ng/quickjs/releases/tag/v0.16.0
- https://github.com/quickjs-ng/quickjs/blob/v0.15.1/quickjs.c#L51509
- https://www.vulncheck.com/advisories/quickjs-ng-before-0.16.0-heap-buffer-overflow-via-proxy-ownkeys-enumeration
Affected products (1)
| Vendor | Product | Versions | Platforms |
|---|---|---|---|
| quickjs-ng | QuickJS-NG |
0 (affected)
|
— |
Vendor references (5)
References embedded in the original CVE record by the assigning CNA.
- GitHub Security Advisory (GHSA-jp52-chwg-2p9p) vendor-advisory
- https://github.com/quickjs-ng/quickjs/commit/252209d99cf112568160548bdcaa98d95e0d0068 patch
- QuickJS-NG v0.16.0 Release Notes release-notes
- https://github.com/quickjs-ng/quickjs/blob/v0.15.1/quickjs.c#L51509 technical-description
- VulnCheck Advisory: QuickJS-NG before 0.16.0 Heap Buffer Overflow via Proxy ownKeys Enumeration third-party-advisory
MITRE references (5) cveawg.mitre.org
Pulled from MITRE's CVE Services API by the 🛰 Backfill from MITRE button.
- https://github.com/quickjs-ng/quickjs/blob/v0.15.1/quickjs.c#L51509 technical-description
- https://github.com/quickjs-ng/quickjs/commit/252209d99cf112568160548bdcaa98d95e0d0068 patch
- QuickJS-NG v0.16.0 Release Notes release-notes
- GitHub Security Advisory (GHSA-jp52-chwg-2p9p) vendor-advisory
- VulnCheck Advisory: QuickJS-NG before 0.16.0 Heap Buffer Overflow via Proxy ownKeys Enumeration third-party-advisory
Web references (0)
DuckDuckGo results ranked by threat-intel / vendor advisory domains. Generated by the 🔎 Find references (web) button above — same flow as the Remediations search.
No web references attached yet.
NVD-tagged references (5)
Reference list NVD curates from the CNA record, vendor advisories, and third-party reports. The tag chips below are NVD's analyst-assigned categories.
- https://github.com/quickjs-ng/quickjs/blob/v0.15.1/quickjs.c#L51509 disclosure@vulncheck.com
- https://github.com/quickjs-ng/quickjs/commit/252209d99cf112568160548bdcaa98d95e0d0068 disclosure@vulncheck.com
- https://github.com/quickjs-ng/quickjs/releases/tag/v0.16.0 disclosure@vulncheck.com
- https://github.com/quickjs-ng/quickjs/security/advisories/GHSA-jp52-chwg-2p9p disclosure@vulncheck.com
- https://www.vulncheck.com/advisories/quickjs-ng-before-0.16.0-heap-buffer-overflow-via-proxy-ownkeys-enumeration disclosure@vulncheck.com
Remediations (10)
Remediations are stored against the linked Threat row; the list below is deduplicated across both pages.
-
web:cvedatabase.com
Search and analyze CVE vulnerabilities with instant access to CVSS scores, affected products, and remediation guidance.
2026-11-03 08:20 UTC -
web:cyberupdates365.com
Track critical CVE vulnerabilities 2026 with verified enterprise patch guides. Fix zero-days across VMware, WordPress, Windows, and cloud infrastructure.
2026-11-03 08:20 UTC -
web:nvd.nist.gov
Search Please make use of the interactive search interfaces to find information in the database!
2026-11-03 08:20 UTC -
web:patchmypc.com
You can find the production release history below for 2026 . View the 2025 Catalog Release History.
2026-11-03 08:20 UTC -
web:www.aikido.dev
None of these is a clean fix , which is why the decision on how to remediate depends on knowing what package versions are running in production and why. This post will cover how AI has accelerated CVE detection and discovery, the upgrade trap, what CVE remediation actually involves in 2026 , and how to solve the CVE remediation problem.
2026-11-03 08:20 UTC -
web:www.cve.org
At cve .org, we provide the authoritative reference method for publicly known information-security vulnerabilities and exposures
2026-11-03 08:20 UTC -
web:www.nist.gov
NIST maintains the National Vulnerability Database (NVD), a repository of information on software and hardware flaws that can compromise computer security. This is a key piece of the nation's cybersecurity infrastructure.
2026-11-03 08:20 UTC -
web:www.oracle.com
This Critical Patch Update contains 1448 new security patches across the product families listed below. Please note that a My Oracle Support (MOS) note summarizing the content of this Critical Patch Update and other Oracle Software Security Assurance activities is located at July 2026 Critical Patch Update: Executive Summary and Analysis.
2026-11-03 08:20 UTC -
web:www.oracle.com
Prior Critical Patch Update and Critical Security Patch Update advisories should be reviewed for information regarding earlier published security patches. Refer to Critical Patch Updates, Critical Security Patch Updates, Security Alerts and Bulletins for information about Oracle Security advisories.
2026-11-03 08:20 UTC -
web:www.wiz.io
Wiz's CVE Database curates CVE data to create easy-to-navigate profiles that cover the entire vulnerability timeline, exploit scenarios, and mitigation steps.
2026-11-03 08:20 UTC
AI Forensic Analysis
Only Available for Registered Users. Sign in to view.
Raw JSON
The full cvelistV5 record. Download as CVE-2026-120438.json.
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"packageURL": "pkg:github/quickjs-ng/quickjs",
"product": "QuickJS-NG",
"repo": "https://github.com/quickjs-ng/quickjs",
"vendor": "quickjs-ng",
"versions": [
{
"lessThan": "0.16.0",
"status": "affected",
"version": "0",
"versionType": "semver"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:a:quickjs_project:quickjs:*:*:*:*:*:*:*:*",
"versionEndExcluding": "0.16.0",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"credits": [
{
"lang": "en",
"type": "finder",
"value": "Tristan Madani (Talence Security)"
},
{
"lang": "en",
"type": "remediation developer",
"value": "Sa\u00fal Ibarra Corretg\u00e9"
}
],
"datePublic": "2026-07-31T00:00:00.000Z",
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"metrics": [
{
"cvssV4_0": {
"attackComplexity": "LOW",
"attackRequirements": "NONE",
"attackVector": "LOCAL",
"baseScore": 8.5,
"baseSeverity": "HIGH",
"privilegesRequired": "LOW",
"subAvailabilityImpact": "NONE",
"subConfidentialityImpact": "NONE",
"subIntegrityImpact": "NONE",
"userInteraction": "NONE",
"vectorString": "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",
"version": "4.0",
"vulnAvailabilityImpact": "HIGH",
"vulnConfidentialityImpact": "HIGH",
"vulnIntegrityImpact": "HIGH"
},
"format": "CVSS"
},
{
"cvssV3_1": {
"attackComplexity": "LOW",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 7.8,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"format": "CVSS"
}
],
"problemTypes": [
{
"descriptions": [
{
"cweId": "CWE-190",
"description": "Integer Overflow or Wraparound",
"lang": "en",
"type": "CWE"
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-11-02T14:29:00.633Z",
"orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"shortName": "VulnCheck"
},
"references": [
{
"name": "GitHub Security Advisory (GHSA-jp52-chwg-2p9p)",
"tags": [
"vendor-advisory"
],
"url": "https://github.com/quickjs-ng/quickjs/security/advisories/GHSA-jp52-chwg-2p9p"
},
{
"tags": [
"patch"
],
"url": "https://github.com/quickjs-ng/quickjs/commit/252209d99cf112568160548bdcaa98d95e0d0068"
},
{
"name": "QuickJS-NG v0.16.0 Release Notes",
"tags": [
"release-notes"
],
"url": "https://github.com/quickjs-ng/quickjs/releases/tag/v0.16.0"
},
{
"tags": [
"technical-description"
],
"url": "https://github.com/quickjs-ng/quickjs/blob/v0.15.1/quickjs.c#L51509"
},
{
"name": "VulnCheck Advisory: QuickJS-NG before 0.16.0 Heap Buffer Overflow via Proxy ownKeys Enumeration",
"tags": [
"third-party-advisory"
],
"url": "https://www.vulncheck.com/advisories/quickjs-ng-before-0.16.0-heap-buffer-overflow-via-proxy-ownkeys-enumeration"
}
],
"title": "QuickJS-NG before 0.16.0 Heap Buffer Overflow via Proxy ownKeys Enumeration",
"x_generator": {
"engine": "vulncheck-endgame"
}
}
},
"cveMetadata": {
"assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"assignerShortName": "VulnCheck",
"cveId": "CVE-2026-120438",
"datePublished": "2026-11-02T14:29:00.633Z",
"dateReserved": "2026-11-02T12:42:15.054Z",
"dateUpdated": "2026-11-02T14:29:00.633Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}