DataFocus
菜单⌄

20260128-CVE-2024-21626 漏洞补丁升级说明

安装升级历史归档
胖子君

CVE-2024-21626 漏洞补丁升级说明

<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 8L12 17L21 8"></path></svg>漏洞原理

CVE-2024-21626 是 runc 组件中的高危容器逃逸漏洞,CVSS 评分为 8.6。

漏洞原理:runc 1.1.11 及之前版本在执行容器初始化过程中存在内部文件描述符(/sys/fs/cgroup 目录)泄漏问题。攻击者可通过构造特殊镜像,在容器启动时将工作目录(WORKDIR)设置为 /proc/self/fd/7 等路径,将新容器进程的工作目录切入到宿主机文件系统命名空间,从而突破容器隔离限制,实现:

  • 访问宿主机文件系统

  • 读取、修改宿主机敏感文件

  • 执行宿主机上的二进制程序

利用条件:需要内核支持 openat2 系统调用(Kernel >= 5.6),且攻击者需要具备提供自定义镜像或控制容器工作目录的权限


<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 8L12 17L21 8"></path></svg>影响范围

表格

复制

组件    受影响版本                    安全版本    
runc1.0.0-rc93 ≤ version ≤ 1.1.11≥ 1.1.12

受影响平台:

  • Docker(使用 runc 作为默认运行时)

  • Kubernetes(使用 containerd、CRI-O 等调用 runc)

<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 8L12 17L21 8"></path></svg>补丁升级指导

下面以主节点为例进行升级步骤说明,如果是多节点的话,需要每台机器都进行升级,升级完成之后在主节点上执行kb get pod确认容器是否正常就行了。

  1. 1.使用root账号ssh登录到需要升级的主机,然后确认当前runc的版本:runc --version

   ```shell

   [root@master-192-168-0-120 plugin]# runc --version

   runc version 1.1.4 <-- 小于1.1.12,有漏洞

   commit: v1.1.4-0-g5fd4c4d

   spec: 1.0.2-dev

   go: go1.17.13

   libseccomp: 2.3.1

   ```

  1. 2.确认当前runc的路径,whereis runc

   ```shell

   [root@master-192-168-0-120 plugin]# whereis runc

   runc: /usr/bin/runc

   ```

  1. 3.停止kubelet和docker服务

   ```shell

   [root@master-192-168-0-120 ~]# systemctl stop kubelet

   [root@master-192-168-0-120 ~]# systemctl stop docker

   ```

  1. 4.把附件中的runc.amd64上传到服务器上,比如/tmp目录,然后把老版本的runc给备份下,用新的runc.amd64替换老的runc,确认新的runc版本已经升级到1.1.12

   ```shell

   [root@master-192-168-0-120 ~]# mv /usr/bin/runc /tmp/runc.bak

   [root@master-192-168-0-120 ~]# mv /tmp/runc.amd64 /usr/bin/runc

   [root@master-192-168-0-120 ~]# chmod +x /usr/bin/runc

   [root@master-192-168-0-120 ~]# ll /usr/bin/runc

   -rwxr-xr-x. 1 root root 10709696 Jan 28 10:12 /usr/bin/runc

   [root@master-192-168-0-120 ~]# runc --version

   runc version 1.1.12 <-- 该版本已修复漏洞

   commit: v1.1.12-0-g51d5e946

   spec: 1.0.2-dev

   go: go1.20.13

   libseccomp: 2.5.4

   ```

  1. 5.重启docker和kubelet服务 ,服务重启需要10多分钟左右。

   ```shell

   [root@master-192-168-0-120 ~]# systemctl restart docker

   [root@master-192-168-0-120 ~]# systemctl restart kubelet

   ```

  1. 6.10分钟之后使用查看集群的容器是否正常,正常之后访问页面看服务是否正常。

   ```shell

   [root@master-192-168-0-120 ~]# kb get pod

   NAME                                            READY   STATUS    RESTARTS         AGE

   df-aiadaptor-5d59c48b84-kql8z                   3/3     Running   4 (5m45s ago)    10h

   df-biconnector-79f86c4485-hqk2p                 1/1     Running   1 (5m45s ago)    10h

   df-biserver-7c7594f595-cb6z2                    1/1     Running   1 (5m45s ago)    10h

   df-biworker-556b47f6f-vzbnj                     2/2     Running   2 (5m45s ago)    10h

   df-hadoop-datanode-857856dd57-76lsh             1/1     Running   11 (5m44s ago)   42d

   df-hadoop-namenode-54bd98d495-4l4df             1/1     Running   2 (5m44s ago)    42d

   df-hadoop-secondary-namenode-65896598cb-k65q9   1/1     Running   2 (5m44s ago)    42d

   df-hive-6fdfc7b4db-nw7mc                        2/2     Running   6 (5m44s ago)    41d

   df-kudu-master-0                                1/1     Running   6 (5m55s ago)    42d

   df-kudu-tserver-0                               1/1     Running   6 (5m55s ago)    42d

   df-nginx-7cb96b8647-677tl                       1/1     Running   1 (5m45s ago)    10h

   df-nodeexporter-wz5q8                           1/1     Running   1 (5m55s ago)    42d

   df-pgsql-0                                      1/1     Running   9 (5m55s ago)    42d

   df-qdrant-0                                     1/1     Running   3 (5m55s ago)    42d

   df-rabbitmq-cluster-0                           1/1     Running   1 (5m45s ago)    8d

   df-redis-5ff6d8c6cb-v6wlq                       1/1     Running   3 (5m55s ago)    42d

   df-search-74c59fbb64-frgvf                      1/1     Running   1 (5m45s ago)    10h

   df-sysmgr-59d5776b6b-znr5t                      1/1     Running   1 (5m45s ago)    10h

   df-taskmgr-8696f559b7-g54cp                     1/1     Running   1 (5m45s ago)    10h

   df-trino-coordinator-7c758f794b-xrx4b           1/1     Running   1 (5m42s ago)    30d

   df-trino-worker-6fd7ff4fc8-d6lr6                1/1     Running   1 (5m41s ago)    30d

   df-webserver-7b5c664dcc-kbh7r                   1/1     Running   1 (5m45s ago)    10h

   ```

0 条回复查看回复

此问题为历史内容,原作者署名由来源记录保留,不与当前账号自动绑定。

0 条回复

按时间排序
还没有回复,分享你的经验,帮助解决这个问题。
此问题已关闭回复,现有讨论仍可阅读。