🇰🇷 한글 설명
Linux 커널의 iommufd 셀프테스트 모듈에서 IOMMU_TEST_OP_ADD_RESERVED 처리 시 입력 길이 검증이 누락되어 정수 오버플로우가 발생할 수 있습니다. 이로 인해 예약 구간 트리가 손상되고 WARN_ON이 트리거될 수 있으며, 이 문제는 CONFIG_IOMMUFD_TEST가 활성화된 테스트 커널에만 영향을 줍니다.
💡 쉬운 설명
리눅스 커널의 IOMMU 테스트 기능에서 입력값 길이를 확인하지 않아 내부 계산이 넘치는 문제입니다. 테스트용 커널에서만 발생하며 일반 운영 환경에는 영향이 제한적입니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
iommufd/selftest: Check for overflow in IOMMU_TEST_OP_ADD_RESERVED
syzkaller found it could overflow math in the test infrastructure and
cause a WARN_ON by corrupting the reserved interval tree. This only
effects test kernels with CONFIG_IOMMUFD_TEST.
Validate the user input length in the test ioctl.
📍 영향받는 시스템
CONFIG_IOMMUFD_TEST가 활성화된 Linux 커널 빌드 (테스트용 커널 한정)
⚔️ 공격 벡터
권한이 있는 로컬 사용자가 iommufd 테스트 ioctl에 비정상적인 길이 값을 전달하여 내부 자료구조를 손상시킴
🛡️ 대응 방법
패치된 Linux 커널 버전으로 업데이트하거나, 해당 테스트 옵션(CONFIG_IOMMUFD_TEST)을 비활성화하여 빌드
🔧 검증 코드
CONFIG_IOMMUFD_TEST=y 또는 =m이면 영향을 받을 수 있으며, 출력된 커널 버전을 배포판의 패치 목록과 대조해 수정 여부를 확인합니다.
grep CONFIG_IOMMUFD_TEST /boot/config-$(uname -r) 2>/dev/null; uname -r