docker 1.0.0 docker.socket world accessible

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

## CVE-2014-3499 docker.socket world accessible ## 漏洞类型 设计错误 本地权限提升 ## 漏洞分析 Docker 1.0.0使用全局可读可写的管理套接字,这种设计会允许本地用户利用写套接字,获得特殊的权限。 ## 具体分析 docker.socket 在docker 1.0.0版本时,并没有限制读写socket的权限,导致本地用户任何socket读写都能够完成。 本地用户使用构造的恶意请求写入到socket中会导致root权限执行任意代码。 ## 具体过程 在init/systemd中, docker.socket是指/var/run/docker.sock这个管理套接字,主要作用为docker client与docker deamon通信提供支持。在docker中,整个命令的传输全部都依靠socket,在管理套接字的读写问题上,如果可以读写管理套接字 那么docker client与docker deamon的信息流都可以读取和伪造,并可以构造相应的数据包来让deamon执行相关的命令。 关于为什么docker需要root权限的问题,可见[Why we don't let non-root users run Docker in CentOS, Fedora, or RHEL](http://www.projectatomic.io/blog/2015/08/why-we-dont-let-non-root-users-run-docker-in-centos-fedora-or-rhel/) ## 漏洞验证方式 docker 版本小于1.0.0均存在 ## 影响版本 docker version <= 1.0.0 ## 修复方案 官方限制了套接字的权限: 在文件contrib/init/systemd/socket-activation/docker.socket配置中 [Socket] ListenStream=/var/run/docker.sock # 对socket的权限进行了控制 +SocketMode=0660 +SocketUser=root +SocketGroup=docker [Install] WantedBy=sockets.target 详情,可见[Fix the...

0%
暂无可用Exp或PoC
当前有0条受影响产品信息