本文使用的 Docker 镜像
发布日期: 2026 年 10 月 20 日
风险等级: 严重(Critical)
漏洞编号: CVE-2026-77932 · CVE-2026-77933
涉及镜像: eosphorosai/dbgpt — 轩辕镜像 · Docker Hub · eosphorosai/dbgpt-openai — 轩辕镜像 · Docker Hub
CVSS: 9.8(Critical,CVSS 3.1);CVSS 4.0 为 9.3
披露时间: 2026 年 10 月公开
相关公告: VulnCheck · react-agent
一、漏洞概述
DB-GPT 是可以自托管的数据与模型应用。官方镜像包括 eosphorosai/dbgpt 和 eosphorosai/dbgpt-openai。两条都覆盖到 0.8.2,公开最新发布仍是 2026 年 8 月 26 日的 v0.8.2,没有新的修复版。
CVE-2026-77932: /api/v1/chat/react-agent 用模拟的身份函数处理请求头,调用者都会被当成管理员。ReAct 路径里的代码解释和 shell 解释没有沙箱。未认证的远程攻击者可以在 webserver 容器里以 root 执行 Python 或 bash,并连上使用默认凭据的数据库。
CVE-2026-77933: 默认 docker-compose.yml 把 MYSQL_ROOT_PASSWORD 写成固定值,公开仓库里可见 aa123456,并且让 root 从任意主机连接。3306 绑在所有接口上。拿到数据库超级权限之后,可以和上一条叠加,把影响扩出数据库。
官方 Compose 把 webserver 的 5670 发布到主机,镜像坐标常见 eosphorosai/dbgpt-openai:latest。Compose 还会拉起 MySQL。
二、漏洞状态
统计截止: 2026 年 10 月 20 日(UTC+8)
| 项目 | 状态 |
|---|---|
| 漏洞细节 | 已公开(NVD、Lasso、VulnCheck、官方 Compose) |
| 受影响版本 | ≤ 0.8.2 |
| 官方补丁 | 无。Hub 上 v0.8.2 与 latest 都还在 |
| CISA KEV | 未列入 |
| CVE | CVSS 3.1 | 要点 | 暴露面 |
|---|---|---|---|
| CVE-2026-77932 | 9.8 Critical | react-agent 不认证,解释器无沙箱,容器内 root 执行代码 | webserver 5670 可达 |
| CVE-2026-77933 | 9.8 Critical | Compose 写死 MySQL root 口令,3306 对所有接口开放 | 默认发布 3306,容器在同一网络 |
三、影响范围
1. 版本与发行形态
| 发行形态 | 受影响范围 | 修复 |
|---|---|---|
| DB-GPT | ≤ v0.8.2 | 尚无已发布修复版 |
eosphorosai/dbgpt、eosphorosai/dbgpt-openai | 标签 v0.8.2、latest 以及更早的 v0.8.x / v0.7.x | 不要把这些标签当成已修好 |
| Compose 中的 MySQL | 口令来自同一份默认 Compose,不是 MySQL 产品自身的版本缺陷 | 改掉固定口令,不要把 3306 映射到公网 |
Hub 上两个 DB-GPT 仓库的最新正式标签都是 v0.8.2(2026-08-26 那条发布线)。latest 与它同代,不能当作修复版。
2. 典型受影响场景
- 5670 对公网或办公网开放
- 按官方 Compose 把 3306 映射出来,root 口令仍是仓库里的固定值
- webserver 与数据库在同一个 Compose 网络里
只在本机回环使用、并且已经换成强随机数据库口令、又没有把 3306 映射出去时,远程面会小一些。react-agent 在修复前仍然不校验真实身份。
四、修复建议
1. 目前没有可升级到的修复版
不要把 eosphorosai/dbgpt:v0.8.2、eosphorosai/dbgpt-openai:latest 或同版本标签写成已修复。上游发布高于 0.8.2 且写明修好这两条的版本之后,再固定标签并重建。
Docker Hub: eosphorosai/dbgpt · eosphorosai/dbgpt-openai
轩辕镜像: eosphorosai/dbgpt · eosphorosai/dbgpt-openai
2. 立刻改掉默认部署(推荐)
- 撤掉 5670 和 3306 对公网的发布。5670 只留给需要的内网,并在前面加上自己的认证。
- 把
MYSQL_ROOT_PASSWORD换成强随机值,用密钥管理注入,不要把aa123456留在 Compose 里。改口令后重建数据库容器,并确认 root 不能再从任意地址登录。 - 在上游发出版本之前,关掉不需要的代码解释和 shell 解释。关掉工具不能代替产品补丁。
- 5670 或 3306 曾经对不可信网络开放的,按容器内命令和数据库可能已被使用处理:轮换库口令、应用密钥,并用干净数据目录重建。
官方 Compose:docker-compose.yml。
五、临时缓解措施
在修复版发布之前:
-
不要把 5670 暴露到公网
未认证即可走到无沙箱的解释器。 -
不要把 3306 映射到宿主机的所有接口
默认 root 口令是公开的。只让 webserver 所在的网络访问数据库。 -
不要用 v0.8.2 或 latest 滚动重启当作已修复
这两个标签仍在受影响范围内。
六、与轩辕镜像用户的相关说明
轩辕镜像提供的是镜像加速与拉取服务,不替代 DB-GPT 的版本修复。
- 站内页:eosphorosai/dbgpt、eosphorosai/dbgpt-openai。
- 加速拉取
v0.8.2或latest不会去掉未认证的 react-agent,也不会改掉 Compose 里的固定数据库口令。 - 配置与排错见 轩辕镜像使用手册、镜像拉取 FAQ。
七、参考链接
- NVD:CVE-2026-77932 · CVE-2026-77933
- Lasso:CVE-2026-77932
- VulnCheck:react-agent · MySQL 口令
- 官方 Compose:docker-compose.yml
- Docker Hub:eosphorosai/dbgpt · eosphorosai/dbgpt-openai
- 轩辕站内镜像页:eosphorosai/dbgpt · eosphorosai/dbgpt-openai
轩辕镜像安全团队
2026 年 10 月 20 日
评论交流
免责声明
本博客文章所提供的内容、技术方案、配置示例及部署指南等信息,仅供学习交流和技术参考使用。文章内容基于发布时的技术环境和版本信息编写,可能因时间推移、技术更新或环境差异而存在不适用的情况。
用户在参考本博客内容进行部署操作前,应当充分了解相关技术风险,并建议在测试环境中进行充分验证和测试,确认无误后再考虑在生产环境中使用。生产环境部署前,请务必进行数据备份,并制定相应的回滚方案。
用户因使用本博客内容进行部署操作而产生的任何损失、数据丢失、系统故障、安全风险或其他问题,均由用户自行承担全部责任。轩辕镜像官方不对因使用本博客内容而产生的任何直接或间接损失承担责任。
本免责声明的最终解释权归轩辕镜像官方所有。
