关键信息 漏洞概述 漏洞类型: 不安全的反序列化导致远程代码执行 (RCE) 受影响版本: >=1.0, <1.4.8 修复版本: 1.4.8 CVE ID: CVE-2023-3275 CVSS v3 基本指标: - 攻击复杂度: 低 - 特权要求: 无 - 用户交互: 无 - 范围: 不变 - 机密性影响: 高 - 完整性影响: 高 - 可用性影响: 高 漏洞描述 BentoML 的 runner server 存在不安全的反序列化问题。通过设置特定的请求头和参数,攻击者可以在服务器上执行任意未授权的代码,从而获得初始访问权限并窃取服务器上的数据和信息。 PoC (概念验证) 1. 创建一个简单的模型并保存。 2. 使用 构建模型。 3. 创建 来托管模型。 4. 使用 Python 脚本利用不安全的反序列化漏洞。 根因分析 当处理 BentoML runner server 请求时,如果请求头 等于 1,将调用 函数。 和 头用于构建 类,该类包含来自请求体的数据。 攻击者可以通过构造包含恶意负载的 对象来触发 方法,从而执行任意命令。 影响 攻击者可以执行命令并将命令输出发送到外部。通过替换 命令为任何 OS 命令,此不安全的反序列化漏洞将授予攻击者远程 shell 访问权限,并可能导致对系统资源的完全控制。