【漏洞预警】DB-GPT 未认证可在容器内执行代码,默认 Compose 写死 MySQL root 口令(CVE-2026-77932 / 77933)
2026/10/20Docker漏洞预警轩辕镜像团队约 10 分钟阅读

【漏洞预警】DB-GPT 未认证可在容器内执行代码,默认 Compose 写死 MySQL root 口令(CVE-2026-77932 / 77933)

DB-GPT 0.8.2 及更早,/api/v1/chat/react-agent 把调用者都当成管理员,代码和 shell 解释器没有沙箱,未认证即可在 webserver 容器内以 root 执行命令(CVE-2026-77932,CVSS 9.8)。官方 docker-compose.yml 还把 MySQL root 口令写成固定值,并把 3306 绑到所有接口(CVE-2026-77933,CVSS 9.8)。公开标签最新仍是 v0.8.2,没有已发布的修复版。

本文使用的 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未列入
CVECVSS 3.1要点暴露面
CVE-2026-779329.8 Criticalreact-agent 不认证,解释器无沙箱,容器内 root 执行代码webserver 5670 可达
CVE-2026-779339.8 CriticalCompose 写死 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. 立刻改掉默认部署(推荐)

  1. 撤掉 5670 和 3306 对公网的发布。5670 只留给需要的内网,并在前面加上自己的认证。
  2. 把 MYSQL_ROOT_PASSWORD 换成强随机值,用密钥管理注入,不要把 aa123456 留在 Compose 里。改口令后重建数据库容器,并确认 root 不能再从任意地址登录。
  3. 在上游发出版本之前,关掉不需要的代码解释和 shell 解释。关掉工具不能代替产品补丁。
  4. 5670 或 3306 曾经对不可信网络开放的,按容器内命令和数据库可能已被使用处理:轮换库口令、应用密钥,并用干净数据目录重建。

官方 Compose:docker-compose.yml。


五、临时缓解措施

在修复版发布之前:

  1. 不要把 5670 暴露到公网
    未认证即可走到无沙箱的解释器。

  2. 不要把 3306 映射到宿主机的所有接口
    默认 root 口令是公开的。只让 webserver 所在的网络访问数据库。

  3. 不要用 v0.8.2 或 latest 滚动重启当作已修复
    这两个标签仍在受影响范围内。


六、与轩辕镜像用户的相关说明

轩辕镜像提供的是镜像加速与拉取服务,不替代 DB-GPT 的版本修复。


七、参考链接


轩辕镜像安全团队
2026 年 10 月 20 日

评论交流

加载中

免责声明

本博客文章所提供的内容、技术方案、配置示例及部署指南等信息,仅供学习交流和技术参考使用。文章内容基于发布时的技术环境和版本信息编写,可能因时间推移、技术更新或环境差异而存在不适用的情况。

用户在参考本博客内容进行部署操作前,应当充分了解相关技术风险,并建议在测试环境中进行充分验证和测试,确认无误后再考虑在生产环境中使用。生产环境部署前,请务必进行数据备份,并制定相应的回滚方案。

用户因使用本博客内容进行部署操作而产生的任何损失、数据丢失、系统故障、安全风险或其他问题,均由用户自行承担全部责任。轩辕镜像官方不对因使用本博客内容而产生的任何直接或间接损失承担责任。

本免责声明的最终解释权归轩辕镜像官方所有。

最后更新:2026/10/20
官方技术交流群:问题咨询请:提交工单
专业版 · 高速稳定拉取镜像
50GB 仅 ¥8/年
高速镜像下载在线技术支持99.95% SLA 保障付费会员免广告