CVE-2026-34043serialize-javascript 是一个用于将 JavaScript 序列化为 JSON 超集的库。在 7.0.5 版本之前,该库存在一个拒绝服务漏洞。当序列化一个经过特殊构造的“类数组”对象(即继承自 Array.prototype 但具有极大 length 属性的对象)时,进程会进入密集循环,消耗 100% CPU 资源并无限期挂起。该问题已在 7.0.5 版本中修复。
该漏洞的根源在于 serialize-javascript 库在处理类数组对象时的逻辑缺陷。攻击者可以构造一个恶意对象,该对象继承自 Array.prototype,但其 length 属性被设置为一个极大的值(例如 Number.MAX_VALUE)。当库尝试遍历该对象的索引进行序列化时,由于 length 值异常巨大,遍历循环将消耗大量的 CPU 时间片,导致线程阻塞。由于攻击者无需认证即可通过网络触发此漏洞,且无需用户交互,这允许攻击者轻松使服务资源耗尽,导致正常请求无法得到处理,从而造成拒绝服务。