🔍 CVE-2026-68363

0.0
CVSS Score
UNKNOWN
2026-08-10
2026-08-19 17:20
✅ 완료

🇰🇷 한글 설명

Linux 커널의 ath9k 드라이버에서 비동기 펌웨어 로드 요청 후 hif_dev 구조체를 참조할 때 발생하는 Use-After-Free 취약점입니다. 펌웨어 로드 실패 시 장치 연결 해제(disconnect)가 발생하면 메모리가 해제되는데, 이후 코드에서 해제된 메모리에 접근하여 시스템 충돌이나 오류를 유발할 수 있습니다.

💡 쉬운 설명

무선 랜카드의 소프트웨어를 업데이트하는 과정에서, 장치가 갑자기 뽑히면 컴퓨터가 이미 삭제된 정보를 읽으려다 오류가 발생하는 문제입니다. 이로 인해 시스템이 멈추거나 불안정해질 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: wifi: ath9k: hif_usb: don't dereference hif_dev after re-arming firmware request ath9k_hif_request_firmware() re-arms an asynchronous firmware load via request_firmware_nowait(), passing hif_dev as the completion context, and then still dereferences hif_dev: dev_info(&hif_dev->udev->dev, "ath9k_htc: Firmware %s requested\n", hif_dev->fw_name); The re-armed callback ath9k_hif_usb_firmware_cb() runs on the "events" workqueue and, when the firmware is missing, walks the retry chain into ath9k_hif_usb_firmware_fail() -> complete_all(&hif_dev->fw_done). That releases the wait_for_completion(&hif_dev->fw_done) in a concurrent ath9k_hif_usb_disconnect(), which then kfree()s hif_dev. The trailing dev_info() in the frame that re-armed the request can therefore read freed memory (hif_dev->udev, the first field of struct hif_device_usb): BUG: KASAN: slab-use-after-free in ath9k_hif_request_firmware Read of size 8 ... by task kworker/... ath9k_hif_request_firmware ath9k_hif_usb_firmware_cb drivers/net/wireless/ath/ath9k/hif_usb.c:1247 request_firmware_work_func Allocated by ...: ath9k_hif_usb_probe drivers/net/wireless/ath/ath9k/hif_usb.c Freed by ...: ath9k_hif_usb_disconnect -> kfree drivers/net/wireless/ath/ath9k/hif_usb.c The fw_done barrier only makes disconnect wait for the firmware chain to *terminate*; it does not protect the outer ath9k_hif_request_firmware() frame that re-armed the request and keeps touching hif_dev afterwards. Drop the post-request dev_info(): it is the only use of hif_dev after the async request is armed, and it is purely informational (the dev_err() on the failure path runs only when request_firmware_nowait() did not arm a callback, so hif_dev is still alive there). This was first reported by syzbot as a single, non-reproduced crash that was later auto-obsoleted, and was independently rediscovered by the reFuzz fuzzer, which produced a C reproducer (USB-gadget connect/disconnect of an ath9k_htc device whose firmware download fails). The vulnerable code is unchanged and still present in v7.1-rc6, where the slab-use-after-free reproduces under KASAN once the (sub-microsecond) race window is widened.

📍 영향받는 시스템

Linux kernel (ath9k driver, v7.1-rc6 및 이전 버전 포함)

⚔️ 공격 벡터

ath9k_htc 장치의 USB 연결 및 해제를 반복하여 펌웨어 로드 실패 상황을 유도하는 레이스 컨디션 공격

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 해당 드라이버의 메모리 참조 로직을 수정해야 합니다.

🔧 검증 코드

출력된 커널 버전을 확인하여 취약점이 해결된 패치 버전 이상인지 확인합니다.

Shell / Script
uname -r

💻 영향받는 소프트웨어

NVIDIA vGPU Guest Driver for Linux