A type confusion vulnerability exists in the handling of the string addition (+) operation within the QuickJS engine.

* The code first checks if the left-hand operand is a string.


* It then attempts to convert the right-hand operand to a primitive value using JS_ToPrimitiveFree. This conversion can trigger a callback (e.g., toString or valueOf).


* During this callback, an attacker can modify the type of the left-hand operand in memory, changing it from a string to a different type (e.g., an object or an array).


* The code then proceeds to call JS_ConcatStringInPlace, which still treats the modified left-hand value as a string.


This mismatch between the assumed type (string) and the actual type allows an attacker to control the data structure being processed by the concatenation logic, resulting in a type confusion condition. This can lead to out-of-bounds memory access, potentially resulting in memory corruption and arbitrary code execution in the context of the QuickJS runtime.
Advisories

No advisories yet.

Fixes

Solution

No solution given by the vendor.


Workaround

No workaround given by the vendor.

History

Thu, 16 Oct 2025 18:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Thu, 16 Oct 2025 16:00:00 +0000

Type Values Removed Values Added
Description A type confusion vulnerability exists in the handling of the string addition (+) operation within the QuickJS engine. * The code first checks if the left-hand operand is a string. * It then attempts to convert the right-hand operand to a primitive value using JS_ToPrimitiveFree. This conversion can trigger a callback (e.g., toString or valueOf). * During this callback, an attacker can modify the type of the left-hand operand in memory, changing it from a string to a different type (e.g., an object or an array). * The code then proceeds to call JS_ConcatStringInPlace, which still treats the modified left-hand value as a string. This mismatch between the assumed type (string) and the actual type allows an attacker to control the data structure being processed by the concatenation logic, resulting in a type confusion condition. This can lead to out-of-bounds memory access, potentially resulting in memory corruption and arbitrary code execution in the context of the QuickJS runtime.
Title Type confusion in string addition in QuickJS
Weaknesses CWE-704
References
Metrics cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: Google

Published:

Updated: 2025-10-16T17:46:39.174Z

Reserved: 2025-10-15T08:47:41.878Z

Link: CVE-2025-62494

cve-icon Vulnrichment

Updated: 2025-10-16T17:46:23.878Z

cve-icon NVD

Status : Received

Published: 2025-10-16T16:15:39.943

Modified: 2025-10-16T16:15:39.943

Link: CVE-2025-62494

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

No data.