【漏洞预警】Dokku docker-options 经 Bash eval 在宿主机执行命令(CVE-2026-86002)
2026/10/15Docker漏洞预警轩辕镜像团队约 7 分钟阅读

【漏洞预警】Dokku docker-options 经 Bash eval 在宿主机执行命令(CVE-2026-86002)

Dokku 低于 0.38.25 时,具备应用级权限的用户可写入任意 Docker 选项。这些字符串进入 DOCKER_ARGS 后,在 build、deploy、run 时被 Bash eval 展开,命令替换会以 dokku 用户在宿主机执行(CVE-2026-86002,CVSS 9.0)。请把 dokku/dokku 升到 0.38.25 或更高。

本文使用的 Docker 镜像

发布日期: 2026 年 10 月 15 日
风险等级: 严重(Critical)
漏洞编号: CVE-2026-86002
涉及镜像: dokku/dokku — 轩辕镜像 · Docker Hub
CVSS: 9.0(Critical)
披露时间: 2026 年 10 月,Dokku 安全公告
相关公告: GHSA-fccf-j7qf-2xp9


一、漏洞概述

Dokku 是用 Docker 跑应用的轻量 PaaS。官方镜像是 dokku/dokku。

0.38.25 之前,docker-options 插件允许具备应用级权限的用户写入任意 Docker 选项字符串。这些字符串随后拼进 DOCKER_ARGS,在 build、deploy、run 时经 Bash eval 展开。选项里的命令替换会以 dokku 系统用户在宿主机上执行。

攻击者需要已经具备某个应用的 Dokku 权限,并且能通过 SSH 执行 docker-options。拿到的是 dokku 用户的命令执行,不是立刻变成 root。同机的 Docker 和应用数据会跟着暴露。多租户或共享的 Dokku 主机、对应用开放了 SSH 和 docker-options 的实例,风险更高。官方容器镜像如果挂载了宿主机 Docker socket,影响会再放大。


二、漏洞状态

统计截止: 2026 年 10 月 15 日(UTC+8)

项目状态
漏洞细节已公开(Dokku 安全公告、NVD)
漏洞类型docker-options 写入的字符串在宿主机经 Bash eval 展开
受影响版本低于 0.38.25
官方补丁0.38.25 及更高
前置条件应用级 Dokku 权限,且能经 SSH 执行 docker-options
CISA KEV未列入

三、影响范围

1. 版本与发行形态

发行形态受影响范围修复
Dokku 程序< 0.38.25≥ 0.38.25
官方镜像 dokku/dokku标签低于 0.38.25Docker Hub 已有 0.38.25,同系列还有更新的 0.38.31

GitHub 发行标签写作 v0.38.25。Docker Hub 上的镜像标签不带 v,是 0.38.25。

2. 典型受影响场景

  • 一台 Dokku 上有多个应用所有者,应用级账号可以改自己的 docker options
  • 官方镜像把宿主机的 Docker socket 挂进容器
  • 构建和部署会定期跑,写入的选项会在下一次 build、deploy 或 run 时展开

只有管理员能执行 docker-options、且没有不受信任的应用协作者时,利用条件会少一些。eval 展开本身在 0.38.25 之前仍然存在。


四、修复建议

1. 升级到 0.38.25 或更高(推荐)

形态最低建议版本
dokku/dokku0.38.25

Hub 上 0.38.31 同样高于修复线,可以选用。

Docker Hub: dokku/dokku

轩辕镜像: dokku/dokku

bash
docker pull docker.xuanyuan.run/dokku/dokku:0.38.25

将 Compose 或运行参数中的镜像改为上述坐标后,重新创建容器。升级后确认 Dokku 版本不低于 0.38.25。用安装包而不是镜像部署的主机,按 v0.38.25 发行说明 升级宿主机上的 Dokku。

镜像标签不带 v。v0.38.25 在 Hub 上不存在。

2. 升级后核对已写入的 docker options

应用级用户曾经能改 docker options 的,看一遍各应用现有的选项字符串,去掉不属于 Docker 参数的内容。共享主机还要轮换 dokku 用户和同机应用所能访问的凭据。


五、临时缓解措施

在完成升级之前:

  1. 收紧谁能执行 docker-options
    不把应用级 SSH 开给不可信协作者。低于 0.38.25 时,能写选项的人可以在下一次构建或部署时在宿主机上执行命令。

  2. 不要把宿主机 Docker socket 挂进不受信任的 Dokku 容器
    socket 挂载会让容器里的 dokku 用户更容易碰到宿主机上的 Docker。

  3. 先升级再接受新的应用协作者
    只审计现有选项不能代替 0.38.25。新写入的字符串在修复前仍会进入 eval。


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

轩辕镜像提供的是镜像加速与拉取服务,不替代 Dokku 的版本升级。

  • 站内页:dokku/dokku。拉取命令为 docker.xuanyuan.run/dokku/dokku:0.38.25。
  • 加速拉取不会自动变成 0.38.25。请把标签固定为 0.38.25 或更高,例如已存在的 0.38.31。
  • 配置与排错见 轩辕镜像使用手册、镜像拉取 FAQ。

七、参考链接


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

评论交流

加载中

免责声明

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

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

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

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

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