CVE-2026-0821CVE-2026-0821是存在于quickjs-ng quickjs JavaScript引擎中的一个高危安全漏洞。该漏洞影响quickjs版本最高至0.11.0,位于文件quickjs.c中的js_typed_array_constructor函数。攻击者可以通过精心构造的JavaScript代码触发堆缓冲区溢出(heap-based buffer overflow)漏洞。此漏洞具有远程利用特性,无需任何认证或用户交互即可发起攻击,CVSS评分达到7.3分,属于高危级别。quickjs是一个轻量级的JavaScript引擎,广泛应用于嵌入式系统和IoT设备中。该漏洞已于2026年1月10日公开披露,相关的漏洞利用代码可能已被公开,构成了严重的安全威胁。攻击者成功利用此漏洞可能导致敏感数据泄露、系统完整性受损,甚至在某些场景下可能实现远程代码执行。建议受影响用户立即采取修复措施,升级到最新版本以消除安全风险。
该漏洞存在于quickjs-ng quickjs引擎的quickjs.c源文件中,具体位于js_typed_array_constructor函数。js_typed_array_constructor是JavaScript TypedArray构造器的实现函数,负责处理TypedArray对象的创建。在处理特定类型的TypedArray(如Int8Array、Uint8Array、Float32Array等)时,该函数在内存分配或数据复制过程中存在边界检查不严格的问题。当攻击者传入异常的参数值或构造特定的输入数据时,可能导致堆缓冲区溢出,使得攻击者能够覆写相邻内存区域的数据。这种内存破坏漏洞可以被利用来:(1)读取或修改进程内存中的敏感信息;(2)破坏堆管理结构,导致程序崩溃或执行任意代码;(3)在特定条件下实现代码执行。漏洞的触发路径为:攻击者通过JavaScript代码创建TypedArray -> 调用js_typed_array_constructor -> 函数内部处理参数时发生整数溢出或缓冲区越界访问 -> 堆缓冲区溢出。公开的补丁c5d80831e51e48a83eab16ea867be87f091783c5针对该函数增加了边界检查和参数验证,建议尽快应用。