🇰🇷 한글 설명
Linux 커널 iris 미디어 드라이버(gen2)에서 iris_kill_session 실행 중 inst->state가 IRIS_INST_ERROR로 설정되고 session_close가 호출되어 inst_hfi_gen2->packet이 메모리에서 해제된다. 이후 stop_streaming이 호출되면 해제된 메모리에 접근하여 커널 크래시가 발생하며, inst_hfi_gen2->packet에 대한 NULL 체크 추가로 수정 가능하다.
💡 쉬운 설명
비디오 처리 기능에서 메모리 정리와 중지 과정의 순서 문제로 인해 이미 해제된 메모리에 접근할 때 시스템이 다운된다. 메모리 접근 전 유효성을 확인하는 코드를 추가하면 해결된다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
media: iris: gen2: Add sanity check for session stop
In iris_kill_session, inst->state is set to IRIS_INST_ERROR and
session_close is executed, which will kfree(inst_hfi_gen2->packet).
If stop_streaming is called afterward, it will cause a crash.
Add a NULL check for inst_hfi_gen2->packet before sendling STOP packet
to firmware to fix that.
📍 영향받는 시스템
Linux kernel with iris media driver (gen2) modules, unpatched versions
⚔️ 공격 벡터
Local denial of service through improper media device session termination sequence
🛡️ 대응 방법
Apply kernel security patch adding NULL pointer check for inst_hfi_gen2->packet before STOP packet transmission
🔧 검증 코드
iris 모듈이 로드되면 취약한 드라이버 활성화 상태이며, kernel 버전을 확인 후 보안 업데이트 여부 확인 필요
lsmod | grep iris || echo 'iris_module_not_loaded'; uname -r