🇰🇷 한글 설명
Linux 커널 미디어 드라이버(mtk-mdp)의 probe 함수에서 에러 처리 미흡으로 인해 리소스 누수 및 null pointer dereference 취약점이 발생한다. 특히 vpu_get_plat_device() 호출 후 반환값 검증 부재와 reference count 정리 미흡이 핵심 문제다.
💡 쉬운 설명
이 취약점은 미디어 처리 드라이버가 시작할 때 메모리를 제대로 정리하지 않는 문제입니다. 초기화 실패 시 할당된 리소스가 남아있거나 null 포인터 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
media: mtk-mdp: Fix error handling in probe function
Add mtk_mdp_unregister_m2m_device() on the error handling path to prevent
resource leak.
Add check for the return value of vpu_get_plat_device() to prevent null
pointer dereference. And vpu_get_plat_device() increases the reference
count of the returned platform device. Add platform_device_put() to
prevent reference leak.
📍 영향받는 시스템
Linux kernel (mtk-mdp 드라이버 포함, 패치 전 모든 버전)
⚔️ 공격 벡터
로컬 공격, 드라이버 로드 또는 매체 장치 초기화 실패 시 메모리 누수 또는 커널 크래시 발생 가능
🛡️ 대응 방법
Linux kernel을 최신 버전으로 업데이트하여 mtk-mdp 드라이버 에러 처리 패치 적용
🔧 검증 코드
mtk-mdp 드라이버가 커널에 포함되거나 로드된 경우 해당 커널 버전에 대해 패치 여부를 확인해야 하며, 로드되지 않은 경우 이 취약점의 영향을 받지 않습니다.
grep -q 'mtk_mdp' /lib/modules/$(uname -r)/modules.builtin && echo 'mtk-mdp built-in' || lsmod | grep -q mtk_mdp && echo 'mtk-mdp loaded' || echo 'not loaded'