【高危漏洞】CVE-2026-23947:Orval 任意代码执行漏洞分析
漏洞概述
Orval 是一个用于从 OpenAPI v3 或 Swagger v2 规范生成类型安全的 JavaScript/TypeScript 客户端的工具。在版本 7.10.0 至 8.0.2(不含)之间,存在一个高危任意代码执行漏洞。攻击者可通过构造恶意的 OpenAPI 规范文件,在生成客户端代码时注入并执行任意 TypeScript/JavaScript 代码,从而对使用该工具的开发环境或构建流程构成严重威胁。
漏洞详情
- CVE 编号:CVE-2026-23947
- 漏洞类型:命令注入(CWE-77)
- CVSS 评分:8.9(HIGH)
- 影响版本:Orval 7.10.0 至 8.0.1(含)
影响范围
所有使用 Orval 版本 7.10.0 至 8.0.1 的项目,若其 OpenAPI/Swagger 规范来自不可信来源(例如第三方 API 提供方或用户上传),均可能受到此漏洞影响。漏洞触发点位于 @orval/core 模块中处理 x-enumDescriptions 字段的 getEnumImplementation() 函数,该字段内容未经适当转义即被嵌入生成的 TypeScript 枚举代码中。
风险分析
由于漏洞允许通过 OpenAPI 规范中的 x-enumDescriptions 字段注入任意代码,攻击者可构造恶意规范文件,在开发者运行 Orval 生成客户端时执行任意命令。该漏洞无需用户交互、无需身份认证,且可通过网络远程触发,具备高完整性、机密性和可用性影响(CVSS: VC:H/VI:H/VA:H)。目前已有概念验证(Proof-of-Concept)公开,表明该漏洞具有实际可利用性。
修复建议
- 立即升级 Orval 至 8.0.2 或更高版本,该版本已修复此漏洞。
- 在无法立即升级的情况下,应严格限制 OpenAPI 规范的来源,仅使用可信、经过审查的规范文件,避免处理来自不可信第三方的 API 定义。
