m0nk3ygod/CVE-2026-34040-PoC
GitHub: m0nk3ygod/CVE-2026-34040-PoC
针对 Docker/Moby AuthZ 插件认证绕过漏洞 CVE-2026-34040 的实验室 PoC,通过超大请求体绕过授权策略检查。
Stars: 0 | Forks: 0
# CVE-2026-34040 — Docker/Moby AuthZ 插件绕过(实验室 PoC)
## 漏洞详情 / 취약점 사실
| 项目 | 值 |
|---|---|
| CVE | CVE-2026-34040 |
| CVSS 3.1 | 8.8 (高危) — `CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H` |
| CWE | CWE-288 (使用备用路径或通道绕过认证), CWE-863 (授权不正确) |
| 受影响版本 | `moby/moby` < 29.3.1, `docker/docker` < 29.3.1, `moby/moby/v2` < 2.0.0-beta.8 |
| 修复版本 | 29.3.1, 2.0.0-beta.8 |
| 根本原因 | 对 CVE-2024-41110 的修复不完整 |
| 补丁提交 | `moby/moby@e89edb1` |
## 演示内容 / 무엇을 보여주는가
## 仓库结构 / 저장소 구조
```
.
├── README.md
├── poc.py # Working PoC (local UNIX socket only)
├── requirements.txt # Python standard library only
├── LICENSE
├── lab/
│ ├── authz.rego # OPA policy: blocks privileged + host-root bind
│ └── daemon.json # Registers the AuthZ plugin
└── docs/
├── concepts.md # 개념 / Concepts
├── lab-setup.md # 환경 구성 / Lab setup
├── how-it-works.md # 동작 원리 / How it works (source-level)
├── usage.md # 사용법 / Usage
├── troubleshooting.md # 문제 해결 / Troubleshooting
└── references.md # 참고 / References
```
## 前置条件 / 전제조건
| 条件 | 是否必需 | 原因 |
|---|---|---|
| 本地 Docker API 访问权限 (`/var/run/docker.sock`) | 是 | PoC 向该 socket 发送请求 |
| 启用带有请求体检查策略的 AuthZ 插件 | 是 | 绕过目标是 AuthZ 检查 |
| Docker/Moby < 29.3.1 | 是 | 已修复版本会拒绝过大的请求体 |
| 本地存在 `alpine` 镜像 | 推荐 | 否则创建时会返回 `404 No such image` |
## 快速开始 / 빠른 시작
```
# 1) 拉取 PoC 使用的 image
sudo docker pull alpine
# 2) 运行非破坏性绕过检查
sudo python3 poc.py --mode check
```
漏洞目标的预期结果 / 취약 대상에서의 기대 결과:
```
small request -> HTTP 403 (AuthZ blocks)
oversized request -> HTTP 201 or HTTP 404 (AuthZ bypassed; daemon processed it)
```
完整用法请参见 [`docs/usage.md`](docs/usage.md)。 / See [`docs/usage.md`](docs/usage.md) for full usage.
## 仅限实验室警告 / 실습 전용 경고
## 参考 / 참고
See [`docs/references.md`](docs/references.md). / [`docs/references.md`](docs/references.md) 참고.
标签:Docker, Python, Web截图, 安全防御评估, 容器安全, 授权绕过, 无后门, 漏洞验证代码, 请求拦截, 逆向工具