CVE-2026-33532JavaScript的`yaml`解析库在解析特定格式的YAML文档时存在安全漏洞。受影响版本包括1.10.3之前的1.x分支和2.8.3之前的2.x分支。由于节点解析/合成阶段使用了无深度限制的递归函数调用,攻击者可以通过精心构造的深度嵌套YAML文档(约2-10KB)触发栈溢出,导致`RangeError`异常。这可能导致Node.js进程意外终止或请求失败,造成拒绝服务攻击。
该漏洞的核心在于`yaml`库的文档合成阶段采用了递归算法且未设置深度限制。攻击者可利用YAML流序列特性,构造如`[[[...]]]`的深度嵌套结构。每个层级仅需2字节,约4000层即可耗尽Node.js默认栈空间。受影响的API包括`YAML.parse()`、`YAML.parseDocument()`等。由于抛出的是`RangeError`而非标准的`YAMLParseError`,常规的错误处理机制可能失效,导致未捕获异常,最终引发应用程序终止或服务中断。