🇰🇷 한글 설명
Android 및 Firefox OS MSM 기기의 Linux 커널 카메라 드라이버(msm_isp_stop_stats_stream)에서 사용자 공간으로부터 받은 stream_cfg_cmd->num_streams 값을 경계 검사 없이 사용하여 발생하는 버퍼 오버리드 취약점입니다. 악의적인 애플리케이션이 잘못된 스트림 개수를 전송하면 커널 메모리 범위를 초과하여 민감한 데이터를 읽을 수 있습니다.
💡 쉬운 설명
카메라 드라이버가 앱으로부터 받은 숫자를 제대로 검증하지 않습니다. 공격자가 범위를 초과한 숫자를 보내면 메모리에서 허가되지 않은 데이터를 읽을 수 있습니다.
🇺🇸 원문 (English)
In android for MSM, Firefox OS for MSM, QRD Android, with all Android releases from CAF using the Linux kernel, buffer over-read is possible in camera driver function msm_isp_stop_stats_stream. Variable stream_cfg_cmd->num_streams is from userspace, and it is not checked against "MSM_ISP_STATS_MAX".
📍 영향받는 시스템
Qualcomm MSM SoC 기반 Android (모든 CAF 버전), Firefox OS MSM, QRD Android
⚔️ 공격 벡터
로컬 공격: 카메라 권한이 있는 악의적 애플리케이션이 ioctl 호출을 통해 조작된 stream 개수 값 전송
🛡️ 대응 방법
Linux 커널 패치 적용 (CAF에서 제공), stream_cfg_cmd->num_streams에 MSM_ISP_STATS_MAX 경계값 검사 추가
🔧 검증 코드
msm_isp 드라이버가 로드되었으면 영향받을 수 있음. 커널 로그에서 카메라 드라이버 관련 메시지 확인, MSM 기기 여부 판단
dmesg | grep -iE 'msm_isp|camera.*driver' | tail -5