Oligo 发现 TorchServe 多个漏洞,允许远程执行代码
以色列安全公司 Oligo 发现了用于托管 PyTorch 模型的工具 TorchServe 中的多个漏洞,攻击者可利用这些漏洞在受影响的系统上执行任意代码。这些漏洞已在 TorchServe 0.8.2 版本中修复。
漏洞背景
PyTorch 是当前最热门的 AI 框架,广泛应用于机器学习和企业 AI 项目中。Oligo 的研究人员发现,TorchServe 默认配置缺乏身份验证,攻击者可以利用这些新发现的严重漏洞远程执行高权限代码。
漏洞详情
Oligo 研究人员发现了三个独立的漏洞,统称为 ShellTorch,影响了数千个公开暴露的 TorchServe 实例,其中包括多家财富 500 强公司的系统。
- CVE-2023-43654
该漏洞自 TorchServe 0.1.0 版本起存在,原因是默认配置中缺乏对下载模型域名输入的验证。攻击者可通过此漏洞从任意 URL 加载恶意模型,导致任意代码执行。 - CVE-2022-1471
该漏洞与 TorchServe 使用的不安全 YAML 依赖项(SnakeYAML)相关。当加载 PyTorch 模型时,TorchServe 会使用 SnakeYAML 反序列化 YAML 配置文件。结合第一个漏洞,攻击者可注入任意 YAML 文件,触发不安全反序列化攻击,导致任意代码执行。 - 管理控制台漏洞
TorchServe 管理控制台默认绑定到所有 IP 地址,而非仅限于本地回环接口,且未配置身份验证。这意味着任何人均可访问默认配置的 TorchServe 实例。
漏洞影响
这些漏洞的组合允许攻击者无需身份验证即可远程执行高权限代码,从而访问 AI 基础设施的核心,查看、修改、窃取或删除 AI 模型。
修复建议
- 升级到 TorchServe 0.8.2
该版本已修复上述漏洞,建议用户尽快升级。 - 配置管理控制台
在config.properties中设置management_address=http://127.0.0.1:8081,禁止外部访问管理控制台。 - 限制可信域名
在config.properties中设置allowed_urls属性,限制模型下载的域名范围,以增强安全性。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。