Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-44848-PoC — CVE-2026-44848 的 PoC:Portainer 在 Docker 插件端点缺少授权,导致主机 RCE(GHSA-rrmm-9v76-h3p4)。仅依赖标准库的 Python 实现。 | Kitploit
工具/GitHubGitHub/boreas37/cve-2026-44848-poc
身份验证与授权容器安全漏洞分析漏洞利用Web应用程序漏洞利用API安全测试
GitHubboreas37/cve-2026-44848-poc

CVE-2026-44848-PoC

CVE-2026-44848 的 PoC:Portainer 在 Docker 插件端点缺少授权,导致主机 RCE(GHSA-rrmm-9v76-h3p4)。仅依赖标准库的 Python 实现。

查看仓库
1天前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-44848 — Portainer:Docker 插件端点缺少授权 → 主机 RCE

CVE-2026-44848 的概念验证(PoC),这是 Portainer 中的一个缺失身份验证(CWE-862)漏洞,允许拥有 Docker 端点访问权限的非管理员用户执行特权 Docker 插件操作 → 完整的主机 RCE。

GitHub 安全公告:GHSA-rrmm-9v76-h3p4 · CVSS 9.4(严重)。

根本原因

Portainer 通过按资源处理器代理请求并执行授权检查,在 Docker API 之上实施基于角色的访问控制(RBAC)。Docker 插件管理端点(/plugins/*)未注册处理器,因此授权层永远不会对它们运行。结果,标准用户(角色 2)——或任何被授予端点级访问权限的角色——都可以直接对底层 Docker 守护进程调用特权插件操作:

  • POST /plugins/pull — 从任何注册表拉取任意插件
  • 插件请求特权,包括 CAP_SYS_ADMIN 和主机路径挂载
  • POST /plugins/{name}/enable — Docker 以这些能力在主机上以 root 身份运行插件 → 完全访问主机文件系统,等同于 Docker 主机上的 root

受影响版本

  • >= 2.33.0, < 2.33.8
  • >= 2.39.0, < 2.39.2
  • >= 2.40.0, < 2.41.0

PoC 演示的内容

该漏洞的核心、可安全复现的原始基元:标准(非管理员)用户无需授权即可通过 Portainer 的代理访问特权 /plugins/* Docker API。 它针对真实的易受攻击 Portainer 实例端到端地演示了这一点:

  1. 通过 POST /api/users/admin/init 引导管理员(容忍 409 并回退到登录)。
  2. 创建标准用户(bob,角色 2),通过重置其密码来容忍 409。
  3. 列出 Docker 端点(如果不存在,则通过 multipart POST /api/endpoints 自动创建本地套接字端点),并通过 PUT /api/endpoints/{id} UserAccessPolicies 授予 bob 访问权限。
  4. 以 bob(非管理员用户)身份登录,并使用 bob 的令牌调用 GET /api/endpoints/1/docker/plugins。
  5. HTTP 200 → 标准用户访问到了特权端点 → 认证绕过已确认。

使用方法

root@kitploit:~
# Defaults: https://localhost:9444, random admin password
python3 portainer_plugin_poc.py

# Explicit target + admin password + command
python3 portainer_plugin_poc.py --url https://localhost:9444 --admin-pass 'P@ssw0rd!' --command "id; hostname"

# Write a JSON summary
python3 portainer_plugin_poc.py --url https://localhost:9444 --output out.json

python3 portainer_plugin_poc.py --help

仅需 Python 3 标准库。TLS 验证已禁用(自签名实验证书)。

实验环境(复现)

root@kitploit:~
docker run -d --name portainer-lab-cve44848 \
  -p 127.0.0.1:9444:9443 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  portainer/portainer-ce:2.39.1   # vulnerable

已验证输出

root@kitploit:~
AUTH-BYPASS CONFIRMED: standard user reached /plugins (HTTP 200)
=> PASS (missing auth / host-RCE primitive confirmed)

参考资料

  • GHSA-rrmm-9v76-h3p4
  • CVE-2026-44848 (NVD/cvefeed)

免责声明

仅供授权的安全研究和测试使用。启用步骤(POST /plugins/*)可能授予主机上的 root 权限;本 PoC 仅止步于演示授权绕过,不会启用破坏性/恶意插件。仅可对您拥有或获授权测试的系统使用。

下载工具