🇰🇷 한글 설명
Linux 커널의 ov5647 카메라 센서 드라이버에서 서브디바이스 초기화 전에 제어 함수가 호출되어 초기화되지 않은 메모리 접근으로 인한 segfault 발생 가능. 프로브 함수에서 v4l2_i2c_subdev_init()을 ov5647_init_controls() 이전에 호출하도록 수정.
💡 쉬운 설명
카메라 드라이버 시작 순서가 잘못되어 아직 준비되지 않은 부분에 접근할 때 프로그램 충돌 발생. 초기화 순서를 정정하면 해결.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
media: i2c: ov5647: Initialize subdev before controls
In ov5647_init_controls() we call v4l2_get_subdevdata, but it is
initialized by v4l2_i2c_subdev_init() in the probe, which currently
happens after init_controls(). This can result in a segfault if the
error condition is hit, and we try to access i2c_client, so fix the
order.
📍 영향받는 시스템
Linux kernel의 ov5647 i2c 미디어 드라이버 (drivers/media/i2c/ov5647.c)
⚔️ 공격 벡터
로컬에서 카메라 장치 드라이버 로드 또는 제어 초기화 작업 수행 시 segfault 트리거
🛡️ 대응 방법
Linux 커널을 이 취약점을 수정한 버전으로 업그레이드
🔧 검증 코드
커널 버전 확인 후 ov5647 드라이버 버전 정보 표시, 드라이버가 없으면 알림 표시
uname -r && modinfo ov5647 2>/dev/null | grep -i version || echo 'ov5647 driver not available'