漏洞概述

seroval 是一个用于 JavaScript 值序列化/反序列化的库,支持比 JSON.stringify 更复杂的结构。在 1.4.0 及更早版本中,攻击者可通过覆盖 RegExp 序列化方式,构造恶意正则表达式模式,导致反序列化过程中发生内存耗尽或触发正则表达式拒绝服务(ReDoS)。该问题已在 1.4.1 版本中修复。

漏洞详情

  • CVE 编号:CVE-2026-23956
  • 漏洞类型:CWE-1333(不充分的正则表达式复杂度控制)
  • CVSS 评分:7.5(HIGH)
  • 影响版本:seroval ≤ 1.4.0

影响范围

使用 seroval 库 1.4.0 及以下版本进行 JavaScript 对象反序列化的应用程序均受影响,尤其是在处理不受信任的输入时。

风险分析

攻击者可构造包含恶意正则表达式的序列化数据,在目标系统反序列化时触发两种攻击:一是通过超大正则模式导致 JavaScript 运行时内存耗尽,造成服务崩溃;二是利用易引发“灾难性回溯”(catastrophic backtracking)的正则表达式,导致 CPU 资源长时间占用,从而实现拒绝服务(ReDoS)。由于漏洞可通过网络远程触发、无需用户交互且无需权限,风险较高。

修复建议

  • 立即升级 seroval 至 1.4.1 或更高版本,该版本已修复相关问题。
  • 若无法立即升级,应避免对不可信来源的数据进行反序列化操作,或在反序列化前对输入内容进行严格校验与过滤。

参考链接