漏洞总结:OpenBao OCI 插件提取中的无界复制导致拒绝服务 (DoS) 漏洞概述 在 OpenBao 的 OCI 插件下载器中, 函数通过流式解压从容器镜像中提取插件二进制文件。该操作对写入磁盘的数据量没有上限。攻击者可以控制或篡改 OCI 注册表,上传包含“解压炸弹”的镜像,导致磁盘空间耗尽。SHA256 完整性校验仅在解压完成后进行,此时破坏已发生,攻击者可替换合法镜像而无需更改签名。 影响范围 受影响版本: 修复版本: 严重性:低(CVSS 3.1 评分 3.1/10) 攻击向量:网络 攻击复杂度:高 所需权限:无 用户交互:需要 影响: - 服务拒绝:OpenBao 服务器磁盘耗尽 - 级联故障:同机服务(如数据库)因磁盘满而失效 - 恢复困难:若进程被杀,部分文件残留且未清理 - 重复利用:重启或触发 SIGHUP 且 时炸弹会重新下载 修复方案 1. 在打开输出文件前,验证 是否超过可配置的最大值。 2. 使用 包装 tar 读取器,并检查写入字节数。 3. 为 添加 配置字段供操作员控制(默认值:1 GiB)。 POC 代码 1. 创建解压炸弹二进制文件 2. 配置受害者 OpenBao 使用恶意注册表 3. 触发 DoS 启动 OpenBao 或触发 SIGHUP,加载 OCI 镜像,导致磁盘耗尽。 --- CVE ID: CVE-2025-99396 报告者: ntrhax 弱点分类: CWE-400, CWE-674, CWE-770