![cfcc432c014fd09ad476ba234a20aaa5.png](https://i-blog.csdnimg.cn/blog_migrate/b58e939265a1fcbde6ed11343c1b80f8.jpeg)
0x01 公告
containerd发布了containerd 权限提升漏洞的风险通告,该漏洞编号为CVE-2020-15257,漏洞等级:中危。
0x02 解决方案
升级 containerd 至最新版本(升级后需要重启所有与宿主具有相同网络命名空间的容器)。
0x03 环境&遗留问题
- 环境
CentOS 8.0
containerd.io.x86_64版本:1.2.6-3.3.fc30
- 遗留问题
Centos8 在使用最新版本的http://containerd.io的时候,遇到过无法启动服务现象,
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
网上很多解决方案都是使用指定版本的http://containerd.io(如下命令)
yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
当时用1.2.6解决了docker启动问题。
0x04 升级方案
为了解决安全性问题,使用最新版本的http://containerd.io,升级最新的docker-ce和http://containerd.io,并尝试解决docker服务不能启动的问题。
- 查询docker-ce版本
# yum list installed |grep docker
docker-ce.x86_64 3:19.03.13-3.el8 @docker-ce-stable
docker-ce-cli.x86_64 1:19.03.13-3.el8 @docker-ce-stable
- 升级docker-ce、docker-ce-cli,http://containerd.io
yum update docker-ce
yum update docker-ce-cli
yum update containerd.io
升级后的版本信息如下:
# yum list installed |grep docker
containerd.io.x86_64 1.3.9-3.1.el8 @docker-ce-stable
docker-ce.x86_64 3:19.03.14-3.el8 @docker-ce-stable
docker-ce-cli.x86_64 1:19.03.14-3.el8 @docker-ce-stable
- 解决服务无法启动问题
升级http://containerd.io后问题重现:
# docker ps -a
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
# systemctl start docker
A dependency job for docker.service failed. See 'journalctl -xe' for details.
查看日志:
-- Unit containerd.service has begun starting up.
containerd[211004]: /usr/bin/containerd: symbol lookup error: /usr/bin/containerd: undefined symbol: seccomp_api_set
systemd[1]: containerd.service: Main process exited, code=exited, status=127/n/a
systemd[1]: containerd.service: Failed with result 'exit-code'.
systemd[1]: Failed to start containerd container runtime.
解决方法:
升级 libseccomp
yum update libseccomp.x86_64
<END>