近日,安全狗应急响应中心监测到网上公开披露了CRI-O中称为“cr8escape”的任意代码执行漏洞(CVE-2022-0811)。
漏洞描述
CRI-O是支持Kubernetes的容器运行时引擎,它是Kubernetes CRI(容器运行时接口)的一个实现,以实现使用OCI(开放容器倡议)兼容的运行时。
该漏洞是由于开发人员无意中在CRI-O 1.19版本中引入代码产生的安全问题。不法分子可以利用该漏洞绕过保护措施并在主机上设置任意内核参数。任何有权限使用CRI-O运行时的Kubernetes集群上部署pod的人都可以通过滥用“kernel.core_pattern”内核参数,在集群中的任何节点上以root身份实现容器逃逸和任意代码执行。
安全通告信息
漏洞名称 | Kubernetes CRI-O引擎任意代码执行漏洞 |
漏洞影响版本 | CRI-O版本>1.19.0; <1.19.6、<1.20.7、<1.21.6、<1.22.3、<1.23.2、<1.24.0 |
漏洞危害等级 | 高危 |
厂商是否已发布漏洞补丁 | 是 |
版本更新地址 | https://github.com/cri-o/cri-o/releases |
安全狗总预警期数 | 211 |
安全狗发布预警日期 | 2022年03月18日 |
安全狗更新预警日期 | 2022年03月18日 |
发布者 | 安全狗海青实验室 |
处置措施
该漏洞已在3月15日发布的CRI-O版本1.19.6、1.20.7、1.21.6、1.22.3、1.23.2、1.24.0(暂未发布)中修复,受影响用户可以及时升级更新。
【下载链接】
https://github.com/cri-o/cri-o/releases
注:要确定主机是否受到影响:run crio—version
【缓解措施】
可以将manage_ns_lifecycle设置为false,这将导致sysctls由OCI运行时进行配置,将过滤此问题。该选项在1.20和1.19中可用,但较新的版本没有这个选项;或者可以创建一个admission webhook来拒绝在pod的sysctl值中指定+的pod。
【备注】:建议您在升级前做好数据备份工作,避免出现意外