Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2025-62493— Heap out-of-bounds read in js_bigint_to_string1 in QuickJS

Quick assessment

Affected
QuickJS QuickJS
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

QuickJS是QuickJS开源的一个小型且可嵌入的 Javascript 引擎。 QuickJS存在安全漏洞,该漏洞源于BigInt字符串转换逻辑中位数计算错误,可能导致越界读取和信息泄露。

AI Predicted 6.5 Difficulty: Easy EPSS 0.38% · P30
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2025-62493

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
Heap out-of-bounds read in js_bigint_to_string1 in QuickJS
Source: CVE Program / CVE List V5
Vulnerability Description
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 cases when calculating the necessary memory limbs. For instance, a 127-bit BigInt using radix 32 (where $\text{log2\_radix}=5$) is calculated to need $\text{n\_digits}=26$. * The maximum number of bits actually stored is $\text{n\_bits}=127$, which requires only two 64-bit limbs ($\text{JS\_LIMB\_BITS}=64$). * The conversion loop iterates $\text{n\_digits}=26$ times, attempting to read 5 bits in each iteration, totaling $26 \times 5 = 130$ bits. * In the final iterations of the loop, the code attempts to read data that spans two limbs: C c = (r->tab[pos] >> shift) | (r->tab[pos + 1] << (JS_LIMB_BITS - shift)); * Since the BigInt was only allocated two limbs, the read operation for r->tab[pos + 1] becomes an Out-of-Bounds Read when pos points to the last valid limb (e.g., $pos=1$). This vulnerability allows an attacker to cause the engine to read and process data from the memory immediately following the BigInt buffer. This can lead to Information Disclosure of sensitive data stored on the heap adjacent to the BigInt object.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:4.0/AV:A/AC:H/AT:P/PR:L/UI:P/VC:H/VI:L/VA:L/SC:H/SI:L/SA:L
Source: CVE Program / CVE List V5
Vulnerability Type
跨界内存读
Source: CVE Program / CVE List V5
Vulnerability Title
QuickJS 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
QuickJS是QuickJS开源的一个小型且可嵌入的 Javascript 引擎。 QuickJS存在安全漏洞,该漏洞源于BigInt字符串转换逻辑中位数计算错误,可能导致越界读取和信息泄露。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

Vendor Product Affected Versions CPE Subscribe
QuickJS QuickJS 2025-04-26 ~ 2025-09-13 -

II. Public POCs for CVE-2025-62493

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-62493

请登录查看更多情报信息。

Patches & Fixes for CVE-2025-62493 (1)

Same Patch Batch · QuickJS · 2025-10-16 · 7 CVEs total

CVE-2025-62492 Heap out-of-bounds read in js_typed_array_indexOf in QuickJS
CVE-2025-62494 Type confusion in string addition in QuickJS
CVE-2025-62495 Type confusion in string addition in QuickJS
CVE-2025-62491 Use-after-free in js_std_promise_rejection_check in QuickJS
CVE-2025-62490 Use-after-free in js_print_object in QuickJS
CVE-2025-62496 Integer overflow in js_bigint_from_string in QuickJS

IV. Related Vulnerabilities

V. Comments for CVE-2025-62493

No comments yet


Leave a comment