本文使用的 Docker 镜像
发布日期: 2026 年 10 月 14 日
风险等级: 严重(Critical)
漏洞编号: CVE-2026-110130 · CVE-2026-110112 · CVE-2026-110255
涉及镜像: fnsys/dockhand — 轩辕镜像 · Docker Hub
CVSS: 10.0(Critical,CVE-2026-110130)
披露时间: 2026 年 10 月 14 日进入 NVD,同日公开三条公告
相关公告: GHSA-r3mg-r5vm-3v6w
一、漏洞概述
Dockhand 是连到 Docker 主机上的管理界面。官方镜像是 fnsys/dockhand。2026 年 10 月 14 日,三条高危同一天进入 NVD。升到 1.0.50 或更高可以一次盖住。
最严重的一条不需要登录。全局鉴权把以 .js、.css 等静态资源后缀结尾的路径直接跳过认证,/api 下面的路径也算在内。用户变更接口对未认证调用方直接放开。远程攻击者可以重置 admin 或任意本地用户的密码,接管账户后操作这台 Dockhand 所连接的容器、Compose、镜像和主机文件。
另外两条要额外条件。配置了 OIDC、且身份提供方是多租户共享(例如 Microsoft Entra ID)时,登录没有正确校验 iss、aud、nonce、exp,另一租户的管理员可以重建被映射的 admin 组,以 Dockhand 管理员身份登录。已登录并且能访问模板或 Compose 接口的用户,可以通过仓库 URL 或 stackfile 让服务端拉取任意地址,再从 Compose 响应里读回内容,用来访问内网服务或云元数据。
管理面放到公网时,第一条的暴露面就是整个互联网。
二、漏洞状态
统计截止: 2026 年 10 月 14 日(UTC+8)
| 项目 | 状态 |
|---|---|
| 漏洞细节 | 已公开(Finsys 安全公告、NVD) |
| 建议版本 | 1.0.50 及更高,三条一起离开受影响区间 |
| CISA KEV | 未列入 |
| CVE | CVSS | 要点 | 受影响版本 | 单条修复线 |
|---|---|---|---|---|
| CVE-2026-110130 | 10.0 Critical | 静态后缀跳过认证,未认证即可重置本地用户密码,进而操作所连 Docker | 低于 1.0.45 | ≥ 1.0.45 |
| CVE-2026-110112 | 8.1 High | OIDC 未校验 iss、aud、nonce、exp。共享多租户 IdP 上,其他租户管理员可登录为 Dockhand 管理员 | 1.0.49 及更早 | ≥ 1.0.50 |
| CVE-2026-110255 | 8.5 High | 已登录用户经仓库 URL 或 stackfile 让服务端拉取任意 URL,并在 Compose 响应中读回内容 | 1.0.42 及更早 | ≥ 1.0.43 |
CVE-2026-110112 只影响已经配置 OIDC、且 IdP 为多租户共享的实例。CVE-2026-110255 需要已登录,并且账号能访问模板或 Compose 接口。CVE-2026-110130 没有这些前提。
三、影响范围
1. 版本与发行形态
| 发行形态 | 受影响范围 | 修复 |
|---|---|---|
| Dockhand | 低于 1.0.50 时,至少仍有一条未修 | ≥ 1.0.50 |
官方镜像 fnsys/dockhand | 标签低于 v1.0.50 | Docker Hub 已有 v1.0.50,以及更新的 v1.0.53 |
停在 1.0.45 到 1.0.49 之间时,密码重置和 Compose 回显那两条已经过了各自的修复线,OIDC 那条仍在。三条一起处理时,直接升到 1.0.50 或更高。
2. 典型受影响场景
- 管理端口对公网、办公网或不可信网络开放,版本低于 1.0.45
- 使用 Entra ID 或其他多租户共享 IdP 做 OIDC,版本低于 1.0.50
- 普通登录用户可以打开模板或 Compose 生成,版本低于 1.0.43,服务端还能访问云元数据或内网
管理面只在本机回环上、且版本已经不低于 1.0.50 时,不在这三条的修复线以下。
四、修复建议
1. 升级到 v1.0.50 或更高(推荐)
| 形态 | 最低建议版本 |
|---|---|
fnsys/dockhand | v1.0.50 |
Hub 上 v1.0.53 同样高于三条修复线,可以选用。
Docker Hub: fnsys/dockhand
轩辕镜像: fnsys/dockhand
bashdocker pull docker.xuanyuan.run/fnsys/dockhand:v1.0.50
将 Compose 或运行参数中的镜像改为上述坐标后,重新创建容器。升级后确认界面或进程版本不低于 1.0.50。
镜像标签带 v 前缀。1.0.50 这种不带 v 的标签在 Hub 上不存在。
2. 升级后处理可能已被重置的账户
版本曾经低于 1.0.45、且管理端口对不可信网络开放过的,按管理员密码可能已被重置处理:在新版本上重设本地用户口令,轮换这台 Dockhand 所能访问的 Docker 主机凭据,并核对容器、Compose 和挂载文件有没有异常变更。
配置过 OIDC 的,升级到 1.0.50 或更高之后让管理员重新登录。Compose 接口曾经对不可信登录用户开放、且版本低于 1.0.43 的,轮换该环境能被服务端访问到的云元数据凭据和内网令牌。
五、临时缓解措施
在完成升级之前:
-
管理面只放内网或 VPN
不要把 Dockhand 端口发布到公网。低于 1.0.45 时,未认证攻击者可以重置密码。 -
多租户共享 IdP 先停用 OIDC 登录
低于 1.0.50 且 IdP 是 Entra ID 这类多租户服务时,其他租户的管理员有机会登录成本地管理员。 -
收紧谁能使用模板和 Compose 接口
低于 1.0.43 时,能打开这些接口的登录用户可以让服务端去拉取任意 URL 并读回内容。限制接口不能代替升级。
六、与轩辕镜像用户的相关说明
轩辕镜像提供的是镜像加速与拉取服务,不替代 Dockhand 的版本升级。
- 站内页:fnsys/dockhand。拉取命令为
docker.xuanyuan.run/fnsys/dockhand:v1.0.50。 - 加速拉取不会自动变成 1.0.50。请把标签固定为 v1.0.50 或更高,例如已存在的 v1.0.53。
- 配置与排错见 轩辕镜像使用手册、镜像拉取 FAQ。
七、参考链接
- Finsys:GHSA-r3mg-r5vm-3v6w(CVE-2026-110130)
- Finsys:GHSA-h4vc-h76x-c279(CVE-2026-110112)
- Finsys:GHSA-f2mx-74xq-g4p9(CVE-2026-110255)
- NVD:CVE-2026-110130
- NVD:CVE-2026-110112
- NVD:CVE-2026-110255
- Docker Hub:fnsys/dockhand
- 轩辕站内镜像页:fnsys/dockhand
轩辕镜像安全团队
2026 年 10 月 14 日
评论交流
免责声明
本博客文章所提供的内容、技术方案、配置示例及部署指南等信息,仅供学习交流和技术参考使用。文章内容基于发布时的技术环境和版本信息编写,可能因时间推移、技术更新或环境差异而存在不适用的情况。
用户在参考本博客内容进行部署操作前,应当充分了解相关技术风险,并建议在测试环境中进行充分验证和测试,确认无误后再考虑在生产环境中使用。生产环境部署前,请务必进行数据备份,并制定相应的回滚方案。
用户因使用本博客内容进行部署操作而产生的任何损失、数据丢失、系统故障、安全风险或其他问题,均由用户自行承担全部责任。轩辕镜像官方不对因使用本博客内容而产生的任何直接或间接损失承担责任。
本免责声明的最终解释权归轩辕镜像官方所有。
