🇰🇷 한글 설명
Linux 커널의 vduse 모듈에서 compat ioctl 처리 시 발생하는 취약점으로, 특정 명령어가 네이티브 핸들러로 잘못 전달되어 -ENOIOCTLCMD를 반환하는 문제가 있었습니다. 이 과정에서 receive_fd()의 반환값이 덮어씌워지면서 호출 시마다 파일 디스크립터(fd)가 누수되는 현상이 발생합니다.
💡 쉬운 설명
리눅스 시스템의 특정 기능(vduse)을 사용할 때, 명령 처리가 잘못되어 시스템 자원인 '파일 번호'가 계속 낭비되는 버그가 발견되었습니다. 이 문제가 지속되면 시스템 자원이 고갈되어 성능 저하나 오류가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
vduse: return compat ioctl results directly
The compat handler handles VDUSE_IOTLB_GET_FD and VDUSE_VQ_GET_INFO, but
then calls the native handler. Their different command sizes make native
dispatch return -ENOIOCTLCMD.
For GET_FD, this overwrites receive_fd()'s return value after the
descriptor is installed, leaking one fd per call. Return handled compat
results directly and use native dispatch only for other commands.
📍 영향받는 시스템
vduse 모듈을 사용하는 Linux Kernel (패치 적용 전 버전)
⚔️ 공격 벡터
로컬 사용자가 vduse 관련 ioctl 명령을 반복 호출하여 파일 디스크립터 누수 유도
🛡️ 대응 방법
vduse 모듈의 ioctl 처리 로직이 수정된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 보안 패치 버전인지 확인