Medium severity · published Oct 16, 2025
CVE-2025-62492
Heap out-of-bounds read in js_typed_array_indexOf in QuickJS
6.5
CVSS
0.4%
EPSS
No
On KEV
Description
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 inherent limitations of floating-point arithmetic, if the negative value $d$ is extremely small (e.g., $-1 \times 10^{-20}$), the addition $d + \text{len}$ can result in a loss of precision, yielding an outcome that is exactly equal to $\text{len}$. * The result is then converted to an integer index $k$: $k = \text{len}$. * The search function proceeds to read array elements starting from index $k$. Since valid indices are $0$ to $\text{len}-1$, starting the read at index $\text{len}$ is one element past the end of the array. This allows an attacker to cause an Out-of-Bounds Read of one element immediately following the buffer. While the scope of this read is small (one element), it can potentially lead to Information Disclosure of adjacent memory contents, depending on the execution environment.
CVSS vector
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Attack vector
Adjacent
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
High
Integrity
None
Availability
None
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.4% · higher than 33% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
QU
QuickJS · QuickJS
2025-04-26 before 2025-09-13 · source: vendor, NVD
Affected product
QU
QuickJS
QuickJS
More from QuickJS
8.8
CVE-2025-62496
Integer overflow in js_bigint_from_string in QuickJS
8.8
CVE-2025-62495
Type confusion in string addition in QuickJS
8.8
CVE-2025-62494
Type confusion in string addition in QuickJS
8.8
CVE-2025-62491
Use-after-free in js_std_promise_rejection_check in QuickJS
8.8
CVE-2025-62490
Use-after-free in js_print_object in QuickJS