🇰🇷 한글 설명
Linux 커널의 mhi_wwan_mbim 드라이버에서 NDP 체인이 순환할 경우 발생하는 무한 루프 취약점입니다. 모뎀이 NDP 오프셋을 자기 자신이나 이전 위치로 지정하면 CPU가 100% 점유된 상태로 멈추게 됩니다. 이를 방지하기 위해 다음 NDP 오프셋이 현재보다 크지 않으면 루프를 종료하도록 수정되었습니다.
💡 쉬운 설명
모뎀이 잘못된 신호를 보내 컴퓨터의 처리 과정을 무한 반복하게 만들어 시스템을 멈추게 할 수 있는 문제입니다. 업데이트를 통해 신호가 꼬여서 제자리로 돌아오면 즉시 멈추도록 안전장치를 만들었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: wwan: mhi_wwan_mbim: guard against a cyclic NDP chain
The NDP traversal in mhi_mbim_rx() only stops when wNextNdpIndex is
zero. Nothing requires the offsets to advance, so a modem that
points an NDP at itself, or at an earlier NDP, keeps the loop
spinning forever on one CPU.
Break out when the next NDP offset is not larger than the current
one.
Verified in a QEMU guest with a fault injector feeding the driver's
receive callback an NTB whose single NDP points at itself: the
unpatched driver spins in mhi_mbim_rx() with one CPU pinned at 100%
and the thread never returns. With this check the loop terminates
within one iteration.
Changes in v2: move the non-increasing check to the wNextNdpIndex
retrieval site, as suggested by Loic Poulain, instead of tracking
the previous offset in a separate variable.
📍 영향받는 시스템
Linux kernel (mhi_wwan_mbim 드라이버를 사용하는 WWAN 관련 시스템)
⚔️ 공격 벡터
악의적으로 조작된 NDP(Network Descriptor Packet)를 포함한 데이터를 모뎀을 통해 전송
🛡️ 대응 방법
해당 취약점이 해결된 최신 버전의 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 패치가 적용된 보안 업데이트 버전인지 확인
💻 영향받는 소프트웨어
NVIDIA Cloud Gaming Guest Driver for Linux