# Svelte 5.46.0 可水合脚本XSS漏洞
## 概述
存在一个异步 hydration 过程中的 SSR XSS 漏洞,当将攻击者可控的键值传递给 `hydratable` 时,可触发脚本注入。
## 影响版本
Svelte:从 5.46.0 版本开始,但在 5.46.3 版本之前(不含)。
## 细节
在异步 hydration 期间,`hydratable` 接收的键值被嵌入 `<script>` 标签内,未进行 HTML 安全转义。攻击者可通过闭合 `</script>` 标签终止原始脚本,并注入任意 JavaScript 代码。
## 影响
攻击者可利用该漏洞在用户浏览器中实现远程代码执行,可能导致会话劫持和账户被接管。
是否为 Web 类漏洞: 未知
判断理由:
| # | POC 描述 | 源链接 | 神龙链接 |
|---|
标题: Svelte 5.46.0 - Hydratable Key Script-Breakout XSS (SSR) | Fluid Attacks -- 🔗来源链接
标签:third-party-advisory
神龙速读:
## 关键漏洞信息
### 漏洞名称
Svelte 5.46.0 - Hydratable Key Script-Breakout XSS (SSR)
### 漏洞类型
反射型跨站脚本(Reflected cross-site scripting, XSS)
### CVSS 评分
- CVSS v4.0 基本评分: 5.3
### 漏洞描述
在异步水合过程中,当攻击者控制的密钥被传递给水合时,存在一个SSR XSS漏洞。密钥被嵌入到服务器端渲染的头部的`<script>`块中,且未对危险字符进行HTML安全转义,允许`</script>`终止脚本并注入任意JavaScript。这使得远程脚本在用户浏览器中执行,具有会话盗窃和账户泄露的潜在风险。
### 漏洞根源
漏洞出现在`hydratable(key, fn)`接受不受信任的密钥时,这些密钥随后被序列化成一个未转义危险字符的`<script>`块。一个包含`</script>`的恶意密钥可以打破脚本上下文,并将任意JavaScript注入到HTML响应中。
### 漏洞发现
该漏洞由Fluid Attacks的攻击团队的Camilo Vera发现。
### 时间轴
- 漏洞发现: 2025-12-27
- 联系厂商: 2025-12-29
- 厂商回复: 2026-01-05
- 厂商确认: 2026-01-05
### 缓解措施
使用最新的Svelte版本,该版本在供应商页面上提供。
标题: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in svelte · Advisory · sveltejs/svelte · GitHub -- 🔗来源链接
标签:vendor-advisory
神龙速读:
### 关键信息总结
- **漏洞名称**: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting') in svelte
- **CVE ID**: CVE-2025-15265
- **CVSS v4 base score**: 5.3/10
- **严重性**: Moderate
#### 漏洞详情
- **受影响的版本**: >=5.46.0, <=5.46.3
- **修复版本**: 5.46.4
- **描述**: 在Svelte 5.46.0-2中存在XSS漏洞,由于`hydratable`键的不正确转义导致。
#### 影响
- **影响**: 在客户端浏览器中任意执行JavaScript
- **可利用性**: 远程,单次请求(如果密钥被攻击者控制)
- **典型结果**:
- 会话/令牌窃取
- DOM破坏
- 通过注入的JS绕过CSRF
- 根据Cookie/会话策略的账户接管
#### 动态系统影响度量
- **隐私**: None
- **完整性**: None
- **可用性**: None
#### 漏洞发现与修复人员
- **修复开发者**: elliott-with-the-longest-name-on-github
- **修复评审者**: Rich-Harris
- **发现者**: caverav
暂无评论