🇰🇷 한글 설명
Linux 커널의 Xen 이벤트 처리 과정에서 가상 인터럽트(VIRQ)가 현재 CPU와 다른 CPU에 이미 바인딩되어 있을 경우, 시스템이 중단(BUG_ON)되는 취약점이 발견되었습니다. 이를 수정하여 시스템 중단 대신 -EEXIST 오류를 반환하도록 변경함으로써 커널의 안정성을 높였습니다.
💡 쉬운 설명
컴퓨터의 핵심 부품인 커널이 특정 작업을 처리할 때, 설정이 맞지 않으면 시스템이 통째로 멈춰버리는 문제가 있었습니다. 이제는 시스템이 멈추는 대신 '이미 설정되어 있다'는 오류 메시지만 보내고 계속 작동하도록 개선되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
xen/events: Return -EEXIST for bound VIRQs
Change find_virq() to return -EEXIST when a VIRQ is bound to a
different CPU than the one passed in. With that, remove the BUG_ON()
from bind_virq_to_irq() to propogate the error upwards.
Some VIRQs are per-cpu, but others are per-domain or global. Those must
be bound to CPU0 and can then migrate elsewhere. The lookup for
per-domain and global will probably fail when migrated off CPU 0,
especially when the current CPU is tracked. This now returns -EEXIST
instead of BUG_ON().
A second call to bind a per-domain or global VIRQ is not expected, but
make it non-fatal to avoid trying to look up the irq, since we don't
know which per_cpu(virq_to_irq) it will be in.
📍 영향받는 시스템
Xen 가상화 기능을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
직접적인 공격보다는 특정 상황에서 시스템을 강제로 중단(DoS)시킬 수 있는 잠재적 요인
🛡️ 대응 방법
Xen 이벤트 관련 패치가 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인