🟠 高危 | CVE-2026-15957 — Smithy-RS is a Rust code generation and runtime fr...
🟠 《高危安全漏洞:CVE-2026-15957》
CVSS 评分: 高危(8.7) 状态: Received 发布时间: 2026-07-21
漏洞简介
CVE-2026-15957 是一个影响 Amazon smithy-rs 代码生成框架的安全漏洞。Smithy-RS 是一个基于 Rust 语言的代码生成与运行时框架,能够根据 Smithy 接口定义生成 HTTP 客户端和服务器代码,是 AWS SDK for Rust 以及自定义服务实现的核心基础组件。
该漏洞的根本原因在于 smithy-rs 代码生成过程中,所生成的 JSON、CBOR 以及 XML 反序列化函数存在不受控制的递归(Uncontrolled recursion) 问题(对应 CWE-770:不加限制或资源分配不当)。具体来说,当攻击者向由 smithy-rs 生成的 SDK 或服务器发送一个体积较小但包含深度嵌套数据的请求,且该数据符合递归模型形状(recursive model shape)时,反序列化过程会触发深度递归调用,最终导致栈耗尽(stack exhaustion),进而引发进程异常终止(process abort),造成拒绝服务(Denial of Service, DoS)。
影响范围
- 受影响组件:Amazon smithy-rs 代码生成框架及其生成的 HTTP 客户端和服务器代码。
- 受影响产品:
- AWS SDK for Rust(所有版本早于
release-2026-06-02的版本均受影响)。 - 使用 smithy-rs 代码生成工具构建的自定义服务(所有版本早于
release-2026-06-01的版本均受影响)。
- AWS SDK for Rust(所有版本早于
- 修复版本:
- AWS SDK for Rust:升级至
release-2026-06-02或更高版本。 - 自定义 smithy-rs 服务:重新生成代码,使用
release-2026-06-01或更高版本的 smithy-rs 代码生成器。
- AWS SDK for Rust:升级至
风险分析
- 攻击向量:远程攻击者无需身份认证(CVSS 攻击向量为网络(AV:N),攻击复杂度低(AC:L),无需权限(PR:N),无需用户交互(UI:N))。
- 攻击后果:攻击者只需构造一个包含深度嵌套数据的极小请求,即可触发反序列化过程中的无限递归,导致目标进程栈空间耗尽并崩溃。这直接导致服务不可用,属于典型的拒绝服务(Denial of Service, DoS) 攻击。
- 严重性评估:根据 CVSS v4.0 评分向量(CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N),该漏洞的可用性影响(VA:H) 被评定为高,但机密性和完整性不受影响。综合来看,该漏洞对服务可用性构成严重威胁,尤其对于暴露在公网上的 AWS SDK for Rust 应用或基于 smithy-rs 构建的服务器,风险极高。
- 缓解措施:官方已发布修复版本,用户应尽快升级至指定版本。对于无法立即升级的环境,可考虑在应用层增加对请求数据深度的校验或限制,作为临时缓解方案。
🔍 技术细节
| 字段 | 值 |
|---|---|
| CVE ID | CVE-2026-15957 |
| CVSS 评分 | 8.7 🟠 |
| 严重程度 | 高危 |
| CVSS 向量 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| CWE 分类 | CWE-770 |
| 发布时间 | 2026-07-21 |
| 最后更新 | 2026-07-21 |
| 状态 | Received |
| 数据来源 | ff89ba41-3aa1-4d27-914a-91399e9639e5 |
🔗 参考链接
💬 评论