Read the docs
TI-2025-38737 Aliases CVE-2025-62495GHSA-g8rq-rjvv-4hcc

Type confusion in string addition in QuickJS

Priority HIGH 66CWE-191Published · Updated

Key facts

Attack vector
Adjacent network
Privileges required
Low
User interaction
Passive
Attack complexity
High
Attack requirements
Present
Impact type
Code execution
Confidentiality · integrity · availability
High · High · Low
Fix status
Fixed

Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-191 and the CVSS impact.

Summary

An integer overflow vulnerability exists in the QuickJS regular expression engine (libregexp) due to an inconsistent representation of the bytecode buffer size. * The regular expression bytecode is stored in a DynBuf structure, which correctly uses a $\text{size}\_\text{t}$ (an unsigned type, typically 64-bit) for its size member. * However, several functions, such as re_emit_op_u32 and other internal parsing routines, incorrectly cast or store this DynBuf $\text{size}\_\text{t}$ value into a signed int (typically 32-bit). * When a large or complex regular expression (such as those generated by a recursive pattern in a Proof-of-Concept) causes the bytecode size to exceed $2^{31}$ bytes (the maximum positive value for a signed 32-bit integer), the size value wraps around, resulting in a negative integer when stored in the int variable (Integer Overflow). * This negative value is subsequently used in offset calculations. For example, within functions like re_parse_disjunction, the negative size is used to compute an offset (pos) for patching a jump instruction. * This negative offset is then incorrectly added to the buffer pointer (s->byte\_code.buf + pos), leading to an out-of-bounds write on the first line of the snippet below: put_u32(s->byte_code.buf + pos, len);

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00468 40th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed QuickJS (QuickJS): 2025-09-13

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Total

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

Affected products

VendorProductAffected versionsFixed inStatusSource
QuickJSQuickJS2025-04-26 to before 2025-09-132025-09-13Patch availableCNA
  • QuickJS VendorQuickJS Affected 2025-04-26 to before 2025-09-13 Fixed in 2025-09-13 Patch available CNA

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:quickjs_project:quickjs:*:*:*:*:*:*:*:*before 2025-09-13VulnerableQuickJS
  • cpe:2.3:a:quickjs_project:quickjs:*:*:*:*:*:*:*:* Versions before 2025-09-13 Vulnerable ·QuickJS

Remediation

  • Fix · CNA QuickJS (QuickJS) Fixed in 2025-09-13

Fixed in the same release

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

  • Release ·

    QuickJS 2025-09-13

    7 records Highest priority Priority HIGH 4 HIGH, 3 MEDIUM

    Other records, highest priority first

    • TI-2025-38733 Use-after-free in js_std_promise_rejection_check in QuickJSPriority HIGH 73
    • TI-2025-38738 Integer overflow in js_bigint_from_string in QuickJSPriority HIGH 66
    • TI-2025-38736 Type confusion in string addition in QuickJSPriority HIGH 66

Timeline

  1. 2026-10-02 Threatist record created from CVE-2025-62495
  2. 2026-10-03 Alias added: GHSA-g8rq-rjvv-4hcc

References

  • TI-2025-38733 Use-after-free in js_std_promise_rejection_check in QuickJS CVSS 4.0HIGH 8.8
  • TI-2025-42911 A crafted JavaScript input executed with the QuickJS release 2025-09-13, fixed in commit… CVSS 3.1HIGH 7.5
  • 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-2025-38738 Integer overflow in js_bigint_from_string in QuickJS CVSS 4.0HIGH 7.1
  • TI-2025-38736 Type confusion in string addition in QuickJS CVSS 4.0HIGH 7.1
  • TI-2023-15270 QuickJS commit 2788d71 was discovered to contain a stack-overflow via the component js_proxy_isArray at quickjs.c. CVSS 3.1HIGH 7.5
See all 13 →

Sources