🔍 CVE-2025-38604

7.8
CVSS Score
HIGH
2025-08-19
2026-07-30 06:23
✅ 완료

🇰🇷 한글 설명

Linux 커널의 rtl818x Wi-Fi 드라이버에서 USB URB를 해제하기 전에 송신 상태 큐를 먼저 비워 발생하는 취약점입니다. 이로 인해 이미 해제된 skb(socket buffer)를 콜백 함수가 참조하게 되어 커널 NULL 포인터 역참조 및 시스템 충돌이 발생할 수 있습니다.

💡 쉬운 설명

Wi-Fi 장치를 종료할 때 데이터 처리 순서가 잘못되어, 이미 삭제된 메모리 영역을 컴퓨터가 다시 읽으려다 시스템이 멈추는 오류입니다. 이 문제는 장치가 데이터를 보내는 과정에서 메모리 관리 오류를 일으켜 발생합니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: wifi: rtl818x: Kill URBs before clearing tx status queue In rtl8187_stop() move the call of usb_kill_anchored_urbs() before clearing b_tx_status.queue. This change prevents callbacks from using already freed skb due to anchor was not killed before freeing such skb. BUG: kernel NULL pointer dereference, address: 0000000000000080 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: Oops: 0000 [#1] SMP NOPTI CPU: 7 UID: 0 PID: 0 Comm: swapper/7 Not tainted 6.15.0 #8 PREEMPT(voluntary) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 0.0.0 02/06/2015 RIP: 0010:ieee80211_tx_status_irqsafe+0x21/0xc0 [mac80211] Call Trace: <IRQ> rtl8187_tx_cb+0x116/0x150 [rtl8187] __usb_hcd_giveback_urb+0x9d/0x120 usb_giveback_urb_bh+0xbb/0x140 process_one_work+0x19b/0x3c0 bh_worker+0x1a7/0x210 tasklet_action+0x10/0x30 handle_softirqs+0xf0/0x340 __irq_exit_rcu+0xcd/0xf0 common_interrupt+0x85/0xa0 </IRQ> Tested on RTL8187BvE device. Found by Linux Verification Center (linuxtesting.org) with SVACE.

📍 영향받는 시스템

Linux kernel (rtl818x 드라이버를 사용하는 시스템, 특히 6.15.0 이전 버전)

⚔️ 공격 벡터

로컬 공격자가 특정 Wi-Fi 하드웨어 동작을 유도하여 커널 패닉(DoS)을 발생시킬 수 있음

🛡️ 대응 방법

rtl8187_stop() 함수 내에서 usb_kill_anchored_urbs() 호출 순서를 수정하여 패치된 최신 Linux 커널로 업데이트하십시오.

🔧 검증 코드

출력된 커널 버전이 취약점이 해결된 패치 버전인지 확인하십시오.

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel