🔍 CVE-2026-72289

9.3
CVSS Score
CRITICAL
2026-08-15
2026-10-16 19:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 KVM arm64 vgic 구성 요소에서 인터럽트 마이그레이션 시 소유권 확인 절차가 미흡하여 발생하는 취약점입니다. 락(lock)을 해제한 사이 인터럽트가 목록에서 제거될 수 있으며, 이로 인해 이미 제거된 항목에 대해 중복 삭제를 시도하는 race condition이 발생합니다.

💡 쉬운 설명

컴퓨터의 핵심 부품인 커널이 인터럽트(신호)를 다른 곳으로 옮길 때, 해당 신호가 여전히 자기 것인지 제대로 확인하지 않아 발생하는 오류입니다. 이 과정에서 시스템이 혼란을 겪어 충돌하거나 멈출 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: vgic: Check the interrupt is still ours before migrating it vgic_prune_ap_list() drops both ap_list_lock and irq_lock while migrating an interrupt to another vCPU. After reacquiring the locks it only checks that the affinity is unchanged (target_vcpu == vgic_target_oracle(irq)) before moving the interrupt, which assumes that an interrupt whose affinity is preserved is still queued on this vCPU's ap_list. That assumption no longer holds if the interrupt is taken off the ap_list while the locks are dropped. vgic_flush_pending_lpis() removes the interrupt from the list and sets irq->vcpu to NULL, but leaves enabled/pending/target_vcpu untouched. As the interrupt is still enabled and pending, vgic_target_oracle() returns the same target_vcpu, so the affinity check passes and list_del() is run a second time on an entry that has already been removed. Also check that the interrupt is still assigned to this vCPU (irq->vcpu == vcpu) before moving it.

📍 영향받는 시스템

Linux kernel (KVM arm64 vgic 관련 모듈 사용 시스템)

⚔️ 공격 벡터

특정 타이밍에 인터럽트 상태를 조작하여 커널 메모리 오류를 유도하는 Race Condition 공격

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 인터럽트 소유권 검증 로직을 강화해야 합니다.

🔧 검증 코드

출력된 커널 버전을 확인하여 해당 취약점이 해결된 최신 패치 버전인지 릴리스 노트를 통해 대조합니다.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel