CVE-2025-62494
CVE-2025-62494 is a high-severity vulnerability in Quickjs Project Quickjs with a CVSS 3.x base score of 8.8. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-704.
Key facts
- Severity: High (CVSS 3.x base score 8.8)
- CVSS v4: 7.1
- EPSS exploit prediction: 0% (37th percentile)
- Actively exploited: Not listed in CISA KEV
- EU (EUVD) id: EUVD-2025-34780
- Weakness: CWE-704
- Affected product: Quickjs Project Quickjs
- Published:
- Last modified:
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.
Frequently asked questions
- What is CVE-2025-62494?
- 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.
- How severe is CVE-2025-62494?
- CVE-2025-62494 has a CVSS 3.x base score of 8.8, rated high severity. It is exploitable over an adjacent network with low attack complexity, requires no privileges and no user interaction. Impact on confidentiality is high, integrity high, and availability high.
- Is CVE-2025-62494 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 0% (37th percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2025-62494?
- CVE-2025-62494 affects Quickjs Project Quickjs. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2025-62494?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround. Given its high severity, prioritise patching exposed systems.
- Does CVE-2025-62494 have an EU (EUVD) identifier?
- Yes. CVE-2025-62494 is tracked in the ENISA EU Vulnerability Database (EUVD) as EUVD-2025-34780.
- When was CVE-2025-62494 published?
- CVE-2025-62494 was published on 2025-10-16 and last updated on 2026-06-17.
References
Affected products (1)
- cpe:2.3:a:quickjs_project:quickjs:*:*:*:*:*:*:*:*
More vulnerabilities in Quickjs Project Quickjs
- CVE-2025-62496 — High (CVSS 8.8): A vulnerability exists in the QuickJS engine's BigInt string parsing logic (js_bigint_from_string) when attempting to…
- CVE-2025-62495 — High (CVSS 8.8): An integer overflow vulnerability exists in the QuickJS regular expression engine (libregexp) due to an inconsistent…
- CVE-2025-62491 — High (CVSS 8.8): A Use-After-Free (UAF) vulnerability exists in the QuickJS engine's standard library when iterating over the global…
- CVE-2025-62490 — High (CVSS 8.8): In quickjs, in js_print_object, when printing an array, the function first fetches the array length and then loops over…
- CVE-2025-69654 — High (CVSS 7.5): A crafted JavaScript input executed with the QuickJS release 2025-09-13, fixed in commit…
- CVE-2023-48183 — High (CVSS 7.5): QuickJS before c4cdd61 has a build_for_in_iterator NULL pointer dereference because of an erroneous lexical scope of…
All CVEs affecting Quickjs Project Quickjs →
Other CWE-704 (Incorrect Type Conversion or Cast) vulnerabilities
- CVE-2015-3120 — Critical (CVSS 10.0): Adobe Flash Player before 13.0.0.302 and 14.x through 18.x before 18.0.0.203 on Windows and OS X and before…
- CVE-2025-41648 — Critical (CVSS 9.8): An unauthenticated remote attacker can bypass the login to the web application of the affected devices making it…
- CVE-2025-41646 — Critical (CVSS 9.8): An unauthorized remote attacker can bypass the authentication of the affected software package by misusing an incorrect…
- CVE-2021-33318 — Critical (CVSS 9.8): An Input Validation Vulnerability exists in Joel Christner .NET C# packages WatsonWebserver, IpMatcher 1.0.4.1 and…
- CVE-2020-25576 — Critical (CVSS 9.8): An issue was discovered in the rand_core crate before 0.4.2 for Rust. Casting of byte slices to integer slices…
- CVE-2020-6151 — Critical (CVSS 9.8): A memory corruption vulnerability exists in the TIFF handle_COMPRESSION_PACKBITS functionality of Accusoft ImageGear…
Browse all CWE-704 (Incorrect Type Conversion or Cast) vulnerabilities →