原创漏洞 | Bochs 模拟器 guest 逃逸漏洞
微步情报局 2026-09-08 10:51 北京

点击查看漏洞详情
漏洞概况
Bochs 是 Bochs Project 开发的开源 x86 PC 模拟器,常用于操作系统开发、逆向与安全研究中的客户机仿真。
近日,Bochs 官方发布3.1版本,修复了Bochs VBE 4-bpp 平面路径堆溢出漏洞(guest逃逸),该漏洞由微步XGPT发现并报送 Bochs官方。
Bochs VBE/VGA 显示仿真在 4-bpp 平面路径上存在堆越界读写漏洞,攻击者在客户机内将 VBE 设为 4-bpp 并经传统 VGA 窗口访问后,可造成宿主机 Bochs 进程内存破坏,满足特定利用条件时以 Bochs 用户权限在宿主机执行代码(guest→host)。建议受影响用户尽快修复。
/* vga.cc — bank 校验(4-bpp 时 num_banks >>= 2,bank 63 可通过) */Bit16u num_banks = (Bit16u)((memsize >> 10) / bank_granularity_kb);if (bpp == VBE_DISPI_BPP_4) num_banks >>= 2;if (value < num_banks) {vbe.bank[0] = value;ext_offset = (vbe.bank[0] << 16); /* bank 63 -> 0x3F0000 */}/* vgacore.cc — 平面写(修复前) */offset = addr & 0x1FFFF;offset += s.ext_offset; /* + bank * 64KB *//* 缺:if (((offset << 2) + 3) >= s.memsize) return; ← b771a3dc 所补 */if (s.sequencer.map_mask & 0x01) s.memory[(offset << 2) + 0] = ...;if (s.sequencer.map_mask & 0x02) s.memory[(offset << 2) + 1] = ...;/* … plane 2/3 同理 — 可写到 VRAM 外 ~256KB */
客户机在4-bpp 平面写路径上访问显存时,bank 校验按 4-bpp 缩小了可用 bank 数,但平面路径用 `(窗口偏移 + ext_offset) << 2` 去下标访问宿主侧 VRAM 数组时,没有判断该下标是否已经超出 VRAM 分配长度(`memsize`)。攻击者构造特殊的 4-bpp 平面写(高 bank + 窗口访问),可在宿主机 Bochs 进程形成堆越界写(越界窗口最大约 256 KB);读路径同理。
(完整漏洞情报请查阅https://x.threatbook.com/v5/vul/XVE-2026-59034)
漏洞处置优先级(VPT)
综合处置优先级:中风险
基本信息 | 微步编号 | XVE-2026-59034 |
CNNVD编号 | CNNVD-2026-84442252 | |
漏洞类型 | 堆溢出 | |
利用条件评估 | 利用漏洞的网络条件 | 本地 |
是否需要绕过安全机制 | 否 | |
对被攻击系统的要求 | 无特殊要求 | |
利用漏洞的权限要求 | 无须用户权限 | |
是否需要受害者配合 | 否 | |
利用情报 | 是否有POC | 是 |
已知利用行为 | 暂无 |
漏洞复现

漏洞影响范围
产品名称 | Bochs |
受影响版本 | version<3.1 |
有无修复补丁 | 有 |
修复方案
官方修复方案
官方已发布新版本,请访问链接下载:
https://github.com/bochs-emu/Bochs/releases/tag/REL_3_1_FINAL
临时缓解措施
1、宿主机开启 ASLR。 2、勿把 Bochs 当作客户机隔离边界;需要隔离时改用带隔离的 hypervisor 或沙箱。
微步产品支撑
微步漏洞情报于2026-09-07收录该漏洞。
微步下一代威胁情报平台NGTIP及X情报中心已于漏洞收录时向漏洞订阅用户推送该漏洞情报,并将持续推送后续更新;对于已经录入资产的用户,支持实时自动化排查受影响资产。