一、 漏洞 CVE-2025-62490 基础信息
漏洞信息
                                        # QuickJS js_print_object 使用后释放漏洞

## 概述

在 QuickJS 的 `js_print_object` 函数中存在一个使用后释放(use-after-free)漏洞。该漏洞源于在打印某些对象(如数组、Map、Set)时,执行了可能引发副作用的操作,从而导致在遍历过程中底层数据结构被修改。

## 影响版本

存在该问题的 QuickJS 版本:未明确具体版本,需检查受影响的 `quickjs` 代码中的 `js_print_object` 实现。

## 细节

- 在打印数组时,函数首先获取数组长度 `len1`,之后遍历数组。
- 在遍历过程中调用 `js_print_value`,该操作并非无副作用,可能会触发用户定义的回调。
- 攻击者可通过回调修改数组长度,导致 `len1` 超出数组实际长度,造成访问越界和 use-after-free。
- 类似问题也出现在打印 Map/Set 对象时:遍历 `ms->records` 列表过程中,`js_print_value` 的调用可能删除其中元素,导致 use-after-free。

## 影响

攻击者可利用该漏洞在上下文相关的堆内存中触发使用后释放,可能导致程序崩溃或执行任意代码,进而造成信息泄露或控制流劫持。
                                        
提示
尽管我们采用了先进的大模型技术,但其输出仍可能包含不准确或过时的信息。
神龙会尽力确保数据准确,但也请结合实际情况进行甄别与判断。
神龙祝您一切顺利!
漏洞标题
Use-after-free in js_print_object in QuickJS
来源:美国国家漏洞数据库 NVD
漏洞描述信息
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 could be removed from the list during js_print_value call.
来源:美国国家漏洞数据库 NVD
CVSS信息
N/A
来源:美国国家漏洞数据库 NVD
漏洞类别
释放后使用
来源:美国国家漏洞数据库 NVD
漏洞标题
QuickJS 安全漏洞
来源:中国国家信息安全漏洞库 CNNVD
漏洞描述信息
QuickJS是QuickJS开源的一个小型且可嵌入的 Javascript 引擎。 QuickJS存在安全漏洞,该漏洞源于js_print_object函数在打印数组和集合对象时未正确处理回调期间的数组大小变化,可能导致释放后重用。
来源:中国国家信息安全漏洞库 CNNVD
CVSS信息
N/A
来源:中国国家信息安全漏洞库 CNNVD
漏洞类别
其他
来源:中国国家信息安全漏洞库 CNNVD
二、漏洞 CVE-2025-62490 的公开POC
# POC 描述 源链接 神龙链接
三、漏洞 CVE-2025-62490 的情报信息
四、漏洞 CVE-2025-62490 的评论

暂无评论


发表评论