# containerd容器进程权限提升漏洞公告（CVE-2022-24769）
#### 漏洞详情
containerd开源社区中披露了一个安全漏洞，在containerd创建容器的场景，非root容器进程的初始Inheritable capability不为空，可能会造成在execve执行可执行文件时提升到允许的cap集合。该问题已被收录为CVE-2022-24769。
表1漏洞信息 
| 漏洞类型 | CVE-ID | 漏洞级别 | 披露/发现时间  |
|:---|:---|:---|:---|
| 权限提升                         | CVE-2022-24769              | 低     | 2022-3-24 |
   
#### 漏洞影响
containerd创建容器时默认把 Linux Process capabilities配置到 Inheritable 集合上，这会导致在容器内的进程在以 Non-Root 用户 execve() 执行可执行文件时Inheritable和文件的Inheritable集合的交集被添加到执行完execve后的进程的Permited集合中，出现非预期的"越权"行为。需要说明的是，这个越权并没有突破 execve 前的进程权限，仅仅是继承之前的 capabilities。
该漏洞的影响范围如下：
1. CCE Turbo集群，使用了低于1.4.1-98版本的containerd作为Kubernetes CRI运行时。
2. CCE集群containerd版本低于1.5.11以下的集群。
#### 判断方法
在node节点上使用root用户执行containerd --version查看containerd版本。
新Console上的"节点管理"处也可以查看运行时版本。
#### 漏洞修复方案
容器 entrypoint 使用 capsh工具去除自身的 Inheritable Capabilities。
#### 相关链接
社区公告：<https://github.com/containerd/containerd/security/advisories/GHSA-c9cp-9c75-9v8c>
