Vulnerabilities (CVE)

Filtered by vendor Quickjs Project
Filtered by product Quickjs
Angry Yack Logo
Total 12 CVE
CVE Vendors Products Updated CVSS v2 CVSS v3
CVE-2025-62490 1 Quickjs Project 1 Quickjs 2025-10-30 N/A 8.8 HIGH
In quickjs, in js_print_object, when printing an array, the function first fetches the array length and then loops over it. The issue is, printing a value is not side-effect free. An attacker-defined callback could run during js_print_value, during which the array could get resized and len1 become out of bounds. This results in a use-after-free.A second instance occurs in the same function during printing of a map or set objects. The code iterates over ms->records list, but once again, elements ...

Show More

CVE-2025-62491 1 Quickjs Project 1 Quickjs 2025-10-30 N/A 8.8 HIGH
A Use-After-Free (UAF) vulnerability exists in the QuickJS engine's standard library when iterating over the global list of unhandled rejected promises (ts->rejected_promise_list). * The function js_std_promise_rejection_check attempts to iterate over the rejected_promise_list to report unhandled rejections using a standard list loop. * The reason for a promise rejection is processed inside the loop, including calling js_std_dump_error1(ctx, rp->reason). * If the promise rejection ...

Show More

CVE-2025-62492 1 Quickjs Project 1 Quickjs 2025-10-30 N/A 6.5 MEDIUM
A vulnerability stemming from floating-point arithmetic precision errors exists in the QuickJS engine's implementation of TypedArray.prototype.indexOf() when a negative fromIndex argument is supplied. * The fromIndex argument (read as a double variable, $d$) is used to calculate the starting position for the search. * If d is negative, the index is calculated relative to the end of the array by adding the array's length (len) to d: $$d_{new} = d + \text{len}$$ * Due to the inher ...

Show More

CVE-2025-62493 1 Quickjs Project 1 Quickjs 2025-10-29 N/A 6.5 MEDIUM
A vulnerability exists in the QuickJS engine's BigInt string conversion logic (js_bigint_to_string1) due to an incorrect calculation of the required number of digits, which in turn leads to reading memory past the allocated BigInt structure. * The function determines the number of characters (n_digits) needed for the string representation by calculating: $$ \\ \text{n\_digits} = (\text{n\_bits} + \text{log2\_radix} - 1) / \text{log2\_radix}$$ $$$$This formula is off-by-one in certain edge ...

Show More

CVE-2025-62494 1 Quickjs Project 1 Quickjs 2025-10-29 N/A 8.8 HIGH
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 ...

Show More

CVE-2025-62495 1 Quickjs Project 1 Quickjs 2025-10-29 N/A 8.8 HIGH
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 ...

Show More

CVE-2025-62496 1 Quickjs Project 1 Quickjs 2025-10-28 N/A 8.8 HIGH
A vulnerability exists in the QuickJS engine's BigInt string parsing logic (js_bigint_from_string) when attempting to create a BigInt from a string with an excessively large number of digits. The function calculates the necessary number of bits (n_bits) required to store the BigInt using the formula: $$\text{n\_bits} = (\text{n\_digits} \times 27 + 7) / 8 \quad (\text{for radix 10})$$ * For large input strings (e.g., $79,536,432$ digits or more for base 10), the intermediate calculation $( ...

Show More

CVE-2023-48184 1 Quickjs Project 1 Quickjs 2025-10-15 N/A 3.9 LOW
QuickJS before 7414e5f has a quickjs.h JS_FreeValueRT use-after-free because of incorrect garbage collection of async functions with closures.
CVE-2023-48183 1 Quickjs Project 1 Quickjs 2025-10-15 N/A 7.5 HIGH
QuickJS before c4cdd61 has a build_for_in_iterator NULL pointer dereference because of an erroneous lexical scope of "this" with eval.
CVE-2025-46688 2 Quickjs-ng, Quickjs Project 2 Quickjs, Quickjs 2025-05-30 N/A 5.6 MEDIUM
quickjs-ng through 0.9.0 has an incorrect size calculation in JS_ReadBigInt for a BigInt, leading to a heap-based buffer overflow. QuickJS before 2025-04-26 is also affected.
CVE-2023-31922 1 Quickjs Project 1 Quickjs 2025-01-24 N/A 7.5 HIGH
QuickJS commit 2788d71 was discovered to contain a stack-overflow via the component js_proxy_isArray at quickjs.c.
CVE-2020-22876 1 Quickjs Project 1 Quickjs 2024-11-21 5.0 MEDIUM 7.5 HIGH
Buffer Overflow vulnerability in quickjs.c in QuickJS, allows remote attackers to cause denial of service. This issue is resolved in the 2020-07-05 release.