重要/漏洞:QEMUtiny:QEMU CXL Type-3 设备仿真存在可被利用的越界读写漏洞链
漏洞编号: 暂无公开 CVE / PoC 名称:QEMUtiny
重要等级: 需要关注的(虚拟机逃逸风险)
CVSS 分数:无
影响范围:
主要受影响配置:
注意: 仅安装 QEMU 但未运行相关虚拟机;普通 QEMU 虚拟机未启用 CXL / 未配置
漏洞原理:
该漏洞链出现在 QEMU CXL Type-3 设备仿真的 mailbox 处理逻辑中。CXL Type-3 设备在 QEMU 中用于模拟接入 CXL host 的内存设备,CXL 设备会通过 PCIe 相关接口和 BAR-mapped memory 访问寄存器与 mailbox。
漏洞链由两个核心缺陷组成:
1.
2.
攻击者在满足前置条件后,可先利用越界读泄露 QEMU 进程地址信息,再利用越界写破坏 CXL Type-3 设备对象后续字段,最终通过 QEMU 内部 memory dispatch / sanitize 路径触发受控回调。本频道在实际复现后发现最终权限等同于运行 QEMU 的宿主进程权限,同时结合先前的内核漏洞攻击者可以获取root权限。
注意: 该漏洞依赖特定 QEMU 构建和宿主 libc 布局偏移, 目标 VM 需要暴露 CXL Type-3 设备、guest 内具备较高权限。
受影响组件:
QEMU Backend / CXL Type-3 device emulation
具体路径:
受影响对象:
处置建议:
1. 排查生产和测试环境中的 QEMU 启动参数,重点确认是否存在
2. 不要向不可信 guest 暴露 QEMU CXL Type-3 设备。
3. 临时禁用 CXL Type-3 emulation,或仅在隔离实验环境中使用。
参考链接:Github
漏洞编号: 暂无公开 CVE / PoC 名称:QEMUtiny
重要等级: 需要关注的(虚拟机逃逸风险)
CVSS 分数:无
影响范围:
受影响组件:QEMU CXL Type-3 设备仿真模块
受影响代码路径:hw/cxl/cxl-mailbox-utils.c
受影响功能:CXL mailbox 相关命令处理逻辑
主要受影响配置:
启用了 CXL 支持的 QEMU 实例;
向 guest 暴露了 cxl-type3 设备;
guest 内攻击者具备 root 权限或可访问 PCI config / CXL BAR / mailbox MMIO 的等效能力。PoC README 明确说明复现程序需要在 guest 内以 root 运行,因为需要写 PCI config space 并通过 sysfs mmap CXL 设备 BAR。
注意: 仅安装 QEMU 但未运行相关虚拟机;普通 QEMU 虚拟机未启用 CXL / 未配置
cxl-type3;QEMU user-mode emulation;物理 CXL 硬件本身通常不受影响。漏洞原理:
该漏洞链出现在 QEMU CXL Type-3 设备仿真的 mailbox 处理逻辑中。CXL Type-3 设备在 QEMU 中用于模拟接入 CXL host 的内存设备,CXL 设备会通过 PCIe 相关接口和 BAR-mapped memory 访问寄存器与 mailbox。
漏洞链由两个核心缺陷组成:
1.
GET_LOG 越界读cmd_logs_get_log() 在处理 CEL log offset 时,边界检查按“字节偏移”理解,但实际 memmove() 源地址表达式中把该 offset 用在结构体指针运算上,导致可读取 CEL buffer 之外的相邻 QEMU 进程内存。PoC README 将其描述为 CXL mailbox GET_LOG 路径中的 out-of-bounds read。
2.
SET_FEATURE 越界写cmd_features_set_feature() 接受写入多个 feature write-attribute 结构的 offset,但部分 PPR / sparing 路径缺少 offset + bytes_to_copy 是否仍在目标结构体内的完整边界检查。PoC README 指出受影响路径包括 soft_ppr_wr_attrs、hard_ppr_wr_attrs、cacheline_sparing_wr_attrs、row_sparing_wr_attrs、bank_sparing_wr_attrs、rank_sparing_wr_attrs。
攻击者在满足前置条件后,可先利用越界读泄露 QEMU 进程地址信息,再利用越界写破坏 CXL Type-3 设备对象后续字段,最终通过 QEMU 内部 memory dispatch / sanitize 路径触发受控回调。本频道在实际复现后发现最终权限等同于运行 QEMU 的宿主进程权限,同时结合先前的内核漏洞攻击者可以获取root权限。
注意: 该漏洞依赖特定 QEMU 构建和宿主 libc 布局偏移, 目标 VM 需要暴露 CXL Type-3 设备、guest 内具备较高权限。
受影响组件:
QEMU Backend / CXL Type-3 device emulation
具体路径:
hw/cxl/cxl-mailbox-utils.c
CXL mailbox LOGS / GET_LOG
CXL mailbox FEATURES / SET_FEATURE
CXL mailbox MEDIA_OPERATIONS / SANITIZE 相关触发路径
受影响对象:
启用 cxl=on 的 QEMU 实例
配置了 cxl-type3 的虚拟机
将 CXL mailbox BAR 暴露给不可信 guest 的测试、云平台、CI/fuzzing 或研发环境
处置建议:
1. 排查生产和测试环境中的 QEMU 启动参数,重点确认是否存在
cxl=on、cxl-type3、pxb-cxl、cxl-rp 等配置。2. 不要向不可信 guest 暴露 QEMU CXL Type-3 设备。
3. 临时禁用 CXL Type-3 emulation,或仅在隔离实验环境中使用。
参考链接:Github