🇰🇷 한글 설명
illumos bhyve 명령어 에뮬레이터에서 REP 접두사가 붙은 MOVS 또는 STOS 명령어를 처리할 때 VIES_REPEAT 상태 플래그를 제대로 초기화하지 않는 결함이 있습니다. 이로 인해 게스트 VM 내의 권한 있는 사용자가 MMIO 영역에 해당 명령어를 실행하면 호스트 커널의 VERIFY 어설션이 실패하여 호스트 시스템 전체가 패닉(중단)될 수 있습니다.
💡 쉬운 설명
가상 머신 안의 사용자가 특정 명령어를 잘못 사용하면, 그 가상 머신을 돌리고 있는 실제 컴퓨터(호스트) 전체를 멈추게 만들 수 있는 보안 취약점입니다. 이는 서비스 거부(DoS) 공격으로 이어져 다른 모든 가상 머신에도 영향을 줄 수 있습니다.
🇺🇸 원문 (English)
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.
📍 영향받는 시스템
illumos-gate 커밋 696ecf8d 이전의 모든 illumos 배포판
⚔️ 공격 벡터
게스트 VM 내의 권한 있는 사용자가 로컬 APIC 페이지를 대상으로 REP MOVS 또는 REP STOS 명령어를 실행
🛡️ 대응 방법
illumos-gate 커밋 696ecf8d 이상이 적용된 최신 버전으로 시스템 업데이트
🔧 검증 코드
명령어 실행 결과가 'Patched'이면 수정된 버전이며, 'Vulnerable'이면 취약한 버전입니다.
git log -1 --format=%H | grep -q 696ecf8d && echo 'Patched' || echo 'Vulnerable'
💻 영향받는 소프트웨어
IBM Security Verify Access