关键漏洞信息 漏洞名称 Zip slip via authenticated endpoint 发布者和时间 发布者: hallyworld 发布时间: 4 days ago 影响版本和修复版本 受影响版本: 3.6.8 已修复版本: 2.9.52, 3.6.8 严重性 CVSS v3 基本指标: 8.8/10 攻击向量: 网络 攻击复杂度: 低 所需权限: 低 用户交互: 无 范围: 不变 机密性影响: 高 完整性影响: 高 可用性影响: 高 CVE ID CVE-2023-53513 弱点类型 CWE-24 描述 任何具有 juju 帐户的用户都可以通过 /charms 端点上传 charm。无需特定权限,只需用户存在于控制器用户数据库中即可。利用 zip slip 漏洞的 charm 可能允许用户访问运行受影响 charm 的机器。 细节 控制器暴露了三个与 charm 相关的 HTTP API 端点: PUT/GET https://:17070/model/:charms/ POST/GET https://:17070/model/:charms GET https://:17070/charms 这些端点需要基本的 HTTP 认证凭据,并接受任何有效的用户。没有特定权限或访问授权的用户可以调用所有这些 API。 复现步骤 1. 使用 juju bootstrap 初始化环境。 2. 添加用户并更改密码。 3. 下载任意 charm 的 ZIP 文件。 4. 安装并运行工具生成新的 SSH 密钥对。 5. 将新创建的公钥内容复制到名为 authorized_keys 的文件中。 6. 使用命令注入恶意路径到 ZIP 文件。 7. 发送 PUT 请求到目标控制器上的模型。 工作原理 charm 处理器注册在这里: charm 处理器代码 charm 处理器代码 唯一需要的认证是传入请求必须是经过身份验证的用户: 认证检查代码 但没有进行特定的权限检查。 解决方案 目前没有已知的解决方法。 参考 F-02