# SvelteKit 远程函数内存放大DoS漏洞
## 概述
SvelteKit 从 2.49.0 到 2.49.4 版本中,实验性 form remote 函数使用包含表单数据表示的二进制数据格式,存在可导致服务端内存耗尽的漏洞。
## 影响版本
2.49.0 ≤ 版本 < 2.49.5
## 细节
该漏洞源于 experimental form remote 功能在解析特制的二进制格式表单数据时,未对数据结构的大小进行有效限制,攻击者可通过构造恶意 payload 导致服务端分配大量内存。
## 影响
攻击者可利用此漏洞触发内存耗尽,造成拒绝服务(DoS)。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: Memory amplification DoS in Remote Functions binary form deserializer (application/x-sveltekit-formdata) · Advisory · sveltejs/kit · GitHub -- 🔗来源链接
标签:x_refsource_CONFIRM
神龙速读:
## 关键漏洞信息
### 漏洞概述
- **漏洞标题**: `Memory amplification DoS in Remote Functions binary form deserializer (application/x-sveltekit-formdata)`
- **漏洞ID**: `GHSA-j2f3-wq62-6q46`
- **CVE ID**: `CVE-2026-22803`
- **CVSS v4 基本评分**: 8.2/10
### 受影响与修补版本
- **受影响版本**: `>=2.49.0, <=2.49.4`
- **已修复版本**: `2.49.5`
### 漏洞描述
- ** vulnerable package**: `@sveltejs/kit`
- **漏洞类型**: 可用性/内存耗尽 (内存放大)
- **问题详情**:
* SvelteKit在处理提交的表单数据时,对自定义二进制格式的处理存在缺陷。
* 攻击者可以构造特殊的数据包,导致服务端内存不足,引起DoS攻击。
### 潜在影响
- **受攻击对象**: 启用了`experimental.remoteFunctions`的SvelteKit应用,且暴露了可访问的远程表单端点。
- **攻击方式**: 无需身份验证的攻击者通过重复发送特定数据包 (仅包含8字节的头/前缀),导致服务器内存耗尽。
### 漏洞关键指标 (CVSS v4)
- **可利用性 metrics**:
* 攻击向量: 网络
* 攻击复杂度: 低
* 攻击需求: 存在
* 必要权限: 无
* 用户交互: 无
- **脆弱系统影响和后续影响 metrics**:
* 保密性和完整性: 无影响
* 可用性: 高和无 (分别对应初始和后续影响)
### 威胁类型
- **weakness type**: `CWE-789` (Excessive Memory Allocation)
```
这些信息提供了对漏洞性质、影响范围及潜在风险的明确概述。
标题: Release @sveltejs/adapter-node@5.5.1 · sveltejs/kit · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
从该网页截图中,可以提取到有关漏洞的关键信息如下:
- **发布信息**
- 版本号: @sveltejs/adapter-node@5.5.1
- 发布时间: 4天前
- 发布者: github-actions
- **补丁变更**
- 新增对协议、主机和端口头值的验证(修复漏洞)
- 更新了依赖项:
- @sveltejs/kit@2.49.5
这些信息表明,该版本主要针对安全问题进行了修复,特别是添加了对协议、主机和端口头值的验证,以增强系统的安全性。
标题: Merge commit from fork · sveltejs/kit@8ed8155 · GitHub -- 🔗来源链接
标签:x_refsource_MISC
神龙速读:
### 关键漏洞信息
#### 1. 漏洞类型
- **逻辑漏洞**:代码中存在多个边界条件和数据长度检查问题,可能导致程序在处理特定类型的数据时出现异常。
#### 2. 漏洞描述
- **边界条件检查不足**:在处理二进制表单数据时,代码中缺少对数据长度的严格检查,可能导致数据越界或缓冲区溢出。
- **数据完整性检查不全**:对数据的完整性检查不足,可能允许攻击者通过构造特殊的数据包来绕过系统的安全检查机制。
#### 3. 影响文件及代码片段
- **文件:`runtime/form-utils.js`**
- 注释行:`// Fix: Add length checks to remote forms`
- 代码更新后增加了对 `content_length` 和 `header.bytes` 的检查。
- **文件:`form-utils.spec.js`**
- 增加了多个测试用例,覆盖了不同类型的二进制表单数据处理,确保修复后的代码在各种情况下都能正常工作。
#### 4. 修复措施
- **增加长度检查**:在处理远程表单时,对二进制数据长度增加了边界检查,避免数据越界问题。
- **改进错误处理**:更新了错误抛出逻辑,对数据长度不足或格式错误的处理更加严格和明确。
#### 5. 影响范围
- 该漏洞可能影响使用该代码库处理二进制表单数据的所有应用程序,特别是在数据传输和处理过程中,可能导致程序崩溃、数据丢失或被篡改。
### 总结
该漏洞主要是由于代码中对二进制表单数据的长度检查不足,导致在处理特定数据时可能引发异常。修复措施包括增加数据长度检查和改进错误处理逻辑,确保系统的稳定性和安全性。
暂无评论