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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-D0cker — 针对关键runC容器逃逸漏洞(CVE-2026-Pending,利用符号链接竞争条件)的概念验证利用代码,包含Go语言PoC、分析及补丁建议。 | Kitploit
工具/GitHubGitHub/nicetop1027/cve-2026-d0cker
权限提升容器安全漏洞分析漏洞利用学习与教育容器逃逸
GitHubnicetop1027/cve-2026-d0cker

CVE-2026-D0cker

针对关键runC容器逃逸漏洞(CVE-2026-Pending,利用符号链接竞争条件)的概念验证利用代码,包含Go语言PoC、分析及补丁建议。

查看仓库
57个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-Pending: 通过 runC maskPaths 漏洞实现容器逃逸

严重级别: 严重 (CVSS 9.8)
组件: opencontainers/runc (libcontainer)
漏洞类型: CWE-59: 在访问文件前未正确解析链接('链接跟随')

🚨 执行摘要

runc 的 maskPaths 函数存在一个严重漏洞。当在容器内屏蔽敏感路径(如 /proc/kcore)时,runc 使用了 os.OpenFile(path, O_PATH, 0) 但没有添加 O_NOFOLLOW 标志。这允许恶意容器进程将目标路径替换为指向敏感主机文件(例如 /etc/shadow)的符号链接,导致 runc 对主机文件而不是容器路径执行挂载操作。

💥 漏洞利用概念验证

附带的 exploit.go 演示了允许此绕过操作的内核行为。

使用方法

在 Linux 环境(或者具备 CAP_SYS_ADMIN 权限的容器中(若测试递归操作))编译并运行:

root@kitploit:~
go run exploit.go

漏洞利用代码分析

root@kitploit:~
// Vulnerable Code Pattern in runC:
// 1. Path is typically provided as a string (e.g. from config)
// 2. runC calls os.OpenFile(path, O_PATH...)
// 3. MISSING: unix.O_NOFOLLOW flag
// Result: Kernel follows symlink if attacker swapped the path.

🛡️ 补救措施

需要补丁: 更新 libcontainer/rootfs_linux.go,在打开用于屏蔽的目标路径时包含 unix.O_NOFOLLOW。

root@kitploit:~
- dstFh, err := os.OpenFile(path, unix.O_PATH|unix.O_CLOEXEC, 0)
+ dstFh, err := os.OpenFile(path, unix.O_PATH|unix.O_CLOEXEC|unix.O_NOFOLLOW, 0)

📂 仓库结构

  • exploit.go: 使用 Go 编写的功能性概念验证代码。
  • analysis.md: 关于竞态条件的详细技术分析。
  • cve_draft.md: 提交用的报告模板。

免责声明: 此代码仅用于安全研究和教育目的。

下载工具