本文使用的 Docker 镜像
发布日期: 2026 年 10 月 20 日
风险等级: 高危(High)
漏洞编号: CVE-2026-112264
涉及镜像: bentoml/bento-server — 轩辕镜像 · Docker Hub · bentoml/model-server — 轩辕镜像 · Docker Hub
CVSS: 8.5(High,CVSS 4.0);CVSS 3.1 为 7.8
披露时间: 2026 年 10 月公开
相关公告: GHSA-rq23-h86h-7v4x
一、漏洞概述
问题在 pip 包 bentoml 的 containerize 构建路径,不是某个正在运行的服务镜像上的远程接口。
1.4.39 及更早版本里,遗留模板 base.j2 对 docker.env 的字典键没有做换行消毒。配置使用 docker.base_image、因而走这条遗留模板时,恶意的 bentofile.yaml 或 bento 归档可以在键里插入换行,让 bentoml containerize 写出包含任意 RUN 的 Dockerfile。
受害者执行构建时,这些 RUN 会在 docker build 所在主机上、以 Docker daemon 的权限执行。构建机密可能被读走,随后生成的镜像也可能被改掉。CI 和会构建不可信归档的机器风险更高。触发需要有人实际跑这次 containerize。
更早的 CVE-2026-44346 修的是 base_v2.j2 里 envs[*].name。遗留的 base.j2 没有一起修好。
二、漏洞状态
统计截止: 2026 年 10 月 20 日(UTC+8)
| 项目 | 状态 |
|---|---|
| 漏洞细节 | 已公开(GitHub Advisory Database、NVD) |
| 漏洞类型 | 遗留 Dockerfile 模板对 docker.env 键未消毒,构建时写入任意 RUN |
| 受影响版本 | BentoML ≤ 1.4.39 |
| 官方补丁 | 无。GitHub tags 与 PyPI 最新仍是 1.4.39,公告未给出已修复版本 |
| 前置条件 | 使用 docker.base_image、走遗留 base.j2,并对不可信 bentofile 或归档执行 bentoml containerize |
| CISA KEV | 未列入 |
三、影响范围
1. 发行形态
| 形态 | 与这条漏洞的关系 |
|---|---|
pip 包 bentoml ≤ 1.4.39 | 受影响的是 containerize |
bentoml/bento-server | 相关的基础镜像坐标,已不再作为当前发行。拉取它不会修好 1.4.39 的模板 |
bentoml/model-server | 页面对应 0.13.x。不是 1.4.39 的修复包 |
不要按一个尚未发布的版本号去升级。Hub 上这两个仓库的可见标签分别停在 1.0.0a7 与 0.13.2 一带,都不能当成 CVE-2026-112264 的修复标签。
2. 典型受影响场景
- CI 对外部提交的 bentofile 或 bento 归档执行
bentoml containerize - 开发机打开不可信项目后执行构建
- 构建机能读到 build secrets,或构建结果会被推到镜像仓库
只运行已经构建好的服务镜像、本机不执行 containerize 时,不走这条构建路径。
四、修复建议
1. 目前没有可升级到的修复版
公开渠道最新仍是 1.4.39。在上游发布高于 1.4.39 的版本,并且发行说明写明修好遗留模板之前,不要把任何一个标签写成已修复。
关注 GHSA-rq23-h86h-7v4x 和 BentoML 的后续发行。出现明确修复版之后,再把 pip 包和构建任务固定到该版本。
2. 已经对不可信归档执行过 containerize 时
按构建主机和产物镜像可能已被改动处理:轮换该机构建时能读到的凭据,丢弃来源不可信的镜像,用干净环境重新构建。
五、临时缓解措施
在修复版发布之前:
-
不要对不可信 bentofile 或 bento 归档执行
bentoml containerize
注入的RUN会在 docker build 那台主机上执行。 -
CI 不要默认构建外部提交的 Bento 归档
把构建限制在已审核的配置上。这不能补上base.j2的换行消毒。 -
不要用
bentoml/bento-server或bentoml/model-server代替 pip 包升级
这两个坐标不是 1.4.39 的修复发布。
六、与轩辕镜像用户的相关说明
这条修复要等 BentoML 的 pip 包发布高于 1.4.39 的版本。加速拉取 bentoml/bento-server 或 bentoml/model-server 不会更换构建机上的 bentoml 包,也不会消掉遗留模板里的问题。
- 站内页:bentoml/bento-server、bentoml/model-server。
- 配置与排错见 轩辕镜像使用手册、镜像拉取 FAQ。
七、参考链接
- GitHub Advisory Database:GHSA-rq23-h86h-7v4x
- NVD:CVE-2026-112264
- Docker Hub:bentoml/bento-server · bentoml/model-server
- 轩辕站内镜像页:bentoml/bento-server · bentoml/model-server
轩辕镜像安全团队
2026 年 10 月 20 日
评论交流
免责声明
本博客文章所提供的内容、技术方案、配置示例及部署指南等信息,仅供学习交流和技术参考使用。文章内容基于发布时的技术环境和版本信息编写,可能因时间推移、技术更新或环境差异而存在不适用的情况。
用户在参考本博客内容进行部署操作前,应当充分了解相关技术风险,并建议在测试环境中进行充分验证和测试,确认无误后再考虑在生产环境中使用。生产环境部署前,请务必进行数据备份,并制定相应的回滚方案。
用户因使用本博客内容进行部署操作而产生的任何损失、数据丢失、系统故障、安全风险或其他问题,均由用户自行承担全部责任。轩辕镜像官方不对因使用本博客内容而产生的任何直接或间接损失承担责任。
本免责声明的最终解释权归轩辕镜像官方所有。
