CVE-2026-22774CVE-2026-22774是Svelte团队开发的JavaScript库devalue中的一个高危拒绝服务漏洞。该库用于将JavaScript值序列化为字符串,特别是在JSON.stringify无法满足需求的场景下。漏洞影响范围从5.3.0到5.6.1版本。攻击者可以通过构造特定的恶意输入,触发devalue.parse函数消耗过多的CPU时间和内存资源,最终导致使用该库解析不可信数据的应用程序发生拒绝服务。此漏洞的严重程度被评估为7.5分(高危),攻击复杂度低,无需认证和用户交互即可实现攻击。漏洞已于5.6.2版本中修复,建议受影响用户尽快升级。
该漏洞的根本原因在于devalue库中typed array hydration功能的实现缺陷。具体来说,当devalue.parse处理typed array(类型化数组)时,代码期望接收ArrayBuffer作为输入,但在创建typed array对象之前并未验证这一假设是否成立。攻击者可以通过构造包含恶意构造的typed array序列化数据的输入,使devalue.parse在解析过程中尝试创建无效的typed array对象,从而触发大量的CPU计算和内存分配。这种过度资源消耗会导致解析函数陷入长时间的循环或分配大量内存,最终造成应用程序响应缓慢或崩溃。该漏洞属于资源消耗类型的拒绝服务漏洞,攻击向量为网络层面,认证要求为无需认证。