s1
--:--:--UTC

Searching APEX

Starting…

  1. ○ Searching Threats, IOCs & Threat Intelligence locally
  2. ○ Querying external providers
  3. ○ Asking AI Forensic Validator
  4. ○ Creating new entry from validated hit

0s elapsed

CVE-2026-120439

📛 CVE Title

QuickJS-NG before 0.16.0 Heap Buffer Overflow via TypedArray.prototype.sort

Description

QuickJS-NG before 0.16.0 contains an integer overflow in js_typed_array_sort() in quickjs.c that allows attackers to cause a heap buffer overflow on 32-bit hosts. Attackers who can run JavaScript can call TypedArray.prototype.sort with a comparator on a typed array near 2^30 elements, wrapping the allocation size and writing indices past the buffer to crash or potentially execute code.

Overview

State
PUBLISHED
Assigner (CNA)
VulnCheck
CVSS severity
HIGH
CVSS score
CVSS 8.3 / 10 8.3 8.3 / 10
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:H/SC:N/SI:N/SA:N
Effective score
8.3 / 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-120439.json
Linked Threat
CVE-2026-120439 — QuickJS-NG before 0.16.0 Heap Buffer Overflow via TypedArray.prototype.sort

Affected products (1)

VendorProductVersionsPlatforms
quickjs-ng QuickJS-NG 0 (affected) —

Vendor references (5)

References embedded in the original CVE record by the assigning CNA.

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.

AI Forensic Analysis

Only Available for Registered Users. Sign in to view.

Raw JSON

The full cvelistV5 record. Download as CVE-2026-120439.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_typed_array_sort() in quickjs.c that allows attackers to cause a heap buffer overflow on 32-bit hosts. Attackers who can run JavaScript can call TypedArray.prototype.sort with a comparator on a typed array near 2^30 elements, wrapping the allocation size and writing indices past the buffer to crash or potentially execute code."
        }
      ],
      "metrics": [
        {
          "cvssV4_0": {
            "attackComplexity": "LOW",
            "attackRequirements": "PRESENT",
            "attackVector": "NETWORK",
            "baseScore": 8.3,
            "baseSeverity": "HIGH",
            "privilegesRequired": "NONE",
            "subAvailabilityImpact": "NONE",
            "subConfidentialityImpact": "NONE",
            "subIntegrityImpact": "NONE",
            "userInteraction": "NONE",
            "vectorString": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:H/SC:N/SI:N/SA:N",
            "version": "4.0",
            "vulnAvailabilityImpact": "HIGH",
            "vulnConfidentialityImpact": "LOW",
            "vulnIntegrityImpact": "LOW"
          },
          "format": "CVSS"
        },
        {
          "cvssV3_1": {
            "attackComplexity": "HIGH",
            "attackVector": "NETWORK",
            "availabilityImpact": "HIGH",
            "baseScore": 7,
            "baseSeverity": "HIGH",
            "confidentialityImpact": "LOW",
            "integrityImpact": "LOW",
            "privilegesRequired": "NONE",
            "scope": "UNCHANGED",
            "userInteraction": "NONE",
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/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:01.345Z",
        "orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
        "shortName": "VulnCheck"
      },
      "references": [
        {
          "name": "GitHub Security Advisory (GHSA-9wv5-5cgr-grj6)",
          "tags": [
            "vendor-advisory"
          ],
          "url": "https://github.com/quickjs-ng/quickjs/security/advisories/GHSA-9wv5-5cgr-grj6"
        },
        {
          "tags": [
            "patch"
          ],
          "url": "https://github.com/quickjs-ng/quickjs/commit/e93cca611908e12b824ec85fbee6b31a5ee61568"
        },
        {
          "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#L60032"
        },
        {
          "name": "VulnCheck Advisory: QuickJS-NG before 0.16.0 Heap Buffer Overflow via TypedArray.prototype.sort",
          "tags": [
            "third-party-advisory"
          ],
          "url": "https://www.vulncheck.com/advisories/quickjs-ng-before-0.16.0-heap-buffer-overflow-via-typedarray-prototype-sort"
        }
      ],
      "title": "QuickJS-NG before 0.16.0 Heap Buffer Overflow via TypedArray.prototype.sort",
      "x_generator": {
        "engine": "vulncheck-endgame"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
    "assignerShortName": "VulnCheck",
    "cveId": "CVE-2026-120439",
    "datePublished": "2026-11-02T14:29:01.345Z",
    "dateReserved": "2026-11-02T12:42:15.449Z",
    "dateUpdated": "2026-11-02T14:29:01.345Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}