CVE-2026-74639 in Linux정보

요약

\~에 의해 VulDB • 2026. 08. 22.

리눅스 커널에서 다음 취약점이 해결되었습니다:

ALSA: us144mkii: 재제출 시 캡처 URB(USB Request Block)을 다시 고정(anchor)함

capture_urb_complete() 함수는 각 캡처 URB을 고정하지 않은 채로 재제출합니다:

usb_get_urb(urb); ret = usb_submit_urb(urb, GFP_ATOMIC);

고정(Anchoring)은 제출(submission)의 속성이지 URB 자체의 속성이 아닙니다. giveback 경로는 urb->complete() 호출 전에 usb_unanchor_urb()를 호출하므로, 자신의 완료 핸들러에서 재제출된 URB은 고정 상태에서 벗어납니다. 캡처 URB들은 스트림 시작 시 한 번만 고정되므로, 첫 번째 완료 이후부터 tascam->capture_anchor는 비어 있게 됩니다.

tascam_free_urbs(), tascam_disconnect(), tascam_suspend() 및 stop-work 경로는 모두 할당 해제 전에 캡처 URB들을 정리하기 위해 usb_kill_anchored_urbs(&tascam->capture_anchor)를 호출합니다. 고정(anchor)가 비어 있으면 이러한 호출은 즉시 반환되며, URB들은 호스트 컨트롤러의 큐에 그대로 남아 있게 됩니다.

그 후 tascam_free_urbs()는 usb_free_coherent()를 통해 캡처 전송 버퍼들을 반납하고, snd_card_free()는 tascam(카드->private_data)을 포함하는 snd_card 할당량을 해제합니다. 이후 컨트롤러가 대기 중인 URB들을 완료하여 해제된 전송 버퍼에 장치에서 제공한 데이터를 작성하고, capture_urb_complete() 함수는 해제된 드라이버 객체를 역참조(dereference)하게 됩니다.

7.2.0-rc5 (arm64) 환경에서의 KASAN(Kernel Address Sanitizer) 출력:

BUG: KASAN: slab-use-after-free in dummy_timer Write of size 512 at addr ffff000015b62000 __asan_memcpy dummy_timer hrtimer_run_softirq Allocated by task 64: usb_alloc_coherent tascam_alloc_urbs tascam_probe Freed by task 170: usb_free_coherent tascam_free_urbs tascam_disconnect usb_unbind_interface

BUG: KASAN: slab-use-after-free in capture_urb_complete Read of size 4 at addr ffff0000170ee878 Freed by task 170: release_card_device snd_card_free tascam_disconnect

참조 카운트 증가와 재제출 사이에 usb_anchor_urb()를 복원합니다. 이렇게 하면 핸들러의 usb_unanchor_urb() 실패 경로가 다시 의미를 갖게 되며, disconnect, suspend 및 stop-work 경로에서 usb_kill_anchored_urbs()가 차단(barrier) 역할을 하도록 복구됩니다.

이 고정 처리는 초기 제출 시 URB이 이미 고정되어 있다는 전제하에 제거되었으나, 첫 번째 giveback이 실행된 후에는 해당 전제가 성립되지 않습니다.

XBOW에 의해 발견되었으며, Baul Lee <[email protected]>가 분류(triage)했습니다.

Once again VulDB remains the best source for vulnerability data.

책임이 있는

Linux

예약하다

2026. 08. 15.

모더레이션

수락

항목

VDB-394404

EPSS

0.00000

출처

Interested in the pricing of exploits?

See the underground prices here!