(10分)CVE-2026-53988:DockhandDocker面板认证绕过

admin 2026-10-03 04:49:00 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: DockhandDocker面板存在严重认证绕过漏洞CVE-2026-53988,CVSS10.0分,影响1.0.40之前版本。未认证请求可触发任意栈重部署,配合可写git分支可升级为容器逃逸接管宿主机。建议立即升级至1.0.40版本,补配webhooksecret,避免面板暴露公网,并收紧git分支写权限。 综合评分: 85 文章分类: 漏洞分析,应急响应,安全工具,红队,安全建设


(10分) CVE-2026-53988:Dockhand Docker面板认证绕过

红队安全圈 红队安全圈

红队安全圈

2026年9月30日 08:11 重庆

在小说阅读器读本章

去阅读

在公众号小说中沉浸阅读

CVSS 打满 10 分的 Docker 面板认证绕过:一个未认证请求就能触发任意栈重部署,叠加分支写权限可直接拿下宿主机。

今天早上刚出的一个满分漏洞,值得所有自建 Docker 面板的同学立刻看一眼。

Dockhand(Finsys 出品的开源 Docker 管理面板,支持 Compose 编排和 Git 仓库自动部署)在 1.0.40 之前,git webhook 端点存在认证绕过,CVSS 3.1 直接打满 10.0:网络可达、低复杂度、无需任何权限、无需用户交互,一个未认证的 HTTP 请求就能触发任意 Compose 栈重新部署。

更麻烦的是这个洞的升级路径:从触发重部署,到拿到宿主机 root,中间只隔一个可写的 git 分支。

01  漏洞速览

漏洞编号CVE-2026-53988

影响产品Dockhand < 1.0.40

漏洞类型关键功能缺失认证(CWE-306)

危害等级CVSS 3.1 10.0 / CVSS 4.0 9.2

攻击前提可访问 webhook 端点且栈未配 secret

影响面未认证触发重部署;可升级为容器逃逸接管宿主机

02  漏洞成因

根因在 webhook secret 的空值判断逻辑:当某个栈没有配置 webhook secret 时,代码里的守卫条件对 null 直接放行——本意可能是”未配置就不校验签名”,实际效果是任何未认证请求都能通过这一关。

通过之后,请求会直接驱动两条敏感链路:git clone(拉取栈跟踪的仓库)和 docker compose(重建栈)。这意味着攻击者甚至不需要知道栈内部结构,只要请求能到达端点,重部署就会真实发生。

栈 ID 是顺序数字,枚举成本几乎为零——这也是它被评到 S:C(影响范围改变)的原因:打的是一个组件,波及的是整个编排面。

03  影响范围

受影响:Dockhand 1.0.40 之前的所有版本。已修复:1.0.40(官方已发布 v1.0.40 release)。

如果面板暴露公网(很多同学把 Docker 面板直接挂端口方便自己用),风险等级最高;仅内网部署也应尽快升级,内网横向同样能触达。

04  利用分析

目前没有公开 PoC,但从成因可以做很清晰的危害推演:

第一步,探测存活面板,定位 webhook 端点路径。

第二步,枚举顺序栈 ID(1、2、3……),逐个发送不带签名的 webhook 请求。

第三步,触发重部署:对未配置 secret 的栈,每次请求触发一次 git clone + docker compose 重部署。大量并发重部署可以直接把宿主机资源打满,形成 DoS。

关键升级:如果攻击者对栈跟踪的 git 分支有写权限(比如组织里某个公开可 fork 的仓库、或者被攻陷的开发者账号),提交一份带 privileged 挂载的 docker-compose.yml,再触发重部署——容器以特权模式跑攻击者的编排文件,容器逃逸、接管宿主机一步到位。

前三步不需要任何凭据,关键升级是把这个洞从”骚扰”变成”完整沦陷”的桥梁。防守侧要按最坏情况对待:只要分支可写,就当宿主机已丢来处置。

05  检测与排查

确认版本:查看 dockhand 镜像 tag,低于 1.0.40 即受影响。

docker ps | grep dockhand

排查所有栈是否配置了 webhook secret——这是当前唯一的临时缓解。

检查 webhook 端点是否暴露公网,未使用应直接关闭端口映射。

审计 git 仓库的分支写权限,收紧到最小必要范围。

06  修复建议

  1. 升级到 Dockhand 1.0.40 或更高版本;

  2. 升级前为每个栈补配 webhook secret;

  3. 面板和 webhook 端点不要直接暴露公网,套一层 VPN 或反代加认证;

  4. 遵循最小权限:跟踪 git 仓库的分支写权限与面板部署权限分离。

07  红队视角

这类 Docker 管理面板(Dockhand、Portainer、Dockge 一类)一直是红队眼里的高价值目标——它们天然持有 Docker socket,等价于宿主机 root。历史上 Portainer 也出过类似问题,模式几乎一样:面向”方便”设计的集成端点(webhook、API),认证强度远低于主界面。

实战侦察时,Docker 面板的指纹识别非常容易,管理端口暴露的资产值得单独建档。对一个 CVSS 10 且利用门槛接近于零的洞,不建议等 PoC 出现再动——按攻防双方的时间差,补丁已就位而未升级的实例,就是接下来几天最肥的目标。

08  POC 链接

暂无公开 PoC,以下为官方修复与权威通告地址:

https://github.com/Finsys/dockhand/releases/tag/v1.0.40

https://github.com/advisories/GHSA-h855-x6jx-cfw2

https://nvd.nist.gov/vuln/detail/CVE-2026-53988

https://www.vulncheck.com/advisories/dockhand-unauthenticated-webhook-trigger-via-git-webhook-endpoints

说明:官方修复版本 release 与漏洞通告页面

如果文章对您有收获,欢迎关注、点赞、推荐、转发。

— END —


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。

本文转载自:红队安全圈 红队安全圈 红队安全圈《(10分) CVE-2026-53988:Dockhand Docker面板认证绕过》

评论:0   参与:  0