🇰🇷 한글 설명
Linux 커널의 KVM arm64 환경에서 GICv2 인터럽트 처리 중 잘못된 INTID 값이 입력될 경우 시스템 경고(WARN)가 발생합니다. 게스트 OS가 범위를 벗어난 INTID를 작성하면 호스트 커널에서 경고가 발생하며, panic_on_warn 설정 시 호스트 시스템이 중단될 수 있습니다.
💡 쉬운 설명
가상 머신 안의 운영체제가 잘못된 신호를 보냈을 때, 이를 관리하는 컴퓨터(호스트)가 당황하여 시스템을 멈춰버릴 수 있는 문제입니다. 이번 수정으로 잘못된 신호가 들어와도 시스템이 멈추지 않고 무시하도록 개선되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
KVM: arm64: GICv2: Don't WARN on out-of-range GICV_DIR INTID
vgic_v2_deactivate() passes the INTID a guest wrote to GICV_DIR straight
to vgic_get_vcpu_irq(), and treats a failed lookup as a "can't happen"
condition with WARN_ON_ONCE().
The guest can make it happen at will, though: for any INTID outside of
the implemented SGI, PPI and SPI ranges the lookup returns NULL, since
GICv2 has no LPIs. A guest running with EOImode==1 writing such an INTID
to GICV_DIR triggers the WARN, and panics hosts running with
panic_on_warn.
Drop the WARN and ignore failed lookups.
📍 영향받는 시스템
Linux kernel (KVM arm64, GICv2 사용 환경)
⚔️ 공격 벡터
게스트 OS에서 GICV_DIR 레지스터에 정의되지 않은 범위의 INTID를 작성하여 호스트 커널의 WARN_ON_ONCE() 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인