🇰🇷 한글 설명
Linux 커널의 mac80211_hwsim 모듈에서 virtio 수신 길이를 skb_put() 함수에 전달하기 전에 제한하지 않아 발생하는 취약점입니다. 백엔드가 skb 버퍼 크기보다 큰 길이를 보고할 경우 skb_over_panic()이 호출되어 호스트가 트리거하는 게스트 패닉(DoS)이 발생할 수 있습니다.
💡 쉬운 설명
가상 Wi-Fi 장치가 실제 데이터 크기보다 더 큰 데이터를 받았다고 거짓말을 하면 시스템이 충돌할 수 있는 문제입니다. 이로 인해 가상 머신이 갑자기 멈추거나 재부팅되는 서비스 거부 상태가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
wifi: mac80211_hwsim: clamp virtio RX length before skb_put
hwsim_virtio_rx_work() passes the virtqueue used-ring length reported by
the device straight to skb_put() on a fixed-size receive skb. A backend
reporting a length larger than the skb tailroom drives skb_put() past the
buffer end and hits skb_over_panic() -- a host-triggerable guest panic
(denial of service).
Clamp the length to the skb's available room before skb_put(). A
conforming device never reports more than the posted buffer size, so valid
frames are unaffected; a truncated over-report then fails the
length/header checks in hwsim_virtio_handle_cmd() and is dropped, so
truncating rather than dropping here cannot be turned into a parsing
problem.
📍 영향받는 시스템
Linux kernel (mac80211_hwsim 모듈을 사용하는 환경)
⚔️ 공격 벡터
조작된 길이를 보고하는 악의적인 virtio 백엔드를 통한 게스트 패닉 유도
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 skb_put() 호출 전 길이를 제한해야 합니다.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.