🇰🇷 한글 설명
Linux 커널의 mt9m114 미디어 드라이버에서 get_frame_interval 및 set_frame_interval 함수 호출 시 데드락(Deadlock)이 발생하는 취약점입니다. V4L2 서브디브 패드 작업 시 드라이버 내부에서 중복으로 잠금(Lock)을 시도하여 시스템이 멈출 수 있는 문제입니다.
💡 쉬운 설명
카메라 관련 장치를 제어하는 과정에서 소프트웨어가 서로의 자원을 기다리며 무한 대기에 빠지는 현상이 발생할 수 있습니다. 이로 인해 시스템이 응답하지 않거나 멈출 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
media: mt9m114: Fix deadlock in get_frame_interval/set_frame_interval
Getting / Setting the frame interval using the V4L2 subdev pad ops
get_frame_interval/set_frame_interval causes a deadlock, as the
subdev state is locked in the [1] but also in the driver itself.
In [2] it's described that the caller is responsible to acquire and
release the lock in this case. Therefore, acquiring the lock in the
driver is wrong.
Remove the lock acquisitions/releases from mt9m114_ifp_get_frame_interval()
and mt9m114_ifp_set_frame_interval().
[1] drivers/media/v4l2-core/v4l2-subdev.c - line 1129
[2] Documentation/driver-api/media/v4l2-subdev.rst
📍 영향받는 시스템
mt9m114 드라이버를 사용하는 Linux 커널 시스템
⚔️ 공격 벡터
로컬 사용자가 V4L2 인터페이스를 통해 특정 프레임 간격 설정 명령을 반복적으로 호출하여 발생 가능
🛡️ 대응 방법
mt9m114 드라이버의 잠금 메커니즘을 수정하여 데드락을 해결한 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 버전인지 확인