CVE-2019-5736 runc 容器逃逸漏洞

漏洞案例全球 CVE 记录
CVE-2019-5736
runc 容器逃逸漏洞

阿里云容器服务已修复runc漏洞CVE-2019-5736。本文介绍该漏洞的影响范围及解决方法。

漏洞概览

CVE 编号
CVE-2019-5736
文章标题
CVE-2019-5736 runc 容器逃逸漏洞
影响产品或组件
runc漏洞
漏洞类型
以原文描述为准,未单独列出 CWE
原文字符数
6004
资料核验日期
2026-09-18

安全风险等级评估

原文未提供独立的风险等级评估。处置优先级应结合漏洞可利用性、资产暴露面和业务影响判断。

影响范围与修复版本

产品或分支受影响范围历史修复边界或说明
runc漏洞对于阿里云容器服务而言,影响范围如下: Docker版本 < 18按厂商公告与产品矩阵核对
runc漏洞2 的所有Docker Swarm集群和Kubernetes集群(不包含Serverless Kubernetes集群)按厂商公告与产品矩阵核对
runc漏洞对于用户自建的Docker/Kubernetes环境而言,影响范围如下: Docker版本 < 18按厂商公告与产品矩阵核对
runc漏洞2 或者使用 runc版本 <= 1按厂商公告与产品矩阵核对
runc漏洞0-rc6的环境按厂商公告与产品矩阵核对

原文范围说明:对于阿里云容器服务而言,影响范围如下: Docker版本 < 18.09.2 的所有Docker Swarm集群和Kubernetes集群(不包含Serverless Kubernetes集群)。 对于用户自建的Docker/Kubernetes环境而言,影响范围如下: Docker版本 < 18.09.2 或者使用 runc版本 <= 1.0-rc6的环境。

漏洞详情

漏洞机制

阿里云容器服务已修复runc漏洞CVE-2019-5736。本文介绍该漏洞的影响范围及解决方法。

触发条件与权限边界

对于阿里云容器服务而言,影响范围如下: Docker版本 < 18.09.2 的所有Docker Swarm集群和Kubernetes集群(不包含Serverless Kubernetes集群)。 对于用户自建的Docker/Kubernetes环境而言,影响范围如下: Docker版本 < 18.09.2 或者使用 runc版本 <= 1.0-rc6的环境。

场景与影响

阿里云容器服务已修复runc漏洞CVE-2019-5736。本文介绍该漏洞的影响范围及解决方法。 对于阿里云容器服务而言,影响范围如下: Docker版本 < 18.09.2 的所有Docker Swarm集群和Kubernetes集群(不包含Serverless Kubernetes集群)。 对于用户自建的Docker/Kubernetes环境而言,影响范围如下: Docker版本 < 18.09.2 或者使用 runc版本 <= 1.0-rc6的环境。

检测与排查

资产、配置与日志核查

围绕 CVE-2019-5736 盘点实际资产、软件包或插件版本、启用组件、访问入口和相关日志;修复后回读运行版本与补丁状态,复核业务功能、访问控制和异常进程。不要在生产环境通过投递恶意样本或反复认证失败来验证漏洞。

防范措施与修复验证

修复与缓解

阿里云容器服务已经修复该漏洞,新创建的1.11或1.12版本的Kubernetes集群中的Docker版本已修复该漏洞。您可以通过以下方法修复已有集群中的漏洞: 升级Docker。升级已有集群的Docker到18.09.2或以上版本。该方案会导致容器和业务中断。 仅升级runc(针对Docker版本17.06)。为避免升级Docker引擎造成的业务中断,可以按照以下步骤,逐一升级集群节点上的runc二进制。 执行以下命令定位docker-runc。docker-runc通常位于 /usr/bin/docker-runc 路径下。   which docker-runc 执行以下命令备份原有的runc:   mv /usr/bin/docker-runc /usr/bin/docker-runc.orig.$( date -Iseconds) 执行以下命令下载修复的runc:   curl -o /usr/bin/docker-runc -sSL https://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/runc/docker-runc-17.06-amd64 执行以下命令设置docker-runc的可执行权限:   chmod +x /usr/bin/docker-runc 执行以下命令测试runc是否可以正常工作:   docker-runc -v # runc version 1.0.0-rc3 # commit: fc48a25bde6fb041aae0977111ad8141ff396438 # spec: 1.0.0-rc5 docker run -it — rm ubuntu echo OK 如果是Kubernetes集群中的GPU节点,需要完成以下步骤继续安装nvidia-runtime。 执行以下命令定位nvidia-container-runtime。nvidia-container-runtime通常位于 /usr/bin/nvidia-container-runtime 路径下。   which nvidia-container-runtime 执行以下命令备份原有的nvidia-container-runtime:   mv /usr/bin/nvidia-container-runtime /usr/bin/nvidia-container-runtime.orig.$( date -Iseconds) 执行以下命令下载修复的nvidia-container-runtime:   curl -o /usr/bin/nvidia-container-runtime -sSL https://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/runc/nvidia-container-runtime-17.06-amd64 执行以下命令设置nvidia-container-runtime的可执行权限:   chmod +x /usr/bin/nvidia-container-runtime 执行以下命令测试nvidia-container-runtime是否可以正常工作:   nvidia-container-runtime -v # runc version 1.0.0-rc3 # commit: fc48a25bde6fb041aae0977111ad8141ff396438-dirty # spec: 1.0.0-rc5 docker run -it –rm -e NVIDIA_VISIBLE_DEVICES= all ubuntu nvidia-smi -L # GPU 0: Tesla P100-PCIE-16GB (UUID: GPU-122e199c-9aa6-5063-0fd2-da009017e6dc)   说明  本测试运行在GPU P100机型中,不同GPU型号测试方法会有区别。

修复后的验证

完成变更后回读 runc漏洞 的实际版本、补丁和配置,确认已落在厂商修复范围;需要重启的服务应验证重启结果,再检查相关业务功能、访问控制与日志。临时缓解应单独标注并跟踪正式修复。

参考来源

英文技术描述已按原文语义整理为中文,产品名、协议名、版本号、命令、路径和官方链接予以保留。涉及多 CVE 的文章维持为一篇,不拆分原文章。

© 版权声明
THE END
喜欢就支持一下吧!
点赞13 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容