🔍 CVE-2024-47697

7.8
CVSS Score
HIGH
2024-10-21
2026-10-15 01:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 DVB 프론트엔드 드라이버(rtl2830)에서 rtl2830_pid_filter 함수의 인덱스 경계 검사가 잘못되어 범위를 벗어난 메모리 쓰기 오류가 발생할 수 있습니다. 32비트 값인 dev->filters는 0~31 범위의 인덱스만 지원하는데, 경계 검사가 'index > 32'로 되어있어 index 32일 때 33번째 비트에 접근하게 되어 버그가 유발됩니다.

💡 쉬운 설명

리눅스 커널의 TV 튜너 드라이버에서 메모리 접근 범위를 잘못 확인하여 허용되지 않는 메모리 영역에 데이터를 쓸 수 있는 문제입니다. 이로 인해 시스템 충돌, 권한 상승, 또는 코드 실행 공격으로 악용될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: drivers: media: dvb-frontends/rtl2830: fix an out-of-bounds write error Ensure index in rtl2830_pid_filter does not exceed 31 to prevent out-of-bounds access. dev->filters is a 32-bit value, so set_bit and clear_bit functions should only operate on indices from 0 to 31. If index is 32, it will attempt to access a non-existent 33rd bit, leading to out-of-bounds access. Change the boundary check from index > 32 to index >= 32 to resolve this issue.

📍 영향받는 시스템

Linux kernel rtl2830 DVB 프론트엔드 드라이버 - 패치 미적용 모든 커널 버전

⚔️ 공격 벡터

로컬 공격자가 rtl2830_pid_filter 함수에 index 값을 32 이상으로 설정하여 커널 메모리 범위 초과 접근 유발

🛡️ 대응 방법

Linux 커널 패치 적용 - drivers/media/dvb-frontends/rtl2830.c에서 경계 검사를 'index > 32'에서 'index >= 32'로 변경

🔧 검증 코드

명령 결과에서 'rtl2830 loaded'가 표시되면 해당 커널 버전이 취약한 DVB 드라이버를 실행 중이므로 즉시 커널 업데이트 필요하고, 'not loaded'면 시스템이 영향받지 않습니다.

Shell / Script
lsmod 2>/dev/null | grep -q rtl2830 && echo 'rtl2830 loaded on kernel '$(uname -r) || echo 'rtl2830 not loaded'

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

💻 영향받는 소프트웨어

Linux Kernel