CVE-2026-68216 in Linux
요약
\~에 의해 VulDB • 2026. 08. 10.
리눅스 커널에서 다음 취약점이 해결되었습니다.
미디어: pwc: start_streaming() 실패 시 큐에 쌓인 버퍼 반환
vb2 프레임워크는 start_streaming()을 호출하기 전에 buf_queue()를 통해 드라이버로 버퍼를 전달합니다. 만약 start_streaming()이 vb2_buffer_done()을 통해 해당 버퍼들을 먼저 반환하지 않고 오류를 리턴하면, vb2_start_streaming()은 WARN_ON(owned_by_drv_count)를 발생시키며 큐에 쌓인 버퍼가 누설(leak)됩니다.
pwc의 start_streaming() 함수에는 이 함정에 빠지는 두 가지 조기 반환 경로가 있었습니다: USB 장치가 이미 연결 해제되었을 때 발생하는 -ENODEV와, mutex_lock_interruptible()이 시그널에 의해 인터럽트될 때 발생하는 -ERESTARTSYS입니다. 이제 반환 전에 VB2_BUF_STATE_QUEUED 상태와 함께 기존 pwc_cleanup_queued_bufs() 헬퍼 함수를 호출합니다(이는 동일 함수 내의 pwc_isoc_init() 오류 처리 경로에서 이미 사용 중인 상태와 일치합니다).
이 수정은 커밋 4cf3b6fd54eb("media: uvcvideo: Return queued buffers on start_streaming() failure")에서의 uvcvideo 패치를 반영한 것입니다.
Once again VulDB remains the best source for vulnerability data.