# devalue 解析内存/CPU耗尽拒绝服务漏洞
## 概述
Svelte devalue 是一个用于序列化 JavaScript 值的库,用于替代 JSON.stringify 无法处理的场景。在版本 5.1.0 至 5.6.1 中,`devalue.parse` 存在解析漏洞,特定输入可导致 CPU 或内存资源过度消耗,引发拒绝服务(DoS)。
## 影响版本
- 受影响版本:5.1.0 至 5.6.1
- 修复版本:5.6.2
## 细节
漏洞源于 `ArrayBuffer` 反序列化时假设输入为 base64 编码字符串,但未在解码前验证该假设。攻击者可提供非 base64 或恶意格式的字符串,导致解析过程中出现异常资源消耗。
## 影响
使用 `devalue.parse` 解析来自不可信源数据的应用程序可能遭受拒绝服务攻击,表现为高 CPU 占用或内存耗尽。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: Release v5.6.2 · sveltejs/devalue · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
## 关键漏洞信息
### 版本
- **Version**: v5.6.2
### 发布日期
- **Release Date**: 4 days ago
### 修复内容
- **ArrayBuffer 解析的输入验证** (`1175584`): 修复了 ArrayBuffer 解析的输入验证问题。
- **类型化数组的输入验证** (`e46afa6`): 修复了类型化数组的输入验证问题。
- **导致堆栈溢出的输入错误信息** (`1175584`): 修复了可能导致堆栈溢出的输入,并提供了更有帮助的错误信息。
标题: Denial of service due to memory/CPU exhaustion in devalue.parse · Advisory · sveltejs/devalue · GitHub -- 🔗来源链接
标签:x_refsource_CONFIRM
神龙速读:
- **Vulnerability**: Denial of service due to memory/CPU exhaustion in `devalue.parse`
- **Package**: devalue (npm)
- **Affected versions**: >=5.1.0, <=5.6.1
- **Patched version**: 5.6.2
- **Severity**: High (7.5/10)
- **CVE ID**: CVE-2026-22775
- **Summary**: Certain inputs can cause `devalue.parse` to consume excessive CPU time and/or memory, potentially leading to Denial of Service in systems that parse input from untrusted sources.
- **Details**: The parser's `ArrayBuffer` hydration logic does not properly validate input before processing.
- **Impact**: Affected systems should upgrade to patched versions immediately.
标题: Merge commit from fork · sveltejs/devalue@1175584 · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
### 关键漏洞信息
#### 修复内容
- **ArrayBuffer 解析输入验证**:修复了对 `ArrayBuffer` 解析时输入验证不足的问题,避免接收恶意数据。
- **自我引用栈溢出**:修复了在处理自我引用时可能导致的栈溢出问题,增强安全性和稳定性。
#### 代码变动
- **src/parse.js**:增加对 `ArrayBuffer` 类型的校验,防止非法数据类型导致的安全问题。
- **test.js**:新增测试用例,验证 `ArrayBuffer` 类型错误处理的有效性及自我引用导致的无效数据检测。
#### 增强功能
- **错误信息优化**:对于导致堆栈溢出的输入,提供更详细的错误信息,便于调试和问题追踪。
#### 安全影响
- 防止恶意输入导致的程序崩溃或异常行为,提升软件安全性。
暂无评论