🇰🇷 한글 설명
Linux 커널의 virtio-rtc 드라이버에서 알람 요청 시 타임아웃이 설정되지 않아 발생하는 문제입니다. 장치가 예기치 않게 제거될 경우, 알람 요청이 완료되지 못하고 ops_lock을 점유한 상태로 대기하여 장치 제거 프로세스가 중단되는 현상이 발생합니다.
💡 쉬운 설명
가상 장치가 갑자기 사라질 때, 시스템이 알람 요청에 대한 응답을 무한정 기다리느라 멈춰버리는 버그입니다. 이로 인해 컴퓨터의 특정 기능이 정상적으로 종료되지 않고 먹통이 될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
virtio: rtc: time out alarm requests
RTC class operations run with rtc_device.ops_lock held. The virtio RTC
alarm requests currently wait without a timeout for the device to return
their requestq buffers.
On surprise removal, virtio-pci marks the virtqueues broken before
unregistering the virtio device. If an alarm request is waiting when the
device stops responding, viortc_remove() blocks in viortc_class_stop()
while trying to acquire ops_lock. The request cannot complete and device
removal hangs until the waiting task is signalled.
Use the same 60-second timeout as clock read requests for alarm reads,
alarm programming, and alarm interrupt enable requests. The existing
message reference counting keeps a timed-out request alive until a late
response or device teardown.
📍 영향받는 시스템
Linux kernel (virtio-rtc driver components)
⚔️ 공격 벡터
Local/Physical (장치의 예기치 않은 제거를 유도하여 시스템 서비스 중단 유발)
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인하십시오.