🇰🇷 한글 설명
Linux 커널의 AMD KFD (Kernel Fusion Debugger) 모듈에서 kfd_event_page_set() 함수가 버퍼 크기를 검증하지 않고 메모리 쓰기를 수행하는 취약점입니다. 권한 없는 사용자가 의도적으로 작은 버퍼를 전달하여 커널 메모리 영역을 초과 기록할 수 있습니다.
💡 쉬운 설명
리눅스 커널의 그래픽 드라이버 코드에서 메모리 크기 확인이 빠져있어, 악의적인 사용자가 의도적으로 메모리를 손상시킬 수 있는 문제입니다. 이를 악용하면 일반 사용자가 관리자 권한을 얻을 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
drm/amdkfd: Fix out-of-bounds write in kfd_event_page_set()
The kfd_event_page_set() function writes KFD_SIGNAL_EVENT_LIMIT * 8
bytes via memset without checking the buffer size parameter. This allows
unprivileged userspace to trigger an out-of bounds kernel memory write
by passing a small buffer, leading to potential privilege
escalation.
📍 영향받는 시스템
Linux kernel (AMD Radeon, AMD RDNA GPU 지원 시스템) - 6.x 및 이전 버전
⚔️ 공격 벡터
로컬 권한 없는 사용자가 kfd_event_page_set()에 작은 버퍼 크기 매개변수를 전달하여 커널 메모리 초과 기록 트리거
🛡️ 대응 방법
Linux 커널을 최신 패치 버전으로 업데이트하거나 커널 버그 수정 커밋 적용 (memset 전 버퍼 크기 검증 추가)
🔧 검증 코드
명령어가 커널 버전과 AMD KFD 드라이버 로드 상태를 확인합니다. 드라이버가 로드되어 있으면 업데이트된 커널 패치 적용 필요
uname -r | grep -E '^[0-9]+\.[0-9]+' && grep -i 'amdkfd\|amdgpu' /proc/modules && echo 'Vulnerable driver loaded'