🇰🇷 한글 설명
Linux 커널의 wwan t7xx 드라이버에서 NAPI RX 폴링 처리 중 발생하는 취약점입니다. 사용자 평면의 연결 해제 작업으로 인해 netdev가 해제되었음에도 불구하고, 폴링 로직에서 유효하지 않은 netdev를 참조하여 커널 NULL 포인터 역참조 및 패닉(Panic)을 유발합니다.
💡 쉬운 설명
네트워크 연결이 끊어지는 순간 시스템이 잘못된 메모리 주소를 참조하여 컴퓨터가 갑자기 멈추거나 재부팅되는 현상이 발생할 수 있습니다. 이는 네트워크 드라이버의 처리 순서 오류로 인해 발생합니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: wwan: t7xx: Fix napi rx poll issue
When driver handles the napi rx polling requests, the netdev might
have been released by the dellink logic triggered by the disconnect
operation on user plane. However, in the logic of processing skb in
polling, an invalid netdev is still being used, which causes a panic.
BUG: kernel NULL pointer dereference, address: 00000000000000f1
Oops: 0000 [#1] PREEMPT SMP NOPTI
RIP: 0010:dev_gro_receive+0x3a/0x620
[...]
Call Trace:
<IRQ>
? __die_body+0x68/0xb0
? page_fault_oops+0x379/0x3e0
? exc_page_fault+0x4f/0xa0
? asm_exc_page_fault+0x22/0x30
? __pfx_t7xx_ccmni_recv_skb+0x10/0x10 [mtk_t7xx (HASH:1400 7)]
? dev_gro_receive+0x3a/0x620
napi_gro_receive+0xad/0x170
t7xx_ccmni_recv_skb+0x48/0x70 [mtk_t7xx (HASH:1400 7)]
t7xx_dpmaif_napi_rx_poll+0x590/0x800 [mtk_t7xx (HASH:1400 7)]
net_rx_action+0x103/0x470
irq_exit_rcu+0x13a/0x310
sysvec_apic_timer_interrupt+0x56/0x90
</IRQ>
📍 영향받는 시스템
Linux kernel (mtk_t7xx 드라이버를 사용하는 WWAN 관련 시스템)
⚔️ 공격 벡터
사용자 평면에서 의도적으로 네트워크 연결 해제(disconnect)를 유도하여 커널 패닉 유발
🛡️ 대응 방법
커널 패치가 적용된 최신 버전의 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전인지 배포판 보안 공지를 통해 확인