🇰🇷 한글 설명
Linux 커널의 media: usbtv 드라이버에서 USB 장치가 연결 해제된 후에도 ALSA 카드가 남아있을 때 발생하는 메모리 해제 오류입니다. USB 연결 해제 시 V4L2 장치 참조가 먼저 해제되어, 이후 ALSA가 파일을 닫을 때 이미 해제된 메모리에 접근하는 Use-After-Free 취약점이 존재합니다.
💡 쉬운 설명
USB TV 장치를 사용 중에 갑자기 뽑으면 컴퓨터 메모리 관리 오류가 발생할 수 있습니다. 이로 인해 시스템이 불안정해지거나 보안 문제가 생길 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
media: usbtv: keep device alive while ALSA card exists
The ALSA PCM callbacks store the driver state in pcm->private_data. An
open PCM file can outlive USB disconnect because usbtv_audio_free() uses
snd_card_free_when_closed(). The disconnect path can then drop the V4L2
device reference and free struct usbtv before ALSA releases the substream,
so a later close dereferences freed memory in snd_usbtv_pcm_close().
Take a V4L2 device reference for the ALSA card and drop it from the card
private_free callback. This keeps struct usbtv valid until ALSA has closed
the remaining files and freed the card.
📍 영향받는 시스템
Linux kernel (media: usbtv driver 포함 버전)
⚔️ 공격 벡터
USB 장치 연결 해제 시 발생하는 레이스 컨디션 및 메모리 해제 오류를 이용한 로컬 공격
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.