illumos-gate: Reachable assertion in illumos bhyve REP string instruction emulation allows guest to panic host
What fixes it
- 696ecf8debceed9dc33937d8c8e111e4aeebfdaeillumos-gateCVE List
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
A reachable assertion in the illumos bhyve instruction emulator allows a guest to panic the host. When emulating a REP-prefixed MOVS or STOS instruction that accesses guest MMIO, vie_emulate_movs() and vie_emulate_stos() in usr/src/uts/intel/io/vmm/vmm_instruction_emul.c do not clear the VIES_REPEAT status flag on the final iteration. For MMIO regions emulated in the kernel (the local APIC, I/O APIC and HPET), the stale flag causes a VERIFY assertion in vie_advance_pc() to fail, and the host panics. A privileged user within a guest VM can issue a REP MOVS or REP STOS instruction against the local APIC page to cause a denial of service of the host and every other guest running on it. The flaw has existed since 2020 (illumos-gate commit e0c0d44e), and affects any illumos distribution prior to illumos-gate commit 696ecf8d.
Text from CVE List
Affected versions 5
- illumos-gateaffected: e0c0d44e917080841514d0dd031a696c74e8c435 before 696ecf8debceed9dc33937d8c8e111e4aeebfdaeCVE List
- OmniOSaffected: any before r151054CVE List
- OmniOSaffected: r151058 before r151058wCVE List
- OmniOSaffected: r151056 before r151056awCVE List
- OmniOSaffected: r151054 before r151054bwCVE List