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

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2025-62495— Type confusion in string addition in QuickJS

EPSS 0.03% · P8
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2025-62495

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
Type confusion in string addition in QuickJS
Source: NVD (National Vulnerability Database)
Vulnerability Description
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 into a signed int (typically 32-bit). * When a large or complex regular expression (such as those generated by a recursive pattern in a Proof-of-Concept) causes the bytecode size to exceed $2^{31}$ bytes (the maximum positive value for a signed 32-bit integer), the size value wraps around, resulting in a negative integer when stored in the int variable (Integer Overflow). * This negative value is subsequently used in offset calculations. For example, within functions like re_parse_disjunction, the negative size is used to compute an offset (pos) for patching a jump instruction. * This negative offset is then incorrectly added to the buffer pointer (s->byte\_code.buf + pos), leading to an out-of-bounds write on the first line of the snippet below: put_u32(s->byte_code.buf + pos, len);
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
整数下溢(超界折返)
Source: NVD (National Vulnerability Database)
Vulnerability Title
QuickJS 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
QuickJS是QuickJS开源的一个小型且可嵌入的 Javascript 引擎。 QuickJS存在安全漏洞,该漏洞源于正则表达式引擎中整数溢出导致的缓冲区大小表示不一致,可能导致越界写入。
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

VendorProductAffected VersionsCPESubscribe
QuickJSQuickJS 2025-04-26 ~ 2025-09-13 -

II. Public POCs for CVE-2025-62495

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2025-62495

登录查看更多情报信息。

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

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

IV. Related Vulnerabilities

V. Comments for CVE-2025-62495

No comments yet


Leave a comment