从Kata虚拟机覆盖宿主机Docker二进制文件的安全漏洞分析

本文详细分析了Kata Containers在BitBucket Pipelines CI/CD环境中的安全漏洞CVE-2020-28914,攻击者可通过Kata VM写入本应只读的hostPath挂载点,成功覆盖宿主机Docker二进制文件。

从Kata虚拟机覆盖宿主机Docker二进制文件

披露者: ajxchapman

披露日期: 2020年11月30日(4年多前)

漏洞分值: 40分

优先级: P1(Bugcrowd VRT优先级评级)

状态: 已解决(该漏洞已被接受并修复)

漏洞概要

在新版BitBucket Pipelines CI/CD环境中使用的Kata Containers被发现存在安全漏洞,允许Kata虚拟机写入本应只读的hostPath挂载点。该问题已在Kata Containers项目中修复,并被分配CVE编号CVE-2020-28914。

报告详情

提交时间: 2020年10月26日 18:36:59 UTC

目标位置: 下方列出的Bitbucket攻击场景

目标类别: Web应用程序

VRT分类: 服务器端注入 > 远程代码执行(RCE)

漏洞描述

报告内容: “团队您好, 我成功从Kata虚拟机内部覆盖了宿主机的docker二进制文件(可能是/usr/bin/docker)。遗憾的是,我的概念验证中存在错误,导致原始docker二进制文件损坏。之后我成功用更新版本的docker替换了该二进制文件,希望Kata环境中的功能能够继续正常工作。 我今天会撰写详细报告,但很抱歉现在需要暂时离开处理育儿事务。只是想提前告知,如果您在Kata环境中发现任何异常,很可能是我造成的。 谢谢, Alex”

技术背景

该漏洞涉及容器运行时安全领域,具体表现在:

  1. Kata Containers安全边界突破: Kata VM本应具有严格的文件系统隔离
  2. hostPath挂载点权限绕过: 只读挂载点被意外赋予写权限
  3. 关键系统文件篡改: 宿主机Docker二进制文件被恶意替换
  4. 远程代码执行风险: 通过覆盖系统二进制文件可能实现持久化访问

影响评估

  • 严重程度: 高危(P1优先级)
  • 影响范围: 使用Kata Containers的BitBucket Pipelines环境
  • 潜在风险: 容器逃逸、宿主机系统 compromise
  • 修复状态: 已通过Kata Containers项目更新修复

时间线活动记录

  • 2020年10月26日: 漏洞报告提交
  • 2020年11月12日: 奖励40积分,状态变更为已分类
  • 2020年11月18日: 状态变更为已解决,奖励发放
  • 2020年11月30日: 公开披露

研究人员信息

研究者: ajxchapman 总积分: 532分 准确率: 100.0% 当前排名: 第842位 优先级百分位: P1 - 90th

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计