原创漏洞 | Bochs 模拟器 guest 逃逸漏洞

· 2026-09-08 10:51 · 2 阅读

微步情报局 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情报中心已于漏洞收录时向漏洞订阅用户推送该漏洞情报,并将持续推送后续更新;对于已经录入资产的用户,支持实时自动化排查受影响资产。

    跳转微信打开