🇰🇷 한글 설명
Linux kernel 2.6.39 이전 버전의 v4l2-ioctl.c의 video_usercopy 함수가 v4l2_ext_controls 구조체의 count 값을 kmalloc 크기 결정에 사용합니다. 로컬 공격자가 count에 큰 값을 입력하여 과도한 메모리 할당을 유발하고 메모리 고갈 및 서비스 거부를 초래할 수 있습니다.
💡 쉬운 설명
비디오 드라이버의 코드에 입력값 검증이 없어서 악의적인 사용자가 매우 큰 숫자를 입력할 수 있습니다. 이로 인해 시스템의 메모리가 모두 소모되어 컴퓨터가 느려지거나 멈출 수 있습니다.
🇺🇸 원문 (English)
The video_usercopy function in drivers/media/video/v4l2-ioctl.c in the Linux kernel before 2.6.39 relies on the count value of a v4l2_ext_controls data structure to determine a kmalloc size, which might allow local users to cause a denial of service (memory consumption) via a large value.
📍 영향받는 시스템
Linux kernel 2.6.38 이하
⚔️ 공격 벡터
로컬 사용자가 v4l2 ioctl 호출 시 v4l2_ext_controls 구조체의 count 값에 큰 값을 설정
🛡️ 대응 방법
Linux kernel을 2.6.39 이상으로 업데이트
🔧 검증 코드
출력이 'Vulnerable'이면 패치 필요, 'Patched'이면 취약점이 수정됨
uname -r | grep -oE '^2\.(0-5|6\.[0-8]($|[^0-9]))' && echo 'Vulnerable' || echo 'Patched'